Public Member Functions | Protected Attributes | List of all members
gazebo::physics::Collision Class Referenceabstract

Base class for all collision entities. More...

#include <Collision.hh>

Inheritance diagram for gazebo::physics::Collision:
Inheritance graph
[legend]

Public Member Functions

 Collision (LinkPtr _link)
 Constructor. More...
 
virtual ~Collision ()
 Destructor. More...
 
void FillMsg (msgs::Collision &_msg)
 Fill a collision message. More...
 
virtual void Fini ()
 Finalize the collision. More...
 
virtual math::Box GetBoundingBox () const =0
 Get the bounding box for this collision. More...
 
float GetLaserRetro () const
 Get the laser retro reflectiveness. More...
 
LinkPtr GetLink () const
 Get the link this collision belongs to. More...
 
virtual unsigned int GetMaxContacts ()
 returns number of contacts allowed for this collision. More...
 
ModelPtr GetModel () const
 Get the model this collision belongs to. More...
 
virtual math::Vector3 GetRelativeAngularAccel () const
 Get the angular acceleration of the collision. More...
 
virtual math::Vector3 GetRelativeAngularVel () const
 Get the angular velocity of the collision. More...
 
virtual math::Vector3 GetRelativeLinearAccel () const
 Get the linear acceleration of the collision. More...
 
virtual math::Vector3 GetRelativeLinearVel () const
 Get the linear velocity of the collision. More...
 
ShapePtr GetShape () const
 Get the collision shape. More...
 
unsigned int GetShapeType () const
 Get the shape type. More...
 
CollisionState GetState ()
 Get the collision state. More...
 
SurfaceParamsPtr GetSurface () const
 Get the surface parameters. More...
 
virtual math::Vector3 GetWorldAngularAccel () const
 Get the angular acceleration of the collision in the world frame. More...
 
virtual math::Vector3 GetWorldAngularVel () const
 Get the angular velocity of the collision in the world frame. More...
 
virtual math::Vector3 GetWorldLinearAccel () const
 Get the linear acceleration of the collision in the world frame. More...
 
virtual math::Vector3 GetWorldLinearVel () const
 Get the linear velocity of the collision in the world frame. More...
 
virtual const math::PoseGetWorldPose () const
 Get the absolute pose of the entity. More...
 
virtual void Init ()
 Initialize the collision. More...
 
bool IsPlaceable () const
 Return whether this collision is movable. More...
 
virtual void Load (sdf::ElementPtr _sdf)
 Load the collision. More...
 
void ProcessMsg (const msgs::Collision &_msg)
 Update parameters from a message. More...
 
virtual void SetCategoryBits (unsigned int _bits)=0
 Set the category bits, used during collision detection. More...
 
virtual void SetCollideBits (unsigned int _bits)=0
 Set the collide bits, used during collision detection. More...
 
void SetCollision (bool _placeable)
 Set the encapsulated collsion object. More...
 
void SetLaserRetro (float _retro)
 Set the laser retro reflectiveness. More...
 
virtual void SetMaxContacts (unsigned int _maxContacts)
 Number of contacts allowed for this collision. More...
 
void SetScale (const math::Vector3 &_scale)
 Set the scale of the collision. More...
 
void SetShape (ShapePtr _shape)
 Set the shape for this collision. More...
 
void SetState (const CollisionState &_state)
 Set the current collision state. More...
 
void SetWorldPoseDirty ()
 Indicate that the world pose should be recalculated. More...
 
virtual void UpdateParameters (sdf::ElementPtr _sdf)
 Update the parameters using new sdf values. More...
 
- Public Member Functions inherited from gazebo::physics::Entity
 Entity (BasePtr _parent)
 Constructor. More...
 
virtual ~Entity ()
 Destructor. More...
 
CollisionPtr GetChildCollision (const std::string &_name)
 Get a child collision entity, if one exists. More...
 
LinkPtr GetChildLink (const std::string &_name)
 Get a child linke entity, if one exists. More...
 
math::Box GetCollisionBoundingBox () const
 Returns collision bounding box. More...
 
const math::PoseGetDirtyPose () const
 Returns Entity::dirtyPose. More...
 
math::Pose GetInitialRelativePose () const
 Get the initial relative pose. More...
 
void GetNearestEntityBelow (double &_distBelow, std::string &_entityName)
 Get the distance to the nearest entity below (along the Z-axis) this entity. More...
 
ModelPtr GetParentModel ()
 Get the parent model, if one exists. More...
 
math::Pose GetRelativePose () const
 Get the pose of the entity relative to its parent. More...
 
bool IsCanonicalLink () const
 A helper function that checks if this is a canonical body. More...
 
bool IsStatic () const
 Return whether this entity is static. More...
 
void PlaceOnEntity (const std::string &_entityName)
 Move this entity to be ontop of another entity by name. More...
 
void PlaceOnNearestEntityBelow ()
 Move this entity to be ontop of the nearest entity below. More...
 
virtual void Reset ()
 Reset the entity. More...
 
void SetAnimation (const common::PoseAnimationPtr &_anim, boost::function< void()> _onComplete)
 Set an animation for this entity. More...
 
void SetAnimation (common::PoseAnimationPtr _anim)
 Set an animation for this entity. More...
 
void SetCanonicalLink (bool _value)
 Set to true if this entity is a canonical link for a model. More...
 
void SetInitialRelativePose (const math::Pose &_pose)
 Set the initial pose. More...
 
virtual void SetName (const std::string &_name)
 Set the name of the entity. More...
 
void SetRelativePose (const math::Pose &_pose, bool _notify=true, bool _publish=true)
 Set the pose of the entity relative to its parent. More...
 
void SetStatic (const bool &_static)
 Set whether this entity is static: immovable. More...
 
void SetWorldPose (const math::Pose &_pose, bool _notify=true, bool _publish=true)
 Set the world pose of the entity. More...
 
void SetWorldTwist (const math::Vector3 &_linear, const math::Vector3 &_angular, bool _updateChildren=true)
 Set angular and linear rates of an physics::Entity. More...
 
virtual void StopAnimation ()
 Stop the current animation, if any. More...
 
- Public Member Functions inherited from gazebo::physics::Base
 Base (BasePtr _parent)
 Constructor. More...
 
virtual ~Base ()
 Destructor. More...
 
void AddChild (BasePtr _child)
 Add a child to this entity. More...
 
void AddType (EntityType _type)
 Add a type specifier. More...
 
BasePtr GetByName (const std::string &_name)
 Get by name. More...
 
BasePtr GetChild (unsigned int _i) const
 Get a child by index. More...
 
BasePtr GetChild (const std::string &_name)
 Get a child by name. More...
 
unsigned int GetChildCount () const
 Get the number of children. More...
 
uint32_t GetId () const
 Return the ID of this entity. More...
 
std::string GetName () const
 Return the name of the entity. More...
 
BasePtr GetParent () const
 Get the parent. More...
 
int GetParentId () const
 Return the ID of the parent. More...
 
bool GetSaveable () const
 Get whether the object should be "saved", when the user selects to save the world to xml. More...
 
std::string GetScopedName (bool _prependWorldName=false) const
 Return the name of this entity with the model scope model1::...::modelN::entityName. More...
 
virtual const sdf::ElementPtr GetSDF ()
 Get the SDF values for the object. More...
 
unsigned int GetType () const
 Get the full type definition. More...
 
const WorldPtrGetWorld () const
 Get the World this object is in. More...
 
bool HasType (const EntityType &_t) const
 Returns true if this object's type definition has the given type. More...
 
bool IsSelected () const
 True if the entity is selected by the user. More...
 
bool operator== (const Base &_ent) const
 Returns true if the entities are the same. More...
 
void Print (const std::string &_prefix)
 Print this object to screen via gzmsg. More...
 
virtual void RemoveChild (unsigned int _id)
 Remove a child from this entity. More...
 
void RemoveChild (const std::string &_name)
 Remove a child by name. More...
 
void RemoveChildren ()
 Remove all children. More...
 
virtual void Reset (Base::EntityType _resetType)
 Calls recursive Reset on one of the Base::EntityType's. More...
 
void SetParent (BasePtr _parent)
 Set the parent. More...
 
void SetSaveable (bool _v)
 Set whether the object should be "saved", when the user selects to save the world to xml. More...
 
virtual bool SetSelected (bool _show)
 Set whether this entity has been selected by the user through the gui. More...
 
void SetWorld (const WorldPtr &_newWorld)
 Set the world this object belongs to. More...
 
virtual void Update ()
 Update the object. More...
 

Protected Attributes

LinkPtr link
 The link this collision belongs to. More...
 
bool placeable
 Flag for placeable. More...
 
ShapePtr shape
 Pointer to physics::Shape. More...
 
SurfaceParamsPtr surface
 The surface parameters. More...
 
- Protected Attributes inherited from gazebo::physics::Entity
common::PoseAnimationPtr animation
 Current pose animation. More...
 
event::ConnectionPtr animationConnection
 Connection used to update an animation. More...
 
math::Pose animationStartPose
 Start pose of an animation. More...
 
std::vector< event::ConnectionPtrconnections
 All our event connections. More...
 
math::Pose dirtyPose
 The pose set by a physics engine. More...
 
transport::NodePtr node
 Communication node. More...
 
EntityPtr parentEntity
 A helper that prevents numerous dynamic_casts. More...
 
common::Time prevAnimationTime
 Previous time an animation was updated. More...
 
transport::PublisherPtr requestPub
 Request publisher. More...
 
math::Vector3 scale
 Scale of the entity. More...
 
transport::PublisherPtr visPub
 Visual publisher. More...
 
msgs::Visual * visualMsg
 Visual message container. More...
 
math::Pose worldPose
 World pose of the entity. More...
 
- Protected Attributes inherited from gazebo::physics::Base
Base_V children
 Children of this entity. More...
 
BasePtr parent
 Parent of this entity. More...
 
sdf::ElementPtr sdf
 The SDF values for this object. More...
 
WorldPtr world
 Pointer to the world. More...
 

Additional Inherited Members

- Public Types inherited from gazebo::physics::Base
enum  EntityType {
  BASE = 0x00000000, ENTITY = 0x00000001, MODEL = 0x00000002, LINK = 0x00000004,
  COLLISION = 0x00000008, ACTOR = 0x00000016, LIGHT = 0x00000010, VISUAL = 0x00000020,
  JOINT = 0x00000040, BALL_JOINT = 0x00000080, HINGE2_JOINT = 0x00000100, HINGE_JOINT = 0x00000200,
  SLIDER_JOINT = 0x00000400, SCREW_JOINT = 0x00000800, UNIVERSAL_JOINT = 0x00001000, GEARBOX_JOINT = 0x00002000,
  SHAPE = 0x00010000, BOX_SHAPE = 0x00020000, CYLINDER_SHAPE = 0x00040000, HEIGHTMAP_SHAPE = 0x00080000,
  MAP_SHAPE = 0x00100000, MULTIRAY_SHAPE = 0x00200000, RAY_SHAPE = 0x00400000, PLANE_SHAPE = 0x00800000,
  SPHERE_SHAPE = 0x01000000, MESH_SHAPE = 0x02000000, POLYLINE_SHAPE = 0x04000000, SENSOR_COLLISION = 0x10000000
}
 Unique identifiers for all entity types. More...
 
- Protected Member Functions inherited from gazebo::physics::Entity
virtual void OnPoseChange ()=0
 This function is called when the entity's (or one of its parents) pose of the parent has changed. More...
 
- Protected Member Functions inherited from gazebo::physics::Base
void ComputeScopedName ()
 Compute the scoped name of this object based on its parents. More...
 

Detailed Description

Base class for all collision entities.

Constructor & Destructor Documentation

gazebo::physics::Collision::Collision ( LinkPtr  _link)
explicit

Constructor.

Parameters
[in]_linkLink that contains this collision object.
virtual gazebo::physics::Collision::~Collision ( )
virtual

Destructor.

Member Function Documentation

void gazebo::physics::Collision::FillMsg ( msgs::Collision &  _msg)

Fill a collision message.

Parameters
[out]_msgThe message to fill with this collision's data.
virtual void gazebo::physics::Collision::Fini ( )
virtual

Finalize the collision.

Reimplemented from gazebo::physics::Entity.

Reimplemented in gazebo::physics::ODECollision, and gazebo::physics::DARTCollision.

virtual math::Box gazebo::physics::Collision::GetBoundingBox ( ) const
pure virtual

Get the bounding box for this collision.

Returns
The bounding box.

Reimplemented from gazebo::physics::Entity.

Implemented in gazebo::physics::BulletCollision, gazebo::physics::ODECollision, gazebo::physics::DARTCollision, and gazebo::physics::SimbodyCollision.

float gazebo::physics::Collision::GetLaserRetro ( ) const

Get the laser retro reflectiveness.

Returns
The laser retro value.
LinkPtr gazebo::physics::Collision::GetLink ( ) const

Get the link this collision belongs to.

Returns
The parent Link.
virtual unsigned int gazebo::physics::Collision::GetMaxContacts ( )
virtual

returns number of contacts allowed for this collision.

This overrides global value (in PhysicsEngine) if specified.

Returns
max num contacts allowed for this collision.
ModelPtr gazebo::physics::Collision::GetModel ( ) const

Get the model this collision belongs to.

Returns
The parent model.
virtual math::Vector3 gazebo::physics::Collision::GetRelativeAngularAccel ( ) const
virtual

Get the angular acceleration of the collision.

Returns
The angular acceleration of the collision.

Reimplemented from gazebo::physics::Entity.

virtual math::Vector3 gazebo::physics::Collision::GetRelativeAngularVel ( ) const
virtual

Get the angular velocity of the collision.

Returns
The angular velocity of the collision.

Reimplemented from gazebo::physics::Entity.

virtual math::Vector3 gazebo::physics::Collision::GetRelativeLinearAccel ( ) const
virtual

Get the linear acceleration of the collision.

Returns
The linear acceleration of the collision.

Reimplemented from gazebo::physics::Entity.

virtual math::Vector3 gazebo::physics::Collision::GetRelativeLinearVel ( ) const
virtual

Get the linear velocity of the collision.

Returns
The linear velocity relative to the parent model.

Reimplemented from gazebo::physics::Entity.

ShapePtr gazebo::physics::Collision::GetShape ( ) const

Get the collision shape.

Returns
The collision shape.
unsigned int gazebo::physics::Collision::GetShapeType ( ) const

Get the shape type.

Returns
The shape type.
See Also
EntityType
CollisionState gazebo::physics::Collision::GetState ( )

Get the collision state.

Returns
The collision state.
SurfaceParamsPtr gazebo::physics::Collision::GetSurface ( ) const
inline

Get the surface parameters.

Returns
The surface parameters.
virtual math::Vector3 gazebo::physics::Collision::GetWorldAngularAccel ( ) const
virtual

Get the angular acceleration of the collision in the world frame.

Returns
The angular acceleration of the collision in the world frame.

Reimplemented from gazebo::physics::Entity.

virtual math::Vector3 gazebo::physics::Collision::GetWorldAngularVel ( ) const
virtual

Get the angular velocity of the collision in the world frame.

Returns
The angular velocity of the collision in the world frame.

Reimplemented from gazebo::physics::Entity.

virtual math::Vector3 gazebo::physics::Collision::GetWorldLinearAccel ( ) const
virtual

Get the linear acceleration of the collision in the world frame.

Returns
The linear acceleration of the collision in the world frame.

Reimplemented from gazebo::physics::Entity.

virtual math::Vector3 gazebo::physics::Collision::GetWorldLinearVel ( ) const
virtual

Get the linear velocity of the collision in the world frame.

Returns
The linear velocity of the collision in the world frame.

Reimplemented from gazebo::physics::Entity.

virtual const math::Pose& gazebo::physics::Collision::GetWorldPose ( ) const
virtual

Get the absolute pose of the entity.

Returns
The absolute pose of the entity.

Reimplemented from gazebo::physics::Entity.

virtual void gazebo::physics::Collision::Init ( )
virtual

Initialize the collision.

Reimplemented from gazebo::physics::Base.

Reimplemented in gazebo::physics::DARTCollision.

bool gazebo::physics::Collision::IsPlaceable ( ) const

Return whether this collision is movable.

Example on an immovable object is a ray.

Returns
True if the object is immovable.
virtual void gazebo::physics::Collision::Load ( sdf::ElementPtr  _sdf)
virtual

Load the collision.

Parameters
[in]_sdfSDF to load from.

Reimplemented from gazebo::physics::Entity.

Reimplemented in gazebo::physics::BulletCollision, gazebo::physics::SimbodyCollision, gazebo::physics::ODECollision, and gazebo::physics::DARTCollision.

void gazebo::physics::Collision::ProcessMsg ( const msgs::Collision &  _msg)

Update parameters from a message.

Parameters
[in]_msgMessage to update from.
virtual void gazebo::physics::Collision::SetCategoryBits ( unsigned int  _bits)
pure virtual

Set the category bits, used during collision detection.

Parameters
[in]_bitsThe bits to set.

Implemented in gazebo::physics::ODECollision, gazebo::physics::BulletCollision, gazebo::physics::DARTCollision, and gazebo::physics::SimbodyCollision.

virtual void gazebo::physics::Collision::SetCollideBits ( unsigned int  _bits)
pure virtual

Set the collide bits, used during collision detection.

Parameters
[in]_bitsThe bits to set.

Implemented in gazebo::physics::ODECollision, gazebo::physics::BulletCollision, gazebo::physics::DARTCollision, and gazebo::physics::SimbodyCollision.

void gazebo::physics::Collision::SetCollision ( bool  _placeable)

Set the encapsulated collsion object.

Parameters
[in]_placeableTrue to make the object movable.
void gazebo::physics::Collision::SetLaserRetro ( float  _retro)

Set the laser retro reflectiveness.

Parameters
[in]_retroThe laser retro value.
virtual void gazebo::physics::Collision::SetMaxContacts ( unsigned int  _maxContacts)
virtual

Number of contacts allowed for this collision.

This overrides global value (in PhysicsEngine) if specified.

Parameters
[in]_maxContactsmax num contacts allowed for this collision.
void gazebo::physics::Collision::SetScale ( const math::Vector3 _scale)

Set the scale of the collision.

Parameters
[in]_scaleScale to set the collision to.
void gazebo::physics::Collision::SetShape ( ShapePtr  _shape)

Set the shape for this collision.

Parameters
[in]_shapeThe shape for this collision object.
void gazebo::physics::Collision::SetState ( const CollisionState _state)

Set the current collision state.

Parameters
[in]Thecollision state.
void gazebo::physics::Collision::SetWorldPoseDirty ( )

Indicate that the world pose should be recalculated.

The recalculation will be done when Collision::GetWorldPose is called.

virtual void gazebo::physics::Collision::UpdateParameters ( sdf::ElementPtr  _sdf)
virtual

Update the parameters using new sdf values.

Parameters
[in]_sdfSDF values to update from.

Reimplemented from gazebo::physics::Entity.

Member Data Documentation

LinkPtr gazebo::physics::Collision::link
protected

The link this collision belongs to.

bool gazebo::physics::Collision::placeable
protected

Flag for placeable.

ShapePtr gazebo::physics::Collision::shape
protected

Pointer to physics::Shape.

SurfaceParamsPtr gazebo::physics::Collision::surface
protected

The surface parameters.


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