Gazebo Sim
API Reference
8.7.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
environmental_sensor_system
EnvironmentalSensorSystem.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
#ifndef GZ_ENVIRONMENTAL_SYSTEM_HH_
18
#define GZ_ENVIRONMENTAL_SYSTEM_HH_
19
20
#include <
gz/sim/System.hh
>
21
#include <
gz/sensors/Sensor.hh
>
22
#include <
gz/transport/Node.hh
>
23
24
#include <memory>
25
26
namespace
gz
27
{
28
namespace
sim
29
{
30
class
EnvironmentalSensorSystemPrivate;
67
class
EnvironmentalSensorSystem
:
68
public
gz::sim::System
,
69
public
gz::sim::ISystemConfigure
,
70
public
gz::sim::ISystemPreUpdate
,
71
public
gz::sim::ISystemPostUpdate
72
{
73
public
:
EnvironmentalSensorSystem
();
75
public
:
void
Configure
(
76
const
gz::sim::Entity
&_entity,
77
const
std::shared_ptr<const sdf::Element>
&_sdf,
78
gz::sim::EntityComponentManager
&_ecm,
79
gz::sim::EventManager
&
/*_eventMgr*/
)
override
;
80
81
// Documentation inherited.
82
// During PreUpdate, check for new sensors that were inserted
83
// into simulation and create more components as needed.
84
public
:
void
PreUpdate
(
const
gz::sim::UpdateInfo
&_info,
85
gz::sim::EntityComponentManager
&_ecm)
final
;
86
87
// Documentation inherited.
88
// During PostUpdate, update the known sensors and publish their data.
89
// Also remove sensors that have been deleted.
90
public
:
void
PostUpdate
(
const
gz::sim::UpdateInfo
&_info,
91
const
gz::sim::EntityComponentManager
&_ecm)
final
;
92
93
private
:
std::unique_ptr<EnvironmentalSensorSystemPrivate>
dataPtr;
94
};
95
}
96
}
97
98
#endif