Plugin that applies a random velocity to a linke periodically. More...
#include <RandomVelocityPlugin.hh>
Inherits ModelPlugin.
Public Types | |
typedef boost::shared_ptr < ModelPlugin > | TPtr |
plugin pointer type definition More... | |
Public Member Functions | |
RandomVelocityPlugin () | |
Constructor. More... | |
~RandomVelocityPlugin () | |
Destructor. 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... | |
virtual void | Load (physics::ModelPtr _model, sdf::ElementPtr _sdf) |
Load function. 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... | |
Protected Attributes | |
std::string | filename |
Path to the shared library file. More... | |
std::string | handleName |
Short name. More... | |
PluginType | type |
Type of plugin. More... | |
Plugin that applies a random velocity to a linke periodically.
/// <!-- Apply a random velocity to the specified link--> /// <!-- In this example, we move a box around. A key property of the link /// is the frictionless surface --> /// <plugin name="random" filename="libRandomVelocityPlugin.so"> /// /// <!-- Name of the link in this model that receives the velocity --> /// <link>link</link> /// /// <!-- Initial velocity that is applied to the link --> /// <initial_velocity>0 0.5 0</initial_velocity> /// /// <!-- Scaling factor that is used to compute a new velocity --> /// <velocity_factor>0.5</velocity_factor> /// /// <!-- Time, in seconds, between new velocities --> /// <update_period>5</update_period> /// /// <!-- Clamp the X velocity value to between -1 and 1.--> /// <min_x>-1</min_x> /// <max_x>1</max_x> /// /// <!-- Clamp the Y velocity value to between 0 and 1.--> /// <min_y>0</min_y> /// <max_y>1</max_y> /// /// <!-- Clamp the Z velocity value to zero.--> /// <min_z>0</min_z> /// <max_z>0</max_z> /// </plugin> ///
See worlds/random_velocity.world for a complete example.
|
inherited |
plugin pointer type definition
Constructor.
~RandomVelocityPlugin | ( | ) |
Destructor.
|
inlinestaticinherited |
a class method that creates a plugin from a file name.
It locates the shared library and loads it dynamically.
[in] | _filename | the path to the shared library. |
[in] | _name | short name of the plugin |
References PluginT< T >::filename, gzerr, and SingletonT< SystemPaths >::Instance().
|
inlineinherited |
Get the name of the handler.
References PluginT< T >::filename.
|
inlineinherited |
Get the short name of the handler.
References PluginT< T >::handleName.
|
inlineinherited |
|
inlinevirtualinherited |
Override this method for custom plugin initialization behavior.
Reimplemented in BuoyancyPlugin, FollowerPlugin, VehiclePlugin, LinearBatteryPlugin, MudPlugin, CartDemoPlugin, SphereAtlasDemoPlugin, and DiffDrivePlugin.
|
virtual |
Load function.
Called when a Plugin is first created, and after the World has been loaded. This function should not be blocking.
[in] | _model | Pointer to the Model |
[in] | _sdf | Pointer to the SDF element of the plugin. |
Implements ModelPlugin.
|
virtual |
Override this method for custom plugin reset behavior.
Reimplemented from ModelPlugin.
|
protectedinherited |
Path to the shared library file.
|
protectedinherited |
Short name.
|
protectedinherited |
Type of plugin.
Referenced by ModelPlugin::ModelPlugin().