Flatland
Classes | Public Member Functions | Public Attributes | List of all members
flatland_plugins::Bumper Class Reference

#include <bumper.h>

Inheritance diagram for flatland_plugins::Bumper:
Inheritance graph
[legend]
Collaboration diagram for flatland_plugins::Bumper:
Collaboration graph
[legend]

Classes

struct  ContactState
 

Public Member Functions

void OnInitialize (const YAML::Node &config) override
 Initialization for the plugin. More...
 
void BeforePhysicsStep (const Timekeeper &timekeeper) override
 Called when just before physics update. More...
 
void AfterPhysicsStep (const Timekeeper &timekeeper) override
 Called when just after physics update. More...
 
void BeginContact (b2Contact *contact) override
 A method that is called for all Box2D begin contacts. More...
 
void EndContact (b2Contact *contact) override
 A method that is called for all Box2D end contacts. More...
 
void PostSolve (b2Contact *contact, const b2ContactImpulse *impulse) override
 A method that is called for Box2D postsolve. More...
 
- Public Member Functions inherited from flatland_server::ModelPlugin
ModelGetModel ()
 Get model.
 
void Initialize (const std::string &type, const std::string &name, Model *model, const YAML::Node &config)
 The method to initialize the ModelPlugin, required since Pluginlib require the class to have a default constructor. More...
 
bool FilterContact (b2Contact *contact, Entity *&entity, b2Fixture *&this_fixture, b2Fixture *&other_fixture)
 Helper function check if this model is part of the contact, and extracts all the useful information. More...
 
bool FilterContact (b2Contact *contact)
 Helper function check if this model is part of the contact. More...
 
- Public Member Functions inherited from flatland_server::FlatlandPlugin
const PluginType Type ()
 
const std::string & GetName () const
 Get plugin name.
 
const std::string & GetType () const
 Get type of plugin.
 
virtual void PreSolve (b2Contact *contact, const b2Manifold *oldManifold)
 A method that is called for Box2D presolve. More...
 
virtual ~FlatlandPlugin ()=default
 Flatland plugin destructor.
 

Public Attributes

std::string topic_name_
 
std::string world_frame_id_
 name of the world frame id
 
std::vector< Body * > excluded_bodies_
 
bool publish_all_collisions_
 whether to publish all collisions, or strictly adhere to update rate
 
double update_rate_
 rate to publish message at
 
UpdateTimer update_timer_
 for managing update rate
 
std::map< b2Contact *, ContactStatecontact_states_
 For keeping track of contacts.
 
ros::Publisher collisions_publisher_
 For publishing the collisions.
 
- Public Attributes inherited from flatland_server::ModelPlugin
ros::NodeHandle nh_
 ROS node handle.
 
- Public Attributes inherited from flatland_server::FlatlandPlugin
std::string type_
 type of the plugin
 
std::string name_
 name of the plugin
 
ros::NodeHandle nh_
 
PluginType plugin_type_
 

Additional Inherited Members

- Public Types inherited from flatland_server::FlatlandPlugin
enum  PluginType { Invalid, Model, World }
 
- Protected Member Functions inherited from flatland_server::ModelPlugin
 ModelPlugin ()=default
 Model plugin default constructor.
 

Detailed Description

This class defines a bumper plugin that is used to publish the collisions states of bodies in the model

Member Function Documentation

void flatland_plugins::Bumper::AfterPhysicsStep ( const Timekeeper timekeeper)
overridevirtual

Called when just after physics update.

Parameters
[in]timekeeperObject managing the simulation time

Reimplemented from flatland_server::FlatlandPlugin.

void flatland_plugins::Bumper::BeforePhysicsStep ( const Timekeeper timekeeper)
overridevirtual

Called when just before physics update.

Parameters
[in]timekeeperObject managing the simulation time

Reimplemented from flatland_server::FlatlandPlugin.

void flatland_plugins::Bumper::BeginContact ( b2Contact *  contact)
overridevirtual

A method that is called for all Box2D begin contacts.

Parameters
[in]contactBox2D contact

Reimplemented from flatland_server::FlatlandPlugin.

void flatland_plugins::Bumper::EndContact ( b2Contact *  contact)
overridevirtual

A method that is called for all Box2D end contacts.

Parameters
[in]contactBox2D contact

Reimplemented from flatland_server::FlatlandPlugin.

void flatland_plugins::Bumper::OnInitialize ( const YAML::Node &  config)
overridevirtual

Initialization for the plugin.

Parameters
[in]configPlugin YAML Node

Implements flatland_server::FlatlandPlugin.

void flatland_plugins::Bumper::PostSolve ( b2Contact *  contact,
const b2ContactImpulse *  impulse 
)
overridevirtual

A method that is called for Box2D postsolve.

Parameters
[in]contactBox2D contact
[in]impulseImpulse from the collision resolution

Reimplemented from flatland_server::FlatlandPlugin.

Member Data Documentation

std::vector<Body *> flatland_plugins::Bumper::excluded_bodies_

bodies to ignore


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