All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
gazebo::physics::ODELink Class Reference

ODE Link class. More...

#include <ODELink.hh>

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

Public Member Functions

 ODELink (EntityPtr _parent)
 Constructor.
 
virtual ~ODELink ()
 Destructor.
 
virtual void AddForce (const math::Vector3 &_force)
 Add a force to the body.
 
virtual void AddForceAtRelativePosition (const math::Vector3 &_force, const math::Vector3 &_relpos)
 Set the force applied to the body (add by Stefano)
 
virtual void AddForceAtWorldPosition (const math::Vector3 &_force, const math::Vector3 &_pos)
 Add a force to the body using a global position.
 
virtual void AddRelativeForce (const math::Vector3 &_force)
 Add a force to the body.
 
virtual void AddRelativeTorque (const math::Vector3 &_torque)
 Add a torque to the body relative frame.
 
virtual void AddTorque (const math::Vector3 &_torque)
 Add a torque to the body.
 
virtual void Fini ()
 Finalize the link.
 
virtual bool GetEnabled () const
 Get whether this link is enabled in the physics engine.
 
virtual bool GetGravityMode ()
 Get the gravity mode.
 
virtual bool GetKinematic () const
 Get whether this link is in the kinematic state.
 
dBodyID GetODEId () const
 Return the ID of this link.
 
dSpaceID GetSpaceId () const
 Get the link's space ID.
 
virtual math::Vector3 GetWorldAngularVel () const
 Get the angular velocity of the link in the world frame.
 
virtual math::Vector3 GetWorldForce () const
 Get the force applied to the link in the world frame.
 
virtual math::Vector3 GetWorldLinearVel () const
 Get the linear velocity of the link in the world frame.
 
virtual math::Vector3 GetWorldTorque () const
 Get the torque applied to the link in the world frame.
 
virtual void Init ()
 Initialize the link.
 
virtual void Load (sdf::ElementPtr _sdf)
 Load the link based on SDF parameters.
 
virtual void OnPoseChange ()
 Called when the pose of the entity (or one of its parents) has changed.
 
virtual void SetAngularDamping (double damping)
 Set the angular damping factor.
 
virtual void SetAngularVel (const math::Vector3 &vel)
 Set the angular velocity of the link.
 
virtual void SetAutoDisable (bool _disable)
 Allow the link to auto disable.
 
virtual void SetEnabled (bool enable) const
 Set whether this link is enabled.
 
virtual void SetForce (const math::Vector3 &_force)
 Set the force applied to the link.
 
virtual void SetGravityMode (bool mode)
 Set whether gravity affects this link.
 
virtual void SetKinematic (const bool &state)
 Set whether this link is in the kinematic state.
 
virtual void SetLinearDamping (double damping)
 Set the linear damping factor.
 
virtual void SetLinearVel (const math::Vector3 &vel)
 Set the linear velocity of the link.
 
void SetSelfCollide (bool collide)
 Set whether this link will collide with others in the model.
 
void SetSpaceId (dSpaceID spaceid)
 Set the link's space ID.
 
virtual void SetTorque (const math::Vector3 &_torque)
 Set the torque applied to the link.
 
virtual void Update ()
 Update the link.
 
virtual void UpdateMass ()
 Update the mass matrix.
 
virtual void UpdateSurface ()
 Update other parameters for ODE.
 
- Public Member Functions inherited from gazebo::physics::Entity
 Entity (BasePtr _parent)
 Constructor.
 
virtual ~Entity ()
 Destructor.
 
CollisionPtr GetChildCollision (const std::string &_name)
 Get a child collision entity, if one exists.
 
LinkPtr GetChildLink (const std::string &_name)
 Get a child linke entity, if one exists.
 
math::Box GetCollisionBoundingBox () const
 Returns collision bounding box.
 
const math::PoseGetDirtyPose () const
 Returns Entity::dirtyPose.
 
void GetNearestEntityBelow (double &_distBelow, std::string &_entityName)
 Get the distance to the nearest entity below (along the Z-axis) this entity.
 
ModelPtr GetParentModel ()
 Get the parent model, if one exists.
 
math::Pose GetRelativePose () const
 Get the pose of the entity relative to its parent.
 
const math::PoseGetWorldPose () const
 Get the absolute pose of the entity.
 
bool IsCanonicalLink () const
 A helper function that checks if this is a canonical body.
 
bool IsStatic () const
 Return whether this entity is static.
 
void PlaceOnEntity (const std::string &_entityName)
 Move this entity to be ontop of another entity by name.
 
void PlaceOnNearestEntityBelow ()
 Move this entity to be ontop of the nearest entity below.
 
void SetAnimation (const common::PoseAnimationPtr &_anim, boost::function< void()> _onComplete)
 Set an animation for this entity.
 
void SetAnimation (common::PoseAnimationPtr _anim)
 Set an animation for this entity.
 
void SetCanonicalLink (bool _value)
 Set to true if this entity is a canonical link for a model.
 
void SetInitialRelativePose (const math::Pose &_pose)
 Set the initial pose.
 
virtual void SetName (const std::string &_name)
 Set the name of the entity.
 
void SetRelativePose (const math::Pose &_pose, bool _notify=true, bool _publish=true)
 Set the pose of the entity relative to its parent.
 
void SetStatic (const bool &_static)
 Set whether this entity is static: immovable.
 
void SetWorldPose (const math::Pose &_pose, bool _notify=true, bool _publish=true)
 Set the world pose of the entity.
 
void SetWorldTwist (const math::Vector3 &_linear, const math::Vector3 &_angular, bool _updateChildren=true)
 Set angular and linear rates of an physics::Entity.
 
virtual void StopAnimation ()
 Stop the current animation, if any.
 
- Public Member Functions inherited from gazebo::physics::Base
 Base (BasePtr parent)
 Constructor.
 
virtual ~Base ()
 Destructor.
 
void AddChild (BasePtr _child)
 Add a child to this entity.
 
void AddType (EntityType _type)
 Add a type specifier.
 
BasePtr GetById (unsigned int _id) const
 Get a child or self by id.
 
BasePtr GetByName (const std::string &_name)
 Get by name.
 
BasePtr GetChild (unsigned int _i) const
 Get a child by index.
 
BasePtr GetChild (const std::string &_name)
 Get a child by name.
 
unsigned int GetChildCount () const
 Get the number of children.
 
unsigned int GetId () const
 Return the ID of this entity.
 
std::string GetName () const
 Return the name of the entity.
 
BasePtr GetParent () const
 Get the parent.
 
int GetParentId () const
 Return the ID of the parent.
 
bool GetSaveable () const
 Get whether the object should be "saved", when the user selects to save the world to xml.
 
std::string GetScopedName () const
 Return the name of this entity with the model scope world::model1::...::modelN::entityName.
 
virtual const sdf::ElementPtr GetSDF ()
 Get the SDF values for the object.
 
unsigned int GetType () const
 Get the full type definition.
 
const WorldPtrGetWorld () const
 Get the World this object is in.
 
bool HasType (const EntityType &_t) const
 Returns true if this object's type definition has the given type.
 
bool IsSelected () const
 True if the entity is selected by the user.
 
bool operator== (const Base &_ent) const
 Returns true if the entities are the same.
 
void Print (const std::string &_prefix)
 Print this object to screen via gzmsg.
 
virtual void RemoveChild (unsigned int _id)
 Remove a child from this entity.
 
void RemoveChild (const std::string &_name)
 Remove a child by name.
 
void RemoveChildren ()
 Remove all children.
 
virtual void Reset (Base::EntityType _resetType)
 Calls recursive Reset on one of the Base::EntityType's.
 
void SetParent (BasePtr _parent)
 Set the parent.
 
void SetSaveable (bool _v)
 Set whether the object should be "saved", when the user selects to save the world to xml.
 
void SetWorld (const WorldPtr &_newWorld)
 Set the world this object belongs to.
 

Static Public Member Functions

static void DisabledCallback (dBodyID _id)
 callback when ODE determines a body is disabled
 
static void MoveCallback (dBodyID id)
 when ODE updates dynamics bodies, this callback propagates the chagnes in pose back to Gazebo
 

Protected Attributes

math::Pose pose
 
- Protected Attributes inherited from gazebo::physics::Entity
common::PoseAnimationPtr animation
 Current pose animation.
 
event::ConnectionPtr animationConnection
 Connection used to update an animation.
 
math::Pose animationStartPose
 Start pose of an animation.
 
std::vector< event::ConnectionPtrconnections
 All our event connections.
 
math::Pose dirtyPose
 The pose set by a physics engine.
 
transport::NodePtr node
 Communication node.
 
EntityPtr parentEntity
 A helper that prevents numerous dynamic_casts.
 
msgs::Pose * poseMsg
 Pose message containr.
 
common::Time prevAnimationTime
 Previous time an animation was updated.
 
transport::PublisherPtr requestPub
 Request publisher.
 
transport::PublisherPtr visPub
 Visual publisher.
 
msgs::Visual * visualMsg
 Visual message container.
 
- Protected Attributes inherited from gazebo::physics::Base
Base_V children
 Children of this entity.
 
Base_V::iterator childrenEnd
 End of the children vector.
 
BasePtr parent
 Parent of this entity.
 
sdf::ElementPtr sdf
 The SDF values for this object.
 
WorldPtr world
 Pointer to the world.
 

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, SHAPE = 0x00002000,
  BOX_SHAPE = 0x00004000, CYLINDER_SHAPE = 0x00008000, HEIGHTMAP_SHAPE = 0x00010000, MAP_SHAPE = 0x00020000,
  MULTIRAY_SHAPE = 0x00040000, RAY_SHAPE = 0x00080000, PLANE_SHAPE = 0x00100000, SPHERE_SHAPE = 0x00200000,
  TRIMESH_SHAPE = 0x00400000
}
 Unique identifiers for all entity types. More...
 

Detailed Description

ODE Link class.

Constructor & Destructor Documentation

gazebo::physics::ODELink::ODELink ( EntityPtr  _parent)

Constructor.

virtual gazebo::physics::ODELink::~ODELink ( )
virtual

Destructor.

Member Function Documentation

virtual void gazebo::physics::ODELink::AddForce ( const math::Vector3 _force)
virtual

Add a force to the body.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::AddForceAtRelativePosition ( const math::Vector3 _force,
const math::Vector3 _relpos 
)
virtual

Set the force applied to the body (add by Stefano)

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::AddForceAtWorldPosition ( const math::Vector3 _force,
const math::Vector3 _pos 
)
virtual

Add a force to the body using a global position.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::AddRelativeForce ( const math::Vector3 _force)
virtual

Add a force to the body.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::AddRelativeTorque ( const math::Vector3 _torque)
virtual

Add a torque to the body relative frame.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::AddTorque ( const math::Vector3 _torque)
virtual

Add a torque to the body.

Implements gazebo::physics::Link.

static void gazebo::physics::ODELink::DisabledCallback ( dBodyID  _id)
static

callback when ODE determines a body is disabled

virtual void gazebo::physics::ODELink::Fini ( )
virtual

Finalize the link.

Reimplemented from gazebo::physics::Link.

virtual bool gazebo::physics::ODELink::GetEnabled ( ) const
virtual

Get whether this link is enabled in the physics engine.

Implements gazebo::physics::Link.

virtual bool gazebo::physics::ODELink::GetGravityMode ( )
virtual

Get the gravity mode.

Implements gazebo::physics::Link.

virtual bool gazebo::physics::ODELink::GetKinematic ( ) const
virtual

Get whether this link is in the kinematic state.

Reimplemented from gazebo::physics::Link.

dBodyID gazebo::physics::ODELink::GetODEId ( ) const

Return the ID of this link.

Returns
ODE link id
dSpaceID gazebo::physics::ODELink::GetSpaceId ( ) const

Get the link's space ID.

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

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

Reimplemented from gazebo::physics::Entity.

virtual math::Vector3 gazebo::physics::ODELink::GetWorldForce ( ) const
virtual

Get the force applied to the link in the world frame.

Implements gazebo::physics::Link.

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

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

Reimplemented from gazebo::physics::Entity.

virtual math::Vector3 gazebo::physics::ODELink::GetWorldTorque ( ) const
virtual

Get the torque applied to the link in the world frame.

Implements gazebo::physics::Link.

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

Initialize the link.

Reimplemented from gazebo::physics::Link.

virtual void gazebo::physics::ODELink::Load ( sdf::ElementPtr  _sdf)
virtual

Load the link based on SDF parameters.

Parameters
_sdfthe sdf parameters

Reimplemented from gazebo::physics::Link.

static void gazebo::physics::ODELink::MoveCallback ( dBodyID  id)
static

when ODE updates dynamics bodies, this callback propagates the chagnes in pose back to Gazebo

virtual void gazebo::physics::ODELink::OnPoseChange ( )
virtual

Called when the pose of the entity (or one of its parents) has changed.

Reimplemented from gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetAngularDamping ( double  damping)
virtual

Set the angular damping factor.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetAngularVel ( const math::Vector3 vel)
virtual

Set the angular velocity of the link.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetAutoDisable ( bool  _disable)
virtual

Allow the link to auto disable.

Parameters
_disableIf true, the link is allowed to auto disable.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetEnabled ( bool  enable) const
virtual

Set whether this link is enabled.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetForce ( const math::Vector3 _force)
virtual

Set the force applied to the link.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetGravityMode ( bool  mode)
virtual

Set whether gravity affects this link.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetKinematic ( const bool &  state)
virtual

Set whether this link is in the kinematic state.

Reimplemented from gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetLinearDamping ( double  damping)
virtual

Set the linear damping factor.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::SetLinearVel ( const math::Vector3 vel)
virtual

Set the linear velocity of the link.

Implements gazebo::physics::Link.

void gazebo::physics::ODELink::SetSelfCollide ( bool  collide)
virtual

Set whether this link will collide with others in the model.

Implements gazebo::physics::Link.

void gazebo::physics::ODELink::SetSpaceId ( dSpaceID  spaceid)

Set the link's space ID.

virtual void gazebo::physics::ODELink::SetTorque ( const math::Vector3 _torque)
virtual

Set the torque applied to the link.

Implements gazebo::physics::Link.

virtual void gazebo::physics::ODELink::Update ( )
virtual

Update the link.

Reimplemented from gazebo::physics::Link.

virtual void gazebo::physics::ODELink::UpdateMass ( )
virtual

Update the mass matrix.

Reimplemented from gazebo::physics::Link.

virtual void gazebo::physics::ODELink::UpdateSurface ( )
virtual

Update other parameters for ODE.

Reimplemented from gazebo::physics::Link.

Member Data Documentation

math::Pose gazebo::physics::ODELink::pose
protected

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