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

Base class for all physics objects in Gazebo. More...

#include <physics/physics.hh>

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

Public Member Functions

 Entity (BasePtr _parent)
 Constructor.
 
virtual ~Entity ()
 Destructor.
 
virtual void Fini ()
 Finalize the entity.
 
virtual math::Box GetBoundingBox () const
 Return the bounding box for the entity.
 
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.
 
virtual math::Vector3 GetRelativeAngularAccel () const
 Get the angular acceleration of the entity.
 
virtual math::Vector3 GetRelativeAngularVel () const
 Get the angular velocity of the entity.
 
virtual math::Vector3 GetRelativeLinearAccel () const
 Get the linear acceleration of the entity.
 
virtual math::Vector3 GetRelativeLinearVel () const
 Get the linear velocity of the entity.
 
math::Pose GetRelativePose () const
 Get the pose of the entity relative to its parent.
 
virtual math::Vector3 GetWorldAngularAccel () const
 Get the angular acceleration of the entity in the world frame.
 
virtual math::Vector3 GetWorldAngularVel () const
 Get the angular velocity of the entity in the world frame.
 
virtual math::Vector3 GetWorldLinearAccel () const
 Get the linear acceleration of the entity in the world frame.
 
virtual math::Vector3 GetWorldLinearVel () const
 Get the linear velocity of the entity in the world frame.
 
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.
 
virtual void Load (sdf::ElementPtr _sdf)
 Load the entity.
 
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.
 
virtual void Reset ()
 Reset the entity.
 
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.
 
virtual void UpdateParameters (sdf::ElementPtr _sdf)
 Update the parameters using new sdf values.
 
- 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.
 
virtual void Init ()
 Initialize the object.
 
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.
 
virtual bool SetSelected (bool _show)
 Set whether this entity has been selected by the user through the gui.
 
void SetWorld (const WorldPtr &_newWorld)
 Set the world this object belongs to.
 
virtual void Update ()
 Update the object.
 

Protected Member Functions

virtual void OnPoseChange ()=0
 This function is called when the entity's (or one of its parents) pose of the parent has changed.
 

Protected Attributes

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

Base class for all physics objects in Gazebo.

Constructor & Destructor Documentation

gazebo::physics::Entity::Entity ( BasePtr  _parent)
explicit

Constructor.

Parameters
[in]_parentParent of the entity.
virtual gazebo::physics::Entity::~Entity ( )
virtual

Destructor.

Member Function Documentation

virtual void gazebo::physics::Entity::Fini ( )
virtual
virtual math::Box gazebo::physics::Entity::GetBoundingBox ( ) const
virtual

Return the bounding box for the entity.

Returns
The bounding box.

Reimplemented in gazebo::physics::Link, gazebo::physics::Model, gazebo::physics::Collision, gazebo::physics::ODECollision, and gazebo::physics::BulletCollision.

CollisionPtr gazebo::physics::Entity::GetChildCollision ( const std::string &  _name)

Get a child collision entity, if one exists.

Parameters
[in]_nameName of the child collision object.
Returns
Pointer to the Collision object, or NULL if not found.
LinkPtr gazebo::physics::Entity::GetChildLink ( const std::string &  _name)

Get a child linke entity, if one exists.

Parameters
[in]_nameName of the child Link object.
Returns
Pointer to the Link object, or NULL if not found.
math::Box gazebo::physics::Entity::GetCollisionBoundingBox ( ) const

Returns collision bounding box.

Returns
Collsiion boundin box.
const math::Pose& gazebo::physics::Entity::GetDirtyPose ( ) const

Returns Entity::dirtyPose.

The dirty pose is the pose set by the physics engine before it's value is propagated to the rest of the simulator.

Returns
The dirty pose of the entity.
void gazebo::physics::Entity::GetNearestEntityBelow ( double &  _distBelow,
std::string &  _entityName 
)

Get the distance to the nearest entity below (along the Z-axis) this entity.

Parameters
[out]_distBelowThe distance to the nearest entity below.
[out]_entityNameThe name of the nearest entity below.
ModelPtr gazebo::physics::Entity::GetParentModel ( )

Get the parent model, if one exists.

Returns
Pointer to a model, or NULL if no parent model exists.
virtual math::Vector3 gazebo::physics::Entity::GetRelativeAngularAccel ( ) const
inlinevirtual

Get the angular acceleration of the entity.

Returns
A math::Vector3 for the acceleration.

Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.

virtual math::Vector3 gazebo::physics::Entity::GetRelativeAngularVel ( ) const
inlinevirtual

Get the angular velocity of the entity.

Returns
A math::Vector3 for the velocity.

Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.

virtual math::Vector3 gazebo::physics::Entity::GetRelativeLinearAccel ( ) const
inlinevirtual

Get the linear acceleration of the entity.

Returns
A math::Vector3 for the acceleration.

Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.

virtual math::Vector3 gazebo::physics::Entity::GetRelativeLinearVel ( ) const
inlinevirtual

Get the linear velocity of the entity.

Returns
A math::Vector3 for the linear velocity.

Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.

math::Pose gazebo::physics::Entity::GetRelativePose ( ) const

Get the pose of the entity relative to its parent.

Returns
The pose of the entity relative to its parent.
virtual math::Vector3 gazebo::physics::Entity::GetWorldAngularAccel ( ) const
inlinevirtual

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

Returns
A math::Vector3 for the acceleration.

Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.

virtual math::Vector3 gazebo::physics::Entity::GetWorldAngularVel ( ) const
inlinevirtual

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

Returns
A math::Vector3 for the velocity.

Reimplemented in gazebo::physics::Collision, gazebo::physics::Model, gazebo::physics::ODELink, and gazebo::physics::BulletLink.

virtual math::Vector3 gazebo::physics::Entity::GetWorldLinearAccel ( ) const
inlinevirtual

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

Returns
A math::Vector3 for the acceleration.

Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.

virtual math::Vector3 gazebo::physics::Entity::GetWorldLinearVel ( ) const
inlinevirtual

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

Returns
A math::Vector3 for the linear velocity.

Reimplemented in gazebo::physics::Collision, gazebo::physics::Model, gazebo::physics::ODELink, and gazebo::physics::BulletLink.

const math::Pose& gazebo::physics::Entity::GetWorldPose ( ) const
inline

Get the absolute pose of the entity.

Returns
The absolute pose of the entity.

Referenced by gazebo::sensors::RFIDTag::GetTagPose().

bool gazebo::physics::Entity::IsCanonicalLink ( ) const
inline

A helper function that checks if this is a canonical body.

Returns
True if the link is canonical.
bool gazebo::physics::Entity::IsStatic ( ) const

Return whether this entity is static.

Returns
True if static.
virtual void gazebo::physics::Entity::Load ( sdf::ElementPtr  _sdf)
virtual
virtual void gazebo::physics::Entity::OnPoseChange ( )
protectedpure virtual

This function is called when the entity's (or one of its parents) pose of the parent has changed.

Implemented in gazebo::physics::Link, gazebo::physics::Model, gazebo::physics::ODECollision, gazebo::physics::BulletLink, gazebo::physics::BulletCollision, and gazebo::physics::ODELink.

void gazebo::physics::Entity::PlaceOnEntity ( const std::string &  _entityName)

Move this entity to be ontop of another entity by name.

Parameters
[in]_entityNameName of the Entity this Entity should be ontop of.
void gazebo::physics::Entity::PlaceOnNearestEntityBelow ( )

Move this entity to be ontop of the nearest entity below.

virtual void gazebo::physics::Entity::Reset ( )
virtual

Reset the entity.

Reimplemented from gazebo::physics::Base.

Reimplemented in gazebo::physics::Model, and gazebo::physics::Link.

void gazebo::physics::Entity::SetAnimation ( const common::PoseAnimationPtr _anim,
boost::function< void()>  _onComplete 
)

Set an animation for this entity.

Parameters
[in]_animPose animation.
[in]_onCompleteCallback for when the animation completes.
void gazebo::physics::Entity::SetAnimation ( common::PoseAnimationPtr  _anim)

Set an animation for this entity.

Parameters
[in]_animPose animation.
void gazebo::physics::Entity::SetCanonicalLink ( bool  _value)

Set to true if this entity is a canonical link for a model.

Parameters
[in]_valueTrue if the link is canonical.
void gazebo::physics::Entity::SetInitialRelativePose ( const math::Pose _pose)

Set the initial pose.

Parameters
[in]_poseThe initial pose.
virtual void gazebo::physics::Entity::SetName ( const std::string &  _name)
virtual

Set the name of the entity.

Parameters
[in]_nameThe new name.

Reimplemented from gazebo::physics::Base.

void gazebo::physics::Entity::SetRelativePose ( const math::Pose _pose,
bool  _notify = true,
bool  _publish = true 
)

Set the pose of the entity relative to its parent.

Parameters
[in]_poseThe new pose.
[in]_notifyTrue = tell children of the pose change.
[in]_publishTrue to publish the pose.
void gazebo::physics::Entity::SetStatic ( const bool &  _static)

Set whether this entity is static: immovable.

Parameters
[in]_staticTrue = static.
void gazebo::physics::Entity::SetWorldPose ( const math::Pose _pose,
bool  _notify = true,
bool  _publish = true 
)

Set the world pose of the entity.

Parameters
[in]_poseThe new world pose.
[in]_notifyTrue = tell children of the pose change.
[in]_publishTrue to publish the pose.
void gazebo::physics::Entity::SetWorldTwist ( const math::Vector3 _linear,
const math::Vector3 _angular,
bool  _updateChildren = true 
)

Set angular and linear rates of an physics::Entity.

Parameters
[in]_linearLinear twist.
[in]_angularAngular twist.
[in]_updateChildrenTrue to pass this update to child entities.
virtual void gazebo::physics::Entity::StopAnimation ( )
virtual

Stop the current animation, if any.

Reimplemented in gazebo::physics::Model.

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

Update the parameters using new sdf values.

Parameters
[in]_sdfSDF to update from.

Reimplemented from gazebo::physics::Base.

Reimplemented in gazebo::physics::Actor, gazebo::physics::Model, gazebo::physics::Link, and gazebo::physics::Collision.

Member Data Documentation

common::PoseAnimationPtr gazebo::physics::Entity::animation
protected

Current pose animation.

event::ConnectionPtr gazebo::physics::Entity::animationConnection
protected

Connection used to update an animation.

math::Pose gazebo::physics::Entity::animationStartPose
protected

Start pose of an animation.

std::vector<event::ConnectionPtr> gazebo::physics::Entity::connections
protected

All our event connections.

math::Pose gazebo::physics::Entity::dirtyPose
protected

The pose set by a physics engine.

transport::NodePtr gazebo::physics::Entity::node
protected

Communication node.

EntityPtr gazebo::physics::Entity::parentEntity
protected

A helper that prevents numerous dynamic_casts.

msgs::Pose* gazebo::physics::Entity::poseMsg
protected

Pose message containr.

common::Time gazebo::physics::Entity::prevAnimationTime
protected

Previous time an animation was updated.

transport::PublisherPtr gazebo::physics::Entity::requestPub
protected

Request publisher.

transport::PublisherPtr gazebo::physics::Entity::visPub
protected

Visual publisher.

msgs::Visual* gazebo::physics::Entity::visualMsg
protected

Visual message container.


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