A plugin that transmits a message when an in-region event occurs. More...
#include <OccupiedEventSource.hh>
Inherits EventSource.
Public Member Functions | |
OccupiedEventSource (transport::PublisherPtr _pub, physics::WorldPtr _world, const std::map< std::string, RegionPtr > &_regions) | |
~OccupiedEventSource ()=default | |
Destructor. More... | |
void | Emit (const std::string &_data) const |
emit an event with data to the internal publisher (and using the internal type) More... | |
virtual void | Init () |
Initialize the event. More... | |
virtual bool | IsActive () const |
An event source can be used to enable other events. More... | |
virtual void | Load (const sdf::ElementPtr _sdf) |
Load from an sdf element (with possible configuration data) More... | |
Public Attributes | |
msgs::GzString | msg |
String message that is transmitted when an event occurs. More... | |
transport::PublisherPtr | msgPub |
Publisher that transmits the message when an event occurs. More... | |
Protected Attributes | |
bool | active |
True if the event source is active. More... | |
std::string | name |
Name of the event. More... | |
transport::PublisherPtr | pub |
a way to send messages to the other topics (to the REST) More... | |
std::string | type |
Type of event. More... | |
physics::WorldPtr | world |
Pointer to the world. More... | |
A plugin that transmits a message when an in-region event occurs.
Events are specified in SDF. The following is example usage:
/// <plugin filename="libSimEventsPlugin.so" name="event_plugin"> /// <region> /// <name>region1</name> /// <volume> /// <min>1.5 -1 0</min> /// <max>2.5 1 1</max> /// </volume> /// </region> /// /// <event> /// <name>region1_event</name> /// <type>occupied</type> /// <topic>~/elevator</topic> /// <region>region1</region> /// <msg_data>0</msg_data> /// </event> /// </plugin> ///
OccupiedEventSource | ( | transport::PublisherPtr | _pub, |
physics::WorldPtr | _world, | ||
const std::map< std::string, RegionPtr > & | _regions | ||
) |
|
default |
Destructor.
|
inherited |
emit an event with data to the internal publisher (and using the internal type)
[in] | _data | the JSON data related to this event. |
|
virtualinherited |
Initialize the event.
Reimplemented in JointEventSource, and InRegionEventSource.
|
virtualinherited |
An event source can be used to enable other events.
Inactive events do not generate an message when Emit is called.
|
virtual |
Load from an sdf element (with possible configuration data)
[in] | _sdf | the sdf element for the event in the world file |
Reimplemented from EventSource.
|
protectedinherited |
True if the event source is active.
Inactive event sources do not emit events
msgs::GzString msg |
String message that is transmitted when an event occurs.
transport::PublisherPtr msgPub |
Publisher that transmits the message when an event occurs.
|
protectedinherited |
Name of the event.
|
protectedinherited |
a way to send messages to the other topics (to the REST)
|
protectedinherited |
Type of event.
|
protectedinherited |
Pointer to the world.