This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager
directly. All the functions provided here are meant to be used with a sensor entity.
More...
#include <gz/sim/Sensor.hh>
Public Member Functions | |
Sensor (sim::Entity _entity=kNullEntity) | |
Constructor. More... | |
sim::Entity | Entity () const |
Get the entity which this Sensor is related to. More... | |
std::optional< std::string > | Name (const EntityComponentManager &_ecm) const |
Get the sensor's unscoped name. More... | |
std::optional< sim::Entity > | Parent (const EntityComponentManager &_ecm) const |
Get the parent entity. This can be a link or a joint. More... | |
std::optional< math::Pose3d > | Pose (const EntityComponentManager &_ecm) const |
Get the pose of the sensor. More... | |
void | ResetEntity (sim::Entity _newEntity) |
Reset Entity to a new one. More... | |
std::optional< std::string > | Topic (const EntityComponentManager &_ecm) const |
Get the topic of the sensor. More... | |
bool | Valid (const EntityComponentManager &_ecm) const |
Check whether this sensor correctly refers to an entity that has a components::Sensor. More... | |
Detailed Description
This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager
directly. All the functions provided here are meant to be used with a sensor entity.
For example, given a sensor's entity, find the value of its name component, one could use the entity-component manager (ecm
) directly as follows:
std::string name = ecm.Component<components::Name>(entity)->Data();
Using this class however, the same information can be obtained with a simpler function call:
Sensor sensor(entity); std::string name = sensor.Name(ecm);
Constructor & Destructor Documentation
◆ Sensor()
|
explicit |
Constructor.
- Parameters
-
[in] _entity Sensor entity
Member Function Documentation
◆ Entity()
sim::Entity Entity | ( | ) | const |
◆ Name()
std::optional<std::string> Name | ( | const EntityComponentManager & | _ecm | ) | const |
Get the sensor's unscoped name.
- Parameters
-
[in] _ecm Entity-component manager.
- Returns
- Sensor's name or nullopt if the entity does not have a components::Name component
◆ Parent()
std::optional<sim::Entity> Parent | ( | const EntityComponentManager & | _ecm | ) | const |
Get the parent entity. This can be a link or a joint.
- Parameters
-
[in] _ecm Entity-component manager.
- Returns
- Parent entity or nullopt if the entity does not have a components::ParentEntity component.
◆ Pose()
std::optional<math::Pose3d> Pose | ( | const EntityComponentManager & | _ecm | ) | const |
Get the pose of the sensor.
- Parameters
-
[in] _ecm Entity-component manager.
- Returns
- Pose of the sensor or nullopt if the entity does not have a components::Pose component.
◆ ResetEntity()
void ResetEntity | ( | sim::Entity | _newEntity | ) |
Reset Entity to a new one.
- Parameters
-
[in] _newEntity New sensor entity.
◆ Topic()
std::optional<std::string> Topic | ( | const EntityComponentManager & | _ecm | ) | const |
Get the topic of the sensor.
- Parameters
-
[in] _ecm Entity-component manager.
- Returns
- Topic of the sensor or nullopt if the entity does not have a components::SensorTopic component.
◆ Valid()
bool Valid | ( | const EntityComponentManager & | _ecm | ) | const |
Check whether this sensor correctly refers to an entity that has a components::Sensor.
- Parameters
-
[in] _ecm Entity-component manager.
- Returns
- True if it's a valid sensor in the manager.
The documentation for this class was generated from the following file: