RegionEventBoxPlugin Class Reference

A plugin that fires an event when another model enters the region defined by the size of this model's box visual. More...

#include <RegionEventBoxPlugin.hh>

Inherits ModelPlugin.

Public Types

typedef boost::shared_ptr
< ModelPlugin
TPtr
 plugin pointer type definition More...
 

Public Member Functions

 RegionEventBoxPlugin ()
 Constructor. More...
 
std::string GetFilename () const
 Get the name of the handler. More...
 
std::string GetHandle () const
 Get the short name of the handler. More...
 
PluginType GetType () const
 Returns the type of the plugin. More...
 
virtual void Init ()
 Override this method for custom plugin initialization behavior. More...
 
void Load (physics::ModelPtr _parent, sdf::ElementPtr _sdf)
 Load function. More...
 
void OnModelMsg (ConstModelPtr &_msg)
 Callback when a model message is received. More...
 
void OnUpdate (const common::UpdateInfo &_info)
 Updates the box event plugin at every physics iteration. More...
 
virtual void Reset ()
 Override this method for custom plugin reset behavior. More...
 

Static Public Member Functions

static TPtr Create (const std::string &_filename, const std::string &_name)
 a class method that creates a plugin from a file name. More...
 

Public Attributes

transport::NodePtr node
 Transport node pointer. More...
 
std::mutex receiveMutex
 Mutex to protect incoming messages. More...
 

Protected Attributes

std::string filename
 Path to the shared library file. More...
 
std::string handleName
 Short name. More...
 
PluginType type
 Type of plugin. More...
 

Detailed Description

A plugin that fires an event when another model enters the region defined by the size of this model's box visual.

///   <plugin filename="libRegionEventBoxPlugin.so" name="region_event_box">
///     <event>
///       <name>model_in_region_event_box</name>
///       <type>inclusion</type>
///       <active>true</active>
///     </event>
///   </plugin>
/// 

Member Typedef Documentation

typedef boost::shared_ptr<ModelPlugin > TPtr
inherited

plugin pointer type definition

Constructor & Destructor Documentation

Constructor.

Member Function Documentation

static TPtr Create ( const std::string &  _filename,
const std::string &  _name 
)
inlinestaticinherited

a class method that creates a plugin from a file name.

It locates the shared library and loads it dynamically.

Parameters
[in]_filenamethe path to the shared library.
[in]_nameshort name of the plugin
Returns
Shared Pointer to this class type

References PluginT< T >::filename, gzerr, and SingletonT< SystemPaths >::Instance().

std::string GetFilename ( ) const
inlineinherited

Get the name of the handler.

References PluginT< T >::filename.

std::string GetHandle ( ) const
inlineinherited

Get the short name of the handler.

References PluginT< T >::handleName.

PluginType GetType ( ) const
inlineinherited

Returns the type of the plugin.

Returns
type of the plugin

References PluginT< T >::type.

virtual void Init ( )
inlinevirtualinherited
void Load ( physics::ModelPtr  _model,
sdf::ElementPtr  _sdf 
)
virtual

Load function.

Called when a Plugin is first created, and after the World has been loaded. This function should not be blocking.

Parameters
[in]_modelPointer to the Model
[in]_sdfPointer to the SDF element of the plugin.

Implements ModelPlugin.

void OnModelMsg ( ConstModelPtr &  _msg)

Callback when a model message is received.

Parameters
[in]_msgmodel msg
void OnUpdate ( const common::UpdateInfo _info)

Updates the box event plugin at every physics iteration.

Parameters
[in]_infoUpdate info
virtual void Reset ( )
inlinevirtualinherited

Override this method for custom plugin reset behavior.

Reimplemented in RandomVelocityPlugin, ElevatorPlugin, FollowerPlugin, LinearBatteryPlugin, InitialVelocityPlugin, and SphereAtlasDemoPlugin.

Member Data Documentation

std::string filename
protectedinherited

Path to the shared library file.

std::string handleName
protectedinherited

Short name.

Transport node pointer.

std::mutex receiveMutex

Mutex to protect incoming messages.

PluginType type
protectedinherited

Type of plugin.

Referenced by ModelPlugin::ModelPlugin().


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