##

OccupiedEventSource Class Reference

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...

## Detailed Description

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>
    ///

## Constructor & Destructor Documentation

## OccupiedEventSource()

OccupiedEventSource | ( | transport::PublisherPtr | _pub,
|  | physics::WorldPtr | _world,
|  | const std::map< std::string, RegionPtr > & | _regions
| ) |  |

## ~OccupiedEventSource()

~OccupiedEventSource | ( |  | ) |

default

Destructor.

## Member Function Documentation

## Emit()

void Emit | ( | const std::string & | _data | ) | const

inherited

emit an event with data to the internal publisher (and using the internal type)

Parameters

  [in] | _data | the JSON data related to this event.

## Init()

virtual void Init | ( |  | ) |

virtual inherited

Initialize the event.

Reimplemented in JointEventSource, and InRegionEventSource.

## IsActive()

virtual bool IsActive | ( |  | ) | const

virtual inherited

An event source can be used to enable other events.

Inactive events do not generate an message when Emit is called.

Returns
  true if the event is active

## Load()

virtual void Load | ( | const sdf::ElementPtr | _sdf | ) |

virtual

Load from an sdf element (with possible configuration data)

Parameters

  [in] | _sdf | the sdf element for the event in the world file

Reimplemented from EventSource.

## Member Data Documentation

## active

bool active

protected inherited

True if the event source is active.

Inactive event sources do not emit events

## msg

msgs::GzString msg

String message that is transmitted when an event occurs.

## msgPub

transport::PublisherPtr msgPub

Publisher that transmits the message when an event occurs.

## name

std::string name

protected inherited

Name of the event.

## pub

transport::PublisherPtr pub

protected inherited

a way to send messages to the other topics (to the REST)

## type

std::string type

protected inherited

Type of event.

## world

physics::WorldPtr world

protected inherited

Pointer to the world.

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

- OccupiedEventSource.hh