Gazebo Sim

API Reference

8.6.0
Sensor Class Reference

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::stringName (const EntityComponentManager &_ecm) const
 Get the sensor's unscoped name. More...
 
std::optional< sim::EntityParent (const EntityComponentManager &_ecm) const
 Get the parent entity. This can be a link or a joint. More...
 
std::optional< math::Pose3dPose (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::stringTopic (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()

Sensor ( sim::Entity  _entity = kNullEntity)
explicit

Constructor.

Parameters
[in]_entitySensor entity

Member Function Documentation

◆ Entity()

sim::Entity Entity ( ) const

Get the entity which this Sensor is related to.

Returns
Sensor entity.

◆ Name()

std::optional<std::string> Name ( const EntityComponentManager _ecm) const

Get the sensor's unscoped name.

Parameters
[in]_ecmEntity-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]_ecmEntity-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]_ecmEntity-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]_newEntityNew sensor entity.

◆ Topic()

std::optional<std::string> Topic ( const EntityComponentManager _ecm) const

Get the topic of the sensor.

Parameters
[in]_ecmEntity-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]_ecmEntity-component manager.
Returns
True if it's a valid sensor in the manager.

The documentation for this class was generated from the following file: