Base class for all physics objects in Gazebo. More...
#include <physics/physics.hh>

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::Pose & | GetDirtyPose () const |
| Returns Entity::dirtyPose. | |
| math::Pose | GetInitialRelativePose () const |
| Get the initial relative pose. | |
| 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::Pose & | GetWorldPose () 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 WorldPtr & | GetWorld () 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::ConnectionPtr > | connections |
| 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 container. | |
| 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... | |
Base class for all physics objects in Gazebo.
|
explicit |
Constructor.
| [in] | _parent | Parent of the entity. |
|
virtual |
Destructor.
|
virtual |
Finalize the entity.
Reimplemented from gazebo::physics::Base.
Reimplemented in gazebo::physics::Actor, gazebo::physics::Model, gazebo::physics::Link, and gazebo::physics::Collision.
|
virtual |
Return the bounding box for the entity.
Reimplemented in gazebo::physics::Link, gazebo::physics::Model, and gazebo::physics::Collision.
| CollisionPtr gazebo::physics::Entity::GetChildCollision | ( | const std::string & | _name | ) |
Get a child collision entity, if one exists.
| [in] | _name | Name of the child collision object. |
| LinkPtr gazebo::physics::Entity::GetChildLink | ( | const std::string & | _name | ) |
| math::Box gazebo::physics::Entity::GetCollisionBoundingBox | ( | ) | const |
Returns collision bounding 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.
| math::Pose gazebo::physics::Entity::GetInitialRelativePose | ( | ) | const |
Get the initial relative pose.
| void gazebo::physics::Entity::GetNearestEntityBelow | ( | double & | _distBelow, |
| std::string & | _entityName | ||
| ) |
Get the distance to the nearest entity below (along the Z-axis) this entity.
| [out] | _distBelow | The distance to the nearest entity below. |
| [out] | _entityName | The name of the nearest entity below. |
| ModelPtr gazebo::physics::Entity::GetParentModel | ( | ) |
Get the parent model, if one exists.
|
inlinevirtual |
Get the angular acceleration of the entity.
Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.
|
inlinevirtual |
Get the angular velocity of the entity.
Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.
|
inlinevirtual |
Get the linear acceleration of the entity.
Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.
|
inlinevirtual |
Get the linear velocity of the entity.
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.
|
inlinevirtual |
Get the angular acceleration of the entity in the world frame.
Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.
|
inlinevirtual |
Get the angular velocity of the entity in the world frame.
Reimplemented in gazebo::physics::Collision, and gazebo::physics::Model.
|
inlinevirtual |
Get the linear acceleration of the entity in the world frame.
Reimplemented in gazebo::physics::Link, gazebo::physics::Collision, and gazebo::physics::Model.
|
inlinevirtual |
Get the linear velocity of the entity in the world frame.
Reimplemented in gazebo::physics::Collision, and gazebo::physics::Model.
|
inline |
Get the absolute pose of the entity.
Referenced by gazebo::sensors::RFIDTag::GetTagPose().
|
inline |
A helper function that checks if this is a canonical body.
| bool gazebo::physics::Entity::IsStatic | ( | ) | const |
Return whether this entity is static.
|
virtual |
Load the entity.
| [in] | _sdf | Pointer to an SDF element. |
Reimplemented from gazebo::physics::Base.
Reimplemented in gazebo::physics::Actor, gazebo::physics::Model, gazebo::physics::Link, and gazebo::physics::Collision.
|
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, and gazebo::physics::Model.
| void gazebo::physics::Entity::PlaceOnEntity | ( | const std::string & | _entityName | ) |
| void gazebo::physics::Entity::PlaceOnNearestEntityBelow | ( | ) |
Move this entity to be ontop of the nearest entity below.
|
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.
| [in] | _anim | Pose animation. |
| [in] | _onComplete | Callback for when the animation completes. |
| void gazebo::physics::Entity::SetAnimation | ( | common::PoseAnimationPtr | _anim | ) |
Set an animation for this entity.
| [in] | _anim | Pose animation. |
| void gazebo::physics::Entity::SetCanonicalLink | ( | bool | _value | ) |
Set to true if this entity is a canonical link for a model.
| [in] | _value | True if the link is canonical. |
| void gazebo::physics::Entity::SetInitialRelativePose | ( | const math::Pose & | _pose | ) |
Set the initial pose.
| [in] | _pose | The initial pose. |
|
virtual |
Set the name of the entity.
| [in] | _name | The 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.
| [in] | _pose | The new pose. |
| [in] | _notify | True = tell children of the pose change. |
| [in] | _publish | True to publish the pose. |
| void gazebo::physics::Entity::SetStatic | ( | const bool & | _static | ) |
Set whether this entity is static: immovable.
| [in] | _static | True = static. |
| void gazebo::physics::Entity::SetWorldPose | ( | const math::Pose & | _pose, |
| bool | _notify = true, |
||
| bool | _publish = true |
||
| ) |
Set the world pose of the entity.
| [in] | _pose | The new world pose. |
| [in] | _notify | True = tell children of the pose change. |
| [in] | _publish | True 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.
| [in] | _linear | Linear twist. |
| [in] | _angular | Angular twist. |
| [in] | _updateChildren | True to pass this update to child entities. |
|
virtual |
Stop the current animation, if any.
Reimplemented in gazebo::physics::Model.
|
virtual |
Update the parameters using new sdf values.
| [in] | _sdf | SDF to update from. |
Reimplemented from gazebo::physics::Base.
Reimplemented in gazebo::physics::Actor, gazebo::physics::Model, gazebo::physics::Link, and gazebo::physics::Collision.
|
protected |
Current pose animation.
|
protected |
Connection used to update an animation.
|
protected |
Start pose of an animation.
|
protected |
All our event connections.
|
protected |
The pose set by a physics engine.
|
protected |
Communication node.
|
protected |
A helper that prevents numerous dynamic_casts.
|
protected |
Pose message container.
|
protected |
Previous time an animation was updated.
|
protected |
Request publisher.
|
protected |
Visual publisher.
|
protected |
Visual message container.