Gazebo Sim
API Reference
7.9.0
insert_drive_file
Tutorials
library_books
Classes
toc
Namespaces
insert_drive_file
Files
launch
Gazebo Website
Index
List
Hierarchy
Members: All
Members: Functions
Members: Variables
Members: Typedefs
Members: Enumerations
Members: Enumerator
List
Members
Functions
Typedefs
Variables
Enumerations
Enumerator
src
gz-sim
src
systems
acoustic_comms
AcousticComms.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2022 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
18
/*
19
* Development of this module has been funded by the Monterey Bay Aquarium
20
* Research Institute (MBARI) and the David and Lucile Packard Foundation
21
*/
22
#ifndef GZ_SIM_SYSTEMS_ACOUSTICCOMMS_HH_
23
#define GZ_SIM_SYSTEMS_ACOUSTICCOMMS_HH_
24
25
#include <memory>
26
#include <string>
27
#include <tuple>
28
#include <unordered_map>
29
30
#include <sdf/sdf.hh>
31
#include <gz/math/Rand.hh>
32
#include "
gz/sim/comms/ICommsModel.hh
"
33
#include <
gz/sim/System.hh
>
34
#include <
gz/sim/Entity.hh
>
35
#include <
gz/sim/EntityComponentManager.hh
>
36
#include <
gz/sim/EventManager.hh
>
37
38
namespace
gz
39
{
40
namespace
sim
41
{
42
// Inline bracket to help doxygen filtering.
43
inline
namespace
GZ_SIM_VERSION_NAMESPACE {
44
namespace
systems
45
{
96
97
class
AcousticComms
:
98
public
gz::sim::comms::ICommsModel
99
{
100
public
:
explicit
AcousticComms
();
101
102
// Documentation inherited.
103
public
:
void
Load(
const
gz::sim::Entity
&_entity,
104
std::shared_ptr<const sdf::Element>
_sdf,
105
gz::sim::EntityComponentManager
&_ecm,
106
gz::sim::EventManager
&_eventMgr)
override
;
107
108
// Documentation inherited.
109
public
:
void
Step(
const
gz::sim::UpdateInfo
&_info,
110
const
gz::sim::comms::Registry
&_currentRegistry,
111
gz::sim::comms::Registry
&_newRegistry,
112
gz::sim::EntityComponentManager
&_ecm)
override
;
113
114
// Impl pointer
115
GZ_UTILS_UNIQUE_IMPL_PTR(dataPtr)
116
};
117
}
118
}
119
}
120
}
121
122
#endif