##

DARTLink Class Reference
Physics » Dart Physics

DART Link class. More...

`#include <DARTLink.hh>`

Inherits Link.

## Public Types

enum

EntityType {
BASE = 0x00000000, ENTITY = 0x00000001, MODEL = 0x00000002, LINK = 0x00000004,
COLLISION = 0x00000008, 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, FIXED_JOINT = 0x00004000,
ACTOR = 0x00008000, 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...
typedef std::map< uint32_t, msgs::Visual > | Visuals_M

## Public Member Functions

| DARTLink (EntityPtr _parent)
| Constructor. More...
virtual | ~DARTLink ()
| Destructor. More...
void | AddChild (BasePtr _child)
| Add a child to this entity. More...
void | AddChildJoint (JointPtr _joint)
| Joints that have this Link as a parent Link. More...
void | AddDARTChildJoint (DARTJointPtr _dartChildJoint)
| Set child joint of this link. More...
virtual void | AddForce (const ignition::math::Vector3d &_force)
| Add a force to the body. More...
virtual void | AddForceAtRelativePosition (const ignition::math::Vector3d &_force, const ignition::math::Vector3d &_relpos)
| Add a force (in world frame coordinates) to the body at a position relative to the center of mass which is expressed in the link's own frame of reference. More...
virtual void | AddForceAtWorldPosition (const ignition::math::Vector3d &_force, const ignition::math::Vector3d &_pos)
| Add a force to the body using a global position. More...
virtual void | AddLinkForce (const ignition::math::Vector3d &_force, const ignition::math::Vector3d &_offset=ignition::math::Vector3d::Zero)
| Add a force expressed in the link frame. More...
void | AddParentJoint (JointPtr _joint)
| Joints that have this Link as a child Link. More...
virtual void | AddRelativeForce (const ignition::math::Vector3d &_force)
| Add a force to the body, components are relative to the body's own frame of reference. More...
virtual void | AddRelativeTorque (const ignition::math::Vector3d &_torque)
| Add a torque to the body, components are relative to the body's own frame of reference. More...
void | AddSlaveBodyNode (dart::dynamics::BodyNode *_dtBodyNode)
| Add pointer to a BodyNode representing a fragment of this link. More...
virtual void | AddTorque (const ignition::math::Vector3d &_torque)
| Add a torque to the body. More...
void | AddType (EntityType _type)
| Add a type specifier. More...
void | AttachStaticModel (ModelPtr &_model, const ignition::math::Pose3d &_offset)
| Attach a static model to this link. More...
common::BatteryPtr | Battery (const size_t _index) const
| Get a battery based on an index. More...
common::BatteryPtr | Battery (const std::string &_name) const
| Get a battery by name. More...
size_t | BatteryCount () const
| Get the number of batteries in this link. More...
virtual ignition::math::Box | BoundingBox () const
| Get the bounding box for the link and all the child elements. More...
ignition::math::Box | CollisionBoundingBox () const
| Returns collision bounding box. More...
event::ConnectionPtr | ConnectEnabled (std::function< void(bool)> _subscriber)
| Connect to the add entity signal. More...
dart::dynamics::BodyNode * | DARTBodyNode () const
| Get pointer to DART BodyNode associated with this link. More...
DARTBodyNodePropPtr | DARTProperties () const
| Get DART BodyNode properties. More...
dart::simulation::WorldPtr | DARTWorld (void) const
| Get pointer to DART World associated with this link. More...
void | DetachAllStaticModels ()
| Detach all static models from this link. More...
void | DetachStaticModel (const std::string &_modelName)
| Detach a static model from this link. More...
const ignition::math::Pose3d & | DirtyPose () const
| Returns Entity::dirtyPose. More...
void | FillMsg (msgs::Link &_msg)
| Fill a link message. More...
bool | FindAllConnectedLinksHelper (const LinkPtr &_originalParentLink, Link_V &_connectedLinks, bool _fistLink=false)
| Helper function to find all connected links of a link based on parent/child relations of joints. More...
virtual void | Fini ()
| Finalize the entity. More...
double | GetAngularDamping () const
| Get the angular damping factor. More...
BasePtr | GetByName (const std::string &_name)
| Get by name. More...
BasePtr | GetChild (const std::string &_name)
| Get a child by name. More...
BasePtr | GetChild (unsigned int _i) const
| Get a child by index. More...
CollisionPtr | GetChildCollision (const std::string &_name)
| Get a child collision entity, if one exists. More...
unsigned int | GetChildCount () const
| Get the number of children. More...
Joint_V | GetChildJoints () const
| Get the child joints. More...
Link_V | GetChildJointsLinks () const
| Returns a vector of children Links connected by joints. More...
LinkPtr | GetChildLink (const std::string &_name)
| Get a child linke entity, if one exists. More...
CollisionPtr | GetCollision (const std::string &_name)
| Get a child collision by name. More...
CollisionPtr | GetCollision (unsigned int _index) const
| Get a child collision by index. More...
Collision_V | GetCollisions () const
| Get all the child collisions. More...
DARTModelPtr | GetDARTModel () const
| Get pointer to DART Model associated with this link. More...
DARTPhysicsPtr | GetDARTPhysics (void) const
| Get pointer to DART Physics engine associated with this link. More...
virtual bool | GetEnabled () const
| Get whether this body is enabled in the physics engine. More...
virtual bool | GetGravityMode () const
| Get the gravity mode. More...
uint32_t | GetId () const
| Return the ID of this entity. More...
InertialPtr | GetInertial () const
| Get the inertia of the link. More...
virtual bool | GetKinematic () const
| \TODO Implement this function. More...
double | GetLinearDamping () const
| Get the linear damping factor. More...
ModelPtr | GetModel () const
| Get the model that this body belongs to. More...
std::string | GetName () const
| Return the name of the entity. More...
void | GetNearestEntityBelow (double &_distBelow, std::string &_entityName)
| Get the distance to the nearest entity below (along the Z-axis) this entity. More...
BasePtr | GetParent () const
| Get the parent. More...
int | GetParentId () const
| Return the ID of the parent. More...
Joint_V | GetParentJoints () const
| Get the parent joints. More...
Link_V | GetParentJointsLinks () const
| Returns a vector of parent Links connected by joints. More...
ModelPtr | GetParentModel ()
| Get the parent model, if one exists. 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...
bool | GetSelfCollide () const
| Get Self-Collision Flag. More...
unsigned int | GetSensorCount () const
| Get sensor count. More...
std::string | GetSensorName (unsigned int _index) const
| Get sensor name. More...
unsigned int | GetType () const
| Get the full type definition. More...
msgs::Visual | GetVisualMessage (const std::string &_name) const
| Returns the visual message specified by its name. More...
const WorldPtr & | GetWorld () const
| Get the World this object is in. More...
double | GetWorldEnergy () const
| Returns this link's total energy, or sum of Link::GetWorldEnergyPotential() and Link::GetWorldEnergyKinetic(). More...
double | GetWorldEnergyKinetic () const
| Returns this link's kinetic energy computed using link's CoG velocity in the inertial (world) frame. More...
double | GetWorldEnergyPotential () const
| Returns this link's potential energy, based on position in world frame and gravity. More...
bool | HasType (const EntityType &_t) const
| Returns true if this object's type definition has the given type. More...
virtual void | Init ()
| Initialize the body. More...
ignition::math::Pose3d | InitialRelativePose () const
| Get the initial relative pose. More...
bool | IsCanonicalLink () const
| A helper function that checks if this is a canonical body. More...
bool | IsSelected () const
| True if the entity is selected by the user. More...
bool | IsSoftBody () const
| Get whether this link is soft body. More...
bool | IsStatic () const
| Return whether this entity is static. More...
virtual void | Load (sdf::ElementPtr _ptr)
| Load the body based on an SDF element. More...
void | MoveFrame (const ignition::math::Pose3d &_worldReferenceFrameSrc, const ignition::math::Pose3d &_worldReferenceFrameDst, const bool _preserveWorldVelocity=false)
| Move Link given source and target frames specified in world coordinates. More...
virtual void | OnPoseChange ()
| This function is called when the entity's (or one of its parents) pose of the parent has changed. More...
bool | operator== (const Base &_ent) const
| Returns true if the entities are the same. 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...
void | Print (const std::string &_prefix)
| Print this object to screen via gzmsg. More...
void | ProcessMsg (const msgs::Link &_msg)
| Update parameters from a message. More...
ignition::math::Vector3d | RelativeAngularAccel () const
| Get the angular acceleration of the body. More...
ignition::math::Vector3d | RelativeAngularVel () const
| Get the angular velocity of the body. More...
ignition::math::Vector3d | RelativeForce () const
| Get the force applied to the body. More...
ignition::math::Vector3d | RelativeLinearAccel () const
| Get the linear acceleration of the body. More...
ignition::math::Vector3d | RelativeLinearVel () const
| Get the linear velocity of the body. More...
ignition::math::Pose3d | RelativePose () const
| Get the pose of the entity relative to its parent. More...
ignition::math::Vector3d | RelativeTorque () const
| Get the torque applied to the body. More...
const ignition::math::Vector3d | RelativeWindLinearVel () const
| Returns this link's wind velocity. More...
void | RemoveChild (const std::string &_name)
| Remove a child by name. More...
void | RemoveChild (const std::string &_name)
| Remove a child by name. More...
virtual void | RemoveChild (EntityPtr _child)
void | RemoveChild (physics::BasePtr _child)
| Remove a child by pointer. More...
void | RemoveChild (physics::BasePtr _child)
| Remove a child by pointer. More...
virtual void | RemoveChild (unsigned int _id)
| Remove a child from this entity. More...
virtual void | RemoveChild (unsigned int _id)
| Remove a child from this entity. More...
void | RemoveChildJoint (const std::string &_jointName)
| Remove Joints that have this Link as a parent Link. More...
void | RemoveChildren ()
| Remove all children. More...
void | RemoveCollision (const std::string &_name)
| Remove a collision from the link. More...
void | RemoveParentJoint (const std::string &_jointName)
| Remove Joints that have this Link as a child Link. More...
void | Reset ()
| Reset the link. More...
virtual void | Reset ()
| Reset the object. More...
virtual void | Reset ()
| Reset the entity. More...
virtual void | Reset (Base::EntityType _resetType)
| Calls recursive Reset on one of the Base::EntityType's. More...
virtual void | Reset (Base::EntityType _resetType)
| Calls recursive Reset on one of the Base::EntityType's. More...
void | ResetPhysicsStates ()
| Reset the velocity, acceleration, force and torque of link. More...
void | SetAngularAccel (const ignition::math::Vector3d &_accel) GAZEBO_DEPRECATED(9.0)
| Set the angular acceleration of the body. More...
virtual void | SetAngularDamping (double _damping)
| Set the angular damping factor. More...
virtual void | SetAngularVel (const ignition::math::Vector3d &_vel)
| Set the angular velocity of the body. More...
void | SetAnimation (common::PoseAnimationPtr _anim)
| Set an animation for this entity. More...
void | SetAnimation (const common::PoseAnimationPtr &_anim, boost::function< void()> _onComplete)
| Set an animation for this entity. More...
virtual void | SetAutoDisable (bool _disable)
| Allow the link to auto disable. More...
void | SetCanonicalLink (bool _value)
| Set to true if this entity is a canonical link for a model. More...
void | SetCollideMode (const std::string &_mode)
| Set the collide mode of the body. More...
void | SetDARTBodyNode (dart::dynamics::BodyNode *_dtBodyNode)
| Set pointer to DART BodyNode associated with this link. More...
void | SetDARTParentJoint (DARTJointPtr _dartParentJoint)
| Set parent joint of this link. More...
virtual void | SetEnabled (bool _enable) const
| Set whether this body is enabled. More...
virtual void | SetForce (const ignition::math::Vector3d &_force)
| Set the force applied to the body. More...
virtual void | SetGravityMode (bool _mode)
| Set whether gravity affects this body. More...
void | SetInertial (const InertialPtr &_inertial)
| Set the mass of the link. More...
void | SetInitialRelativePose (const ignition::math::Pose3d &_pose)
| Set the initial pose. More...
virtual void | SetKinematic (const bool &_state)
| \TODO Implement this function. More...
void | SetLaserRetro (float _retro)
| Set the laser retro reflectiveness. More...
void | SetLinearAccel (const ignition::math::Vector3d &_accel) GAZEBO_DEPRECATED(9.0)
| Set the linear acceleration of the body. More...
virtual void | SetLinearDamping (double _damping)
| Set the linear damping factor. More...
virtual void | SetLinearVel (const ignition::math::Vector3d &_vel)
| Set the linear velocity of the body. More...
virtual void | SetLinkStatic (bool _static)
| Freeze link to ground (inertial frame). More...
virtual void | SetName (const std::string &_name)
| Set the name of the entity. More...
void | SetParent (BasePtr _parent)
| Set the parent. More...
void | SetPublishData (bool _enable)
| Enable/Disable link data publishing. More...
void | SetRelativePose (const ignition::math::Pose3d &_pose, const bool _notify=true, const bool _publish=true)
| Set the pose of the entity relative to its parent. More...
void | SetSaveable (bool _v)
| Set whether the object should be "saved", when the user selects to save the world to xml. More...
void | SetScale (const ignition::math::Vector3d &_scale)
| Set the scale of the link. More...
virtual bool | SetSelected (bool _set)
| Set whether this entity has been selected by the user through the gui. More...
virtual void | SetSelfCollide (bool _collide)
| Set whether this body will collide with others in the model. More...
void | SetState (const LinkState &_state)
| Set the current link state. More...
virtual void | SetStatic (const bool &_static)
void | SetStatic (const bool &_static)
| Set whether this entity is static: immovable. More...
virtual void | SetTorque (const ignition::math::Vector3d &_torque)
| Set the torque applied to the body. More...
bool | SetVisualPose (const uint32_t _id, const ignition::math::Pose3d &_pose)
| Set the pose of a visual. More...
void | SetWindEnabled (const bool _enable)
| Enable/disable wind for this link. More...
virtual void | SetWindMode (const bool _mode)
| Set whether wind affects this body. More...
void | SetWorld (const WorldPtr &_newWorld)
| Set the world this object belongs to. More...
void | SetWorldPose (const ignition::math::Pose3d &_pose, const bool _notify=true, const bool _publish=true)
| Set the world pose of the entity. More...
void | SetWorldTwist (const ignition::math::Vector3d &_linear, const ignition::math::Vector3d &_angular, const bool _updateChildren=true)
| Set angular and linear rates of an physics::Entity. More...
virtual void | StopAnimation ()
| Stop the current animation, if any. More...
std::string | TypeStr () const
| Get the string name for the entity type. More...
virtual void | Update ()
| Update the object. More...
virtual void | Update ()
| Update the object. More...
void | Update (const common::UpdateInfo &_info)
| Update the collision. More...
void | updateDirtyPoseFromDARTTransformation ()
| Store DART Transformation to Entity::dirtyPose and add this link to World::dirtyPoses so that World::Update() trigger Entity::SetWorldPose() for this link. More...
virtual void | UpdateMass ()
| Update the mass matrix. More...
virtual void | UpdateParameters (sdf::ElementPtr _sdf)
| Update the parameters using new sdf values. More...
virtual void | UpdateSurface ()
| Update surface parameters. More...
void | UpdateWind (const common::UpdateInfo &_info)
| Update the wind. More...
common::URI | URI () const
| Return the common::URI of this entity. More...
bool | VisualId (const std::string &_visName, uint32_t &_visualId) const
| Get the unique ID of a visual. More...
bool | VisualPose (const uint32_t _id, ignition::math::Pose3d &_pose) const
| Get the pose of a visual. More...
const Visuals_M & | Visuals () const
| Return the link visual elements. More...
virtual bool | WindMode () const
| Get the wind mode. More...
ignition::math::Vector3d | WorldAngularAccel () const
| Get the angular acceleration of the body in the world frame, which is computed as (I^-1 * (T - w x L)), where I: inertia matrix in world frame T: sum of external torques in world frame L: angular momentum of CoG in world frame w: angular velocity in world frame. More...
ignition::math::Vector3d | WorldAngularMomentum () const
| Get the angular momentum of the body CoG in the world frame, which is computed as (I * w), where I: inertia matrix in world frame w: angular velocity in world frame. More...
virtual ignition::math::Vector3d | WorldAngularVel () const
| Get the angular velocity of the entity in the world frame. More...
virtual ignition::math::Vector3d | WorldCoGLinearVel () const
| Get the linear velocity at the body's center of gravity in the world frame. More...
ignition::math::Pose3d | WorldCoGPose () const
| Get the pose of the body's center of gravity in the world coordinate frame. More...
virtual ignition::math::Vector3d | WorldForce () const
| Get the force applied to the body in the world frame. More...
ignition::math::Pose3d | WorldInertialPose () const
| Get the world pose of the link inertia (cog position and Moment of Inertia frame). More...
ignition::math::Matrix3d | WorldInertiaMatrix () const
| Get the inertia matrix in the world frame. More...
ignition::math::Vector3d | WorldLinearAccel () const
| Get the linear acceleration of the body in the world frame. More...
virtual ignition::math::Vector3d | WorldLinearVel () const
| Get the linear velocity of the origin of the link frame, expressed in the world frame. More...
virtual ignition::math::Vector3d | WorldLinearVel (const ignition::math::Vector3d &_offset, const ignition::math::Quaterniond &_q) const
| Get the linear velocity of a point on the body in the world frame, using an offset expressed in an arbitrary frame. More...
virtual ignition::math::Vector3d | WorldLinearVel (const ignition::math::Vector3d &_offset=ignition::math::Vector3d::Zero) const
| Get the linear velocity of a point on the body in the world frame, using an offset expressed in a body-fixed frame. More...
virtual const ignition::math::Pose3d & | WorldPose () const
| Get the absolute pose of the entity. More...
virtual ignition::math::Vector3d | WorldTorque () const
| Get the torque applied to the body about the center of mass in world frame coordinates. More...
const ignition::math::Vector3d | WorldWindLinearVel () const
| Returns this link's wind velocity in the world coordinate frame. More...

## Protected Member Functions

void | ComputeScopedName ()
| Compute the scoped name of this object based on its parents. More...
virtual void | RegisterIntrospectionItems ()
| Register items in the introspection service. More...
virtual void | UnregisterIntrospectionItems ()
| Unregister items in the introspection service. More...

## Protected Attributes

ignition::math::Vector3d | angularAccel
| Angular acceleration. More...
common::PoseAnimationPtr | animation
| Current pose animation. More...
event::ConnectionPtr | animationConnection
| Connection used to update an animation. More...
ignition::math::Pose3d | animationStartPose
| Start pose of an animation. More...
std::vector< ignition::math::Pose3d > | attachedModelsOffset
| Offsets for the attached models. More...
Base_V | children
| Children of this entity. More...
std::vector< event::ConnectionPtr > | connections
| All our event connections. More...
ignition::math::Pose3d | dirtyPose
| The pose set by a physics engine. More...
InertialPtr | inertial
| Inertial properties. More...
bool | initialized = false
| This flag is set to true when the link is initialized. More...
std::vector< common::URI > | introspectionItems
| All the introspection items regsitered for this. More...
ignition::math::Vector3d | linearAccel
| Linear acceleration. More...
transport::NodePtr | node
| Communication node. More...
ignition::transport::Node | nodeIgn
| Ignition communication node. More...
BasePtr | parent
| Parent of this entity. 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...
ignition::transport::Node::Publisher | requestPubIgn
| Request publisher. More...
ignition::math::Vector3d | scale
| Scale of the entity. More...
sdf::ElementPtr | sdf
| The SDF values for this object. More...
transport::PublisherPtr | visPub
| Visual publisher. More...
ignition::transport::Node::Publisher | visPubIgn
| Visual publisher. More...
msgs::Visual * | visualMsg
| Visual message container. More...
Visuals_M | visuals
| Link visual elements. More...
WorldPtr | world
| Pointer to the world. More...
ignition::math::Pose3d | worldPose
| World pose of the entity. More...

## Detailed Description

DART Link class.

## Member Typedef Documentation

## Visuals_M

typedef std::map<uint32_t, msgs::Visual> Visuals_M

inherited

## Member Enumeration Documentation

## EntityType

enum EntityType

inherited

Unique identifiers for all entity types.

Enumerator
BASE | Base type.
ENTITY | Entity type.
MODEL | Model type.
LINK | Link type.
COLLISION | Collision type.
LIGHT | Light type.
VISUAL | Visual type.
JOINT | Joint type.
BALL_JOINT | BallJoint type.
HINGE2_JOINT | Hing2Joint type.
HINGE_JOINT | HingeJoint type.
SLIDER_JOINT | SliderJoint type.
SCREW_JOINT | ScrewJoint type.
UNIVERSAL_JOINT | UniversalJoint type.
GEARBOX_JOINT | GearboxJoint type.
FIXED_JOINT | FixedJoint type.
ACTOR | Actor type.
SHAPE | Shape type.
BOX_SHAPE | BoxShape type.
CYLINDER_SHAPE | CylinderShape type.
HEIGHTMAP_SHAPE | HeightmapShape type.
MAP_SHAPE | MapShape type.
MULTIRAY_SHAPE | MultiRayShape type.
RAY_SHAPE | RayShape type.
PLANE_SHAPE | PlaneShape type.
SPHERE_SHAPE | SphereShape type.
MESH_SHAPE | MeshShape type.
POLYLINE_SHAPE | PolylineShape type.
SENSOR_COLLISION | Indicates a collision shape used for sensing.

## Constructor & Destructor Documentation

## DARTLink()

DARTLink | ( | EntityPtr | _parent | ) |

explicit

Constructor.

## ~DARTLink()

virtual ~DARTLink | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## AddChild()

void AddChild | ( | BasePtr | _child | ) |

inherited

Add a child to this entity.

Parameters

  [in] | _child | Child entity.

## AddChildJoint()

void AddChildJoint | ( | JointPtr | _joint | ) |

inherited

Joints that have this Link as a parent Link.

Parameters

  [in] | _joint | Joint that is a child of this link.

## AddDARTChildJoint()

void AddDARTChildJoint | ( | DARTJointPtr | _dartChildJoint | ) |

Set child joint of this link.

Parameters

  [in] | _dartChildJoint | Pointer to the child joint.

## AddForce()

virtual void AddForce | ( | const ignition::math::Vector3d & | _force | ) |

virtual

Add a force to the body.

Parameters

  [in] | _force | Force to add.

Implements Link.

## AddForceAtRelativePosition()

virtual void AddForceAtRelativePosition | ( | const ignition::math::Vector3d & | _force,
|  | const ignition::math::Vector3d & | _relPos
| ) |  |

virtual

Add a force (in world frame coordinates) to the body at a position relative to the center of mass which is expressed in the link's own frame of reference.

Parameters

  [in] | _force | Force to add. The force must be expressed in the world reference frame.
  [in] | _relPos | Position on the link to add the force. This position must be expressed in the link's coordinates with respect to the link's center of mass.

Implements Link.

## AddForceAtWorldPosition()

virtual void AddForceAtWorldPosition | ( | const ignition::math::Vector3d & | _force,
|  | const ignition::math::Vector3d & | _pos
| ) |  |

virtual

Add a force to the body using a global position.

Parameters

  [in] | _force | Force to add.
  [in] | _pos | Position in global coord frame to add the force.

Implements Link.

## AddLinkForce()

virtual void AddLinkForce | ( | const ignition::math::Vector3d & | _force,
|  | const ignition::math::Vector3d & | _offset = `ignition::math::Vector3d::Zero`
| ) |  |

virtual

Add a force expressed in the link frame.

Parameters

  [in] | _force | Force to add. The force must be expressed in the link-fixed reference frame.
  [in] | _offset | Offset position expressed in coordinates of the link frame with respect to the link frame's origin. It defaults to the link origin.

Implements Link.

## AddParentJoint()

void AddParentJoint | ( | JointPtr | _joint | ) |

inherited

Joints that have this Link as a child Link.

Parameters

  [in] | _joint | Joint that is a parent of this link.

## AddRelativeForce()

virtual void AddRelativeForce | ( | const ignition::math::Vector3d & | _force | ) |

virtual

Add a force to the body, components are relative to the body's own frame of reference.

Parameters

  [in] | _force | Force to add.

Implements Link.

## AddRelativeTorque()

virtual void AddRelativeTorque | ( | const ignition::math::Vector3d & | _torque | ) |

virtual

Add a torque to the body, components are relative to the body's own frame of reference.

Parameters

  [in] | _torque | Torque value to add.

Implements Link.

## AddSlaveBodyNode()

void AddSlaveBodyNode | ( | dart::dynamics::BodyNode * | _dtBodyNode | ) |

Add pointer to a BodyNode representing a fragment of this link.

Parameters

  [in] | Pointer | to DART BodyNode.

## AddTorque()

virtual void AddTorque | ( | const ignition::math::Vector3d & | _torque | ) |

virtual

Add a torque to the body.

Parameters

  [in] | _torque | Torque value to add to the link.

Implements Link.

## AddType()

void AddType | ( | EntityType | _type | ) |

inherited

Add a type specifier.

Parameters

  [in] | _type | New type to append to this objects type definition.

## AttachStaticModel()

void AttachStaticModel | ( | ModelPtr & | _model,
|  | const ignition::math::Pose3d & | _offset
| ) |  |

inherited

Attach a static model to this link.

Parameters

  [in] | _model | Pointer to a static model.
  [in] | _offset | Pose relative to this link to place the model.

## Battery() [1/2]

common::BatteryPtr Battery | ( | const size_t | _index | ) | const

inherited

Get a battery based on an index.

Returns
  A pointer to a Battery. Null if the _index is invalid.

## Battery() [2/2]

common::BatteryPtr Battery | ( | const std::string & | _name | ) | const

inherited

Get a battery by name.

Parameters

  [in] | _name | Name of the battery to get.

Returns
  Pointer to the battery, NULL if the name is invalid.

## BatteryCount()

size_t BatteryCount | ( |  | ) | const

inherited

Get the number of batteries in this link.

Returns
  Size of this->batteries array.

See also
  Link::Battery()

## BoundingBox()

virtual ignition::math::Box BoundingBox | ( |  | ) | const

virtual inherited

Get the bounding box for the link and all the child elements.

Returns
  The link's bounding box.

Reimplemented from Entity.

## CollisionBoundingBox()

ignition::math::Box CollisionBoundingBox | ( |  | ) | const

inherited

Returns collision bounding box.

Returns
  Collsion bounding box.

## ComputeScopedName()

void ComputeScopedName | ( |  | ) |

protected inherited

Compute the scoped name of this object based on its parents.

See also
  Base::GetScopedName

## ConnectEnabled()

event::ConnectionPtr ConnectEnabled | ( | std::function< void(bool)> | _subscriber | ) |

inherited

Connect to the add entity signal.

Parameters

  [in] | _subscriber | Subsciber callback function.

Returns
  Pointer to the connection, which must be kept in scope.

## DARTBodyNode()

dart::dynamics::BodyNode* DARTBodyNode | ( |  | ) | const

Get pointer to DART BodyNode associated with this link.

Returns
  Pointer to DART BodyNode.

## DARTProperties()

DARTBodyNodePropPtr DARTProperties | ( |  | ) | const

Get DART BodyNode properties.

## DARTWorld()

dart::simulation::WorldPtr DARTWorld | ( | void |  | ) | const

Get pointer to DART World associated with this link.

Returns
  Pointer to the DART World.

## DetachAllStaticModels()

void DetachAllStaticModels | ( |  | ) |

inherited

Detach all static models from this link.

## DetachStaticModel()

void DetachStaticModel | ( | const std::string & | _modelName | ) |

inherited

Detach a static model from this link.

Parameters

  [in] | _modelName | Name of an attached model to detach.

## DirtyPose()

const ignition::math::Pose3d& DirtyPose | ( |  | ) | const

inherited

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.

## FillMsg()

void FillMsg | ( | msgs::Link & | _msg | ) |

inherited

Fill a link message.

Parameters

  [out] | _msg | Message to fill

## FindAllConnectedLinksHelper()

bool FindAllConnectedLinksHelper | ( | const LinkPtr & | _originalParentLink,
|  | Link_V & | _connectedLinks,
|  | bool | _fistLink = `false`
| ) |  |

inherited

Helper function to find all connected links of a link based on parent/child relations of joints.

For example, if Link0 --> Link1 --> ... --> LinkN is a kinematic chain with Link0 being the base link. Then, call by Link1: Link1->FindAllConnectedLinksHelper(Link0, _list, true); should return true with _list containing Link1 through LinkN. In the case the _originalParentLink is part of a loop, _connectedLinks is cleared and the function returns false.

Parameters

  [in] | _originParentLink | if this link is a child link of the search, we've found a loop.
  | [in/out] | _connectedLinks aggregate list of connected links.
  [in] | _fistLink | this is the first Link, skip over the parent link that matches the _originalParentLink.

Returns
  true if successfully found a subset of connected links

## Fini()

virtual void Fini | ( |  | ) |

virtual

Finalize the entity.

Reimplemented from Entity.

## GetAngularDamping()

double GetAngularDamping | ( |  | ) | const

inherited

Get the angular damping factor.

Returns
  Angular damping.

## GetByName()

BasePtr GetByName | ( | const std::string & | _name | ) |

inherited

Get by name.

Parameters

  [in] | _name | Get a child (or self) object by name

Returns
  A pointer to the object, NULL if not found

## GetChild() [1/2]

BasePtr GetChild | ( | const std::string & | _name | ) |

inherited

Get a child by name.

Parameters

  [in] | _name | Name of the child.

Returns
  A pointer to the object, NULL if not found

## GetChild() [2/2]

BasePtr GetChild | ( | unsigned int | _i | ) | const

inherited

Get a child by index.

Parameters

  [in] | _i | Index of the child to retreive.

Returns
  A pointer to the object, NULL if the index is invalid.

## GetChildCollision()

CollisionPtr GetChildCollision | ( | const std::string & | _name | ) |

inherited

Get a child collision entity, if one exists.

Parameters

  [in] | _name | Name of the child collision object.

Returns
  Pointer to the Collision object, or NULL if not found.

## GetChildCount()

unsigned int GetChildCount | ( |  | ) | const

inherited

Get the number of children.

Returns
  The number of children.

## GetChildJoints()

Joint_V GetChildJoints | ( |  | ) | const

inherited

Get the child joints.

## GetChildJointsLinks()

Link_V GetChildJointsLinks | ( |  | ) | const

inherited

Returns a vector of children Links connected by joints.

Returns
  A vector of children Links connected by joints.

## GetChildLink()

LinkPtr GetChildLink | ( | const std::string & | _name | ) |

inherited

Get a child linke entity, if one exists.

Parameters

  [in] | _name | Name of the child Link object.

Returns
  Pointer to the Link object, or NULL if not found.

## GetCollision() [1/2]

CollisionPtr GetCollision | ( | const std::string & | _name | ) |

inherited

Get a child collision by name.

Parameters

  [in] | _name | Name of the collision object.

Returns
  Pointer to the collision, NULL if the name was not found.

## GetCollision() [2/2]

CollisionPtr GetCollision | ( | unsigned int | _index | ) | const

inherited

Get a child collision by index.

Parameters

  [in] | _index | Index of the collision object.

Returns
  Pointer to the collision, NULL if the name was not found.

## GetCollisions()

Collision_V GetCollisions | ( |  | ) | const

inherited

Get all the child collisions.

Returns
  A std::vector of all the child collisions.

## GetDARTModel()

DARTModelPtr GetDARTModel | ( |  | ) | const

Get pointer to DART Model associated with this link.

Returns
  Pointer to the DART Model.

## GetDARTPhysics()

DARTPhysicsPtr GetDARTPhysics | ( | void |  | ) | const

Get pointer to DART Physics engine associated with this link.

Returns
  Pointer to the DART Physics engine.

## GetEnabled()

virtual bool GetEnabled | ( |  | ) | const

virtual

Get whether this body is enabled in the physics engine.

Returns
  True if the link is enabled.

Implements Link.

## GetGravityMode()

virtual bool GetGravityMode | ( |  | ) | const

virtual

Get the gravity mode.

Returns
  True if gravity is enabled.

Implements Link.

## GetId()

uint32_t GetId | ( |  | ) | const

inherited

Return the ID of this entity.

This id is unique.

Returns
  Integer ID.

## GetInertial()

InertialPtr GetInertial | ( |  | ) | const

inline inherited

Get the inertia of the link.

Returns
  Inertia of the link.

References Link::inertial.

## GetKinematic()

virtual bool GetKinematic | ( |  | ) | const

virtual

\TODO Implement this function.

Get whether this body is in the kinematic state.

Returns
  True if the link is kinematic only.

Reimplemented from Link.

## GetLinearDamping()

double GetLinearDamping | ( |  | ) | const

inherited

Get the linear damping factor.

Returns
  Linear damping.

## GetModel()

ModelPtr GetModel | ( |  | ) | const

inherited

Get the model that this body belongs to.

Returns
  Model that this body belongs to.

## GetName()

std::string GetName | ( |  | ) | const

inherited

Return the name of the entity.

Returns
  Name of the entity.

## GetNearestEntityBelow()

void GetNearestEntityBelow | ( | double & | _distBelow,
|  | std::string & | _entityName
| ) |  |

inherited

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

Parameters

  [out] | _distBelow | The distance to the nearest entity below.
  [out] | _entityName | The name of the nearest entity below.

## GetParent()

BasePtr GetParent | ( |  | ) | const

inherited

Get the parent.

Returns
  Pointer to the parent entity.

## GetParentId()

int GetParentId | ( |  | ) | const

inherited

Return the ID of the parent.

Returns
  Integer ID.

## GetParentJoints()

Joint_V GetParentJoints | ( |  | ) | const

inherited

Get the parent joints.

## GetParentJointsLinks()

Link_V GetParentJointsLinks | ( |  | ) | const

inherited

Returns a vector of parent Links connected by joints.

Returns
  Vector of parent Links connected by joints.

## GetParentModel()

ModelPtr GetParentModel | ( |  | ) |

inherited

Get the parent model, if one exists.

Returns
  Pointer to a model, or NULL if no parent model exists.

## GetSaveable()

bool GetSaveable | ( |  | ) | const

inherited

Get whether the object should be "saved", when the user selects to save the world to xml.

Returns
  True if the object is saveable.

## GetScopedName()

std::string GetScopedName | ( | bool | _prependWorldName = `false` | ) | const

inherited

Return the name of this entity with the model scope model1::...::modelN::entityName.

Parameters

  [in] | _prependWorldName | True to prended the returned string with the world name. The result will be world::model1::...::modelN::entityName.

Returns
  The scoped name.

## GetSDF()

virtual const sdf::ElementPtr GetSDF | ( |  | ) |

virtual inherited

Get the SDF values for the object.

Returns
  The SDF values for the object.

Reimplemented in Actor, and Model.

## GetSelfCollide()

bool GetSelfCollide | ( |  | ) | const

inherited

Get Self-Collision Flag.

Two links within the same model will not collide if both have self_collide == false.
link 1 and link2 collide = link1.self_collide || link2.self_collide Bodies connected by a joint are exempt from this, and will never collide.

Returns
  True if self collision is enabled.

## GetSensorCount()

unsigned int GetSensorCount | ( |  | ) | const

inherited

Get sensor count.

This will return the number of sensors created by the link when it was loaded. This function is commonly used with Link::GetSensorName.

Returns
  The number of sensors created by the link.

## GetSensorName()

std::string GetSensorName | ( | unsigned int | _index | ) | const

inherited

Get sensor name.

Get the name of a sensor based on an index. The index should be in the range of 0...Link::GetSensorCount().

Note
  A Link does not manage or maintain a pointer to a sensors::Sensor. Access to a Sensor object is accomplished through the sensors::SensorManager. This was done to separate the physics engine from the sensor engine.

Parameters

  [in] | _index | Index of the sensor name.

Returns
  The name of the sensor, or empty string if the index is out of bounds.

## GetType()

unsigned int GetType | ( |  | ) | const

inherited

Get the full type definition.

Returns
  The full type definition.

## GetVisualMessage()

msgs::Visual GetVisualMessage | ( | const std::string & | _name | ) | const

inherited

Returns the visual message specified by its name.

Parameters

  [in] | name | of the visual message

Returns
  visual message

## GetWorld()

const WorldPtr& GetWorld | ( |  | ) | const

inherited

Get the World this object is in.

Returns
  The World this object is part of.

## GetWorldEnergy()

double GetWorldEnergy | ( |  | ) | const

inherited

Returns this link's total energy, or sum of Link::GetWorldEnergyPotential() and Link::GetWorldEnergyKinetic().

Returns
  this link's total energy

## GetWorldEnergyKinetic()

double GetWorldEnergyKinetic | ( |  | ) | const

inherited

Returns this link's kinetic energy computed using link's CoG velocity in the inertial (world) frame.

Returns
  this link's kinetic energy

## GetWorldEnergyPotential()

double GetWorldEnergyPotential | ( |  | ) | const

inherited

Returns this link's potential energy, based on position in world frame and gravity.

Returns
  this link's potential energy,

## HasType()

bool HasType | ( | const EntityType & | _t | ) | const

inherited

Returns true if this object's type definition has the given type.

Parameters

  [in] | _t | Type to check.

Returns
  True if this object's type definition has the.

## Init()

virtual void Init | ( |  | ) |

virtual

Initialize the body.

Reimplemented from Link.

## InitialRelativePose()

ignition::math::Pose3d InitialRelativePose | ( |  | ) | const

inherited

Get the initial relative pose.

Returns
  The initial relative pose.

## IsCanonicalLink()

bool IsCanonicalLink | ( |  | ) | const

inline inherited

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

Returns
  True if the link is canonical.

## IsSelected()

bool IsSelected | ( |  | ) | const

inherited

True if the entity is selected by the user.

Returns
  True if the entity is selected.

## IsSoftBody()

bool IsSoftBody | ( |  | ) | const

Get whether this link is soft body.

True if this link is soft body.

## IsStatic()

bool IsStatic | ( |  | ) | const

inherited

Return whether this entity is static.

Returns
  True if static.

## Load()

virtual void Load | ( | sdf::ElementPtr | _sdf | ) |

virtual

Load the body based on an SDF element.

Parameters

  [in] | _sdf | SDF parameters.

Reimplemented from Link.

## MoveFrame()

void MoveFrame | ( | const ignition::math::Pose3d & | _worldReferenceFrameSrc,
|  | const ignition::math::Pose3d & | _worldReferenceFrameDst,
|  | const bool | _preserveWorldVelocity = `false`
| ) |  |

inherited

Move Link given source and target frames specified in world coordinates.

Assuming link's relative pose to source frame (_worldReferenceFrameSrc) remains unchanged relative to destination frame (_worldReferenceFrameDst).

Parameters

  [in] | _worldReferenceFrameSrc | initial reference frame to which this link is attached.
  [in] | _worldReferenceFrameDst | final location of the reference frame specified in world coordinates.
  [in] | _preserveWorldVelocity | True if to preserve the world velocity before move frame, default is false.

## OnPoseChange()

virtual void OnPoseChange | ( |  | ) |

virtual

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

Reimplemented from Link.

## operator==()

bool operator== | ( | const Base & | _ent | ) | const

inherited

Returns true if the entities are the same.

Checks only the name.

Parameters

  [in] | _ent | Base object to compare with.

Returns
  True if the entities are the same.

## PlaceOnEntity()

void PlaceOnEntity | ( | const std::string & | _entityName | ) |

inherited

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

Parameters

  [in] | _entityName | Name of the Entity this Entity should be ontop of.

## PlaceOnNearestEntityBelow()

void PlaceOnNearestEntityBelow | ( |  | ) |

inherited

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

## Print()

void Print | ( | const std::string & | _prefix | ) |

inherited

Print this object to screen via gzmsg.

Parameters

  [in] | _prefix | Usually a set of spaces.

## ProcessMsg()

void ProcessMsg | ( | const msgs::Link & | _msg | ) |

inherited

Update parameters from a message.

Parameters

  [in] | _msg | Message to read.

## RegisterIntrospectionItems()

virtual void RegisterIntrospectionItems | ( |  | ) |

protected virtual inherited

Register items in the introspection service.

Reimplemented from Base.

## RelativeAngularAccel()

ignition::math::Vector3d RelativeAngularAccel | ( |  | ) | const

virtual inherited

Get the angular acceleration of the body.

Returns
  Angular acceleration of the body.

Reimplemented from Entity.

## RelativeAngularVel()

ignition::math::Vector3d RelativeAngularVel | ( |  | ) | const

virtual inherited

Get the angular velocity of the body.

Returns
  Angular velocity of the body.

Reimplemented from Entity.

## RelativeForce()

ignition::math::Vector3d RelativeForce | ( |  | ) | const

inherited

Get the force applied to the body.

Returns
  Force applied to the body.

## RelativeLinearAccel()

ignition::math::Vector3d RelativeLinearAccel | ( |  | ) | const

virtual inherited

Get the linear acceleration of the body.

Returns
  Linear acceleration of the body.

Reimplemented from Entity.

## RelativeLinearVel()

ignition::math::Vector3d RelativeLinearVel | ( |  | ) | const

virtual inherited

Get the linear velocity of the body.

Returns
  Linear velocity of the body.

Reimplemented from Entity.

## RelativePose()

ignition::math::Pose3d RelativePose | ( |  | ) | const

inherited

Get the pose of the entity relative to its parent.

Returns
  The pose of the entity relative to its parent.

## RelativeTorque()

ignition::math::Vector3d RelativeTorque | ( |  | ) | const

inherited

Get the torque applied to the body.

Returns
  Torque applied to the body.

## RelativeWindLinearVel()

const ignition::math::Vector3d RelativeWindLinearVel | ( |  | ) | const

inherited

Returns this link's wind velocity.

Returns
  this link's wind velocity.

## RemoveChild() [1/7]

void RemoveChild | ( | const std::string & | _name | ) |

inherited

Remove a child by name.

Parameters

  [in] | _name | Name of the child.

## RemoveChild() [2/7]

void RemoveChild

inherited

Remove a child by name.

Parameters

  [in] | _name | Name of the child.

## RemoveChild() [3/7]

virtual void RemoveChild | ( | EntityPtr | _child | ) |

virtual inherited

## RemoveChild() [4/7]

void RemoveChild | ( | physics::BasePtr | _child | ) |

inherited

Remove a child by pointer.

Parameters

  [in] | _child | Pointer to the child.

## RemoveChild() [5/7]

void RemoveChild

inherited

Remove a child by pointer.

Parameters

  [in] | _child | Pointer to the child.

## RemoveChild() [6/7]

virtual void RemoveChild | ( | unsigned int | _id | ) |

virtual inherited

Remove a child from this entity.

Parameters

  [in] | _id | ID of the child to remove.

## RemoveChild() [7/7]

virtual void RemoveChild

inherited

Remove a child from this entity.

Parameters

  [in] | _id | ID of the child to remove.

## RemoveChildJoint()

void RemoveChildJoint | ( | const std::string & | _jointName | ) |

inherited

Remove Joints that have this Link as a parent Link.

Parameters

  [in] | _jointName | Child Joint name.

## RemoveChildren()

void RemoveChildren | ( |  | ) |

inherited

Remove all children.

## RemoveCollision()

void RemoveCollision | ( | const std::string & | _name | ) |

inherited

Remove a collision from the link.

Parameters

  [int] | _name Name of the collision to remove.

## RemoveParentJoint()

void RemoveParentJoint | ( | const std::string & | _jointName | ) |

inherited

Remove Joints that have this Link as a child Link.

Parameters

  [in] | _jointName | Parent Joint name.

## Reset() [1/5]

void Reset | ( |  | ) |

virtual inherited

Reset the link.

Reimplemented from Entity.

## Reset() [2/5]

virtual void Reset

inherited

Reset the entity.

## Reset() [3/5]

virtual void Reset

inherited

Reset the object.

## Reset() [4/5]

virtual void Reset

inherited

Calls recursive Reset on one of the Base::EntityType's.

Parameters

  [in] | _resetType | The type of reset operation

## Reset() [5/5]

virtual void Reset | ( | Base::EntityType | _resetType | ) |

virtual inherited

Calls recursive Reset on one of the Base::EntityType's.

Parameters

  [in] | _resetType | The type of reset operation

## ResetPhysicsStates()

void ResetPhysicsStates | ( |  | ) |

inherited

Reset the velocity, acceleration, force and torque of link.

## SetAngularAccel()

void SetAngularAccel | ( | const ignition::math::Vector3d & | _accel | ) |

inherited

Set the angular acceleration of the body.

Parameters

  [in] | _accel | Angular acceleration.

Deprecated:
  acceleration should be achieved by setting force, see SetForce()

## SetAngularDamping()

virtual void SetAngularDamping | ( | double | _damping | ) |

virtual

Set the angular damping factor.

Parameters

  [in] | _damping | Angular damping factor.

Implements Link.

## SetAngularVel()

virtual void SetAngularVel | ( | const ignition::math::Vector3d & | _vel | ) |

virtual

Set the angular velocity of the body.

Parameters

  [in] | _vel | Angular velocity.

Implements Link.

## SetAnimation() [1/2]

void SetAnimation | ( | common::PoseAnimationPtr | _anim | ) |

inherited

Set an animation for this entity.

Parameters

  [in] | _anim | Pose animation.

## SetAnimation() [2/2]

void SetAnimation | ( | const common::PoseAnimationPtr & | _anim,
|  | boost::function< void()> | _onComplete
| ) |  |

inherited

Set an animation for this entity.

Parameters

  [in] | _anim | Pose animation.
  [in] | _onComplete | Callback for when the animation completes.

## SetAutoDisable()

virtual void SetAutoDisable | ( | bool | _disable | ) |

virtual

Allow the link to auto disable.

Parameters

  [in] | _disable | If true, the link is allowed to auto disable.

Implements Link.

## SetCanonicalLink()

void SetCanonicalLink | ( | bool | _value | ) |

inherited

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

Parameters

  [in] | _value | True if the link is canonical.

## SetCollideMode()

void SetCollideMode | ( | const std::string & | _mode | ) |

inherited

Set the collide mode of the body.

Parameters

  [in] | _mode | Collision Mode, this can be: [all|none|sensors|fixed|ghost] all: collides with everything none: collides with nothing sensors: collides with everything else but other sensors fixed: collides with everything else but other fixed ghost: collides with everything else but other ghost

## SetDARTBodyNode()

void SetDARTBodyNode | ( | dart::dynamics::BodyNode * | _dtBodyNode | ) |

Set pointer to DART BodyNode associated with this link.

Parameters

  [in] | Pointer | to DART BodyNode.

## SetDARTParentJoint()

void SetDARTParentJoint | ( | DARTJointPtr | _dartParentJoint | ) |

Set parent joint of this link.

Parameters

  [in] | _dartParentJoint | Pointer to the parent joint.

## SetEnabled()

virtual void SetEnabled | ( | bool | _enable | ) | const

virtual

Set whether this body is enabled.

Parameters

  [in] | _enable | True to enable the link in the physics engine.

Implements Link.

## SetForce()

virtual void SetForce | ( | const ignition::math::Vector3d & | _force | ) |

virtual

Set the force applied to the body.

Parameters

  [in] | _force | Force value.

Implements Link.

## SetGravityMode()

virtual void SetGravityMode | ( | bool | _mode | ) |

virtual

Set whether gravity affects this body.

Parameters

  [in] | _mode | True to enable gravity.

Implements Link.

## SetInertial()

void SetInertial | ( | const InertialPtr & | _inertial | ) |

inherited

Set the mass of the link.

\parma[in] _inertial Inertial value for the link.

## SetInitialRelativePose()

void SetInitialRelativePose | ( | const ignition::math::Pose3d & | _pose | ) |

inherited

Set the initial pose.

Parameters

  [in] | _pose | The initial pose.

## SetKinematic()

virtual void SetKinematic | ( | const bool & | _kinematic | ) |

virtual

\TODO Implement this function.

Set whether this body is in the kinematic state.

Parameters

  [in] | _kinematic | True to make the link kinematic only.

Reimplemented from Link.

## SetLaserRetro()

void SetLaserRetro | ( | float | _retro | ) |

inherited

Set the laser retro reflectiveness.

Parameters

  [in] | _retro | Retro value for all child collisions.

## SetLinearAccel()

void SetLinearAccel | ( | const ignition::math::Vector3d & | _accel | ) |

inherited

Set the linear acceleration of the body.

Parameters

  [in] | _accel | Linear acceleration.

Deprecated:
  acceleration should be achieved by setting force, see SetForce()

## SetLinearDamping()

virtual void SetLinearDamping | ( | double | _damping | ) |

virtual

Set the linear damping factor.

Parameters

  [in] | _damping | Linear damping factor.

Implements Link.

## SetLinearVel()

virtual void SetLinearVel | ( | const ignition::math::Vector3d & | _vel | ) |

virtual

Set the linear velocity of the body.

Parameters

  [in] | _vel | Linear velocity.

Implements Link.

## SetLinkStatic()

virtual void SetLinkStatic | ( | bool | _static | ) |

virtual

Freeze link to ground (inertial frame).

Parameters

  [in] | _static | if true, freeze link to ground. Otherwise unfreeze link.

Implements Link.

## SetName()

virtual void SetName | ( | const std::string & | _name | ) |

virtual inherited

Set the name of the entity.

Parameters

  [in] | _name | The new name.

Reimplemented from Base.

## SetParent()

void SetParent | ( | BasePtr | _parent | ) |

inherited

Set the parent.

Parameters

  [in] | _parent | Parent object.

## SetPublishData()

void SetPublishData | ( | bool | _enable | ) |

inherited

Enable/Disable link data publishing.

Parameters

  [in] | _enable | True to enable publishing, false to stop publishing

## SetRelativePose()

void SetRelativePose | ( | const ignition::math::Pose3d & | _pose,
|  | const bool | _notify = `true`,
|  | const bool | _publish = `true`
| ) |  |

inherited

Set the pose of the entity relative to its parent.

Parameters

  [in] | _pose | The new pose.
  [in] | _notify | True = tell children of the pose change.
  [in] | _publish | True to publish the pose.

## SetSaveable()

void SetSaveable | ( | bool | _v | ) |

inherited

Set whether the object should be "saved", when the user selects to save the world to xml.

Parameters

  [in] | _v | Set to True if the object should be saved.

## SetScale()

void SetScale | ( | const ignition::math::Vector3d & | _scale | ) |

inherited

Set the scale of the link.

Parameters

  [in] | _scale | Scale to set the link to.

## SetSelected()

virtual bool SetSelected | ( | bool | _set | ) |

virtual inherited

Set whether this entity has been selected by the user through the gui.

Parameters

  [in] | _set | True to set the link as selected.

Reimplemented from Base.

## SetSelfCollide()

virtual void SetSelfCollide | ( | bool | _collide | ) |

virtual

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

See also
  GetSelfCollide

Parameters

  [in] | _collide | True to enable collisions.

Implements Link.

## SetState()

void SetState | ( | const LinkState & | _state | ) |

inherited

Set the current link state.

Parameters

  [in] | _state | The state to set the link to.

## SetStatic() [1/2]

virtual void SetStatic | ( | const bool & | _static | ) |

virtual inherited

## SetStatic() [2/2]

void SetStatic

inherited

Set whether this entity is static: immovable.

Parameters

  [in] | _static | True = static.

## SetTorque()

virtual void SetTorque | ( | const ignition::math::Vector3d & | _torque | ) |

virtual

Set the torque applied to the body.

Parameters

  [in] | _torque | Torque value.

Implements Link.

## SetVisualPose()

bool SetVisualPose | ( | const uint32_t | _id,
|  | const ignition::math::Pose3d & | _pose
| ) |  |

inherited

Set the pose of a visual.

Parameters

  [in] | _id | Unique ID of visual message.
  [in] | _pose | Pose relative to this link to place the visual.

Returns
  True if setting the pose of the visual was successful.

## SetWindEnabled()

void SetWindEnabled | ( | const bool | _enable | ) |

inherited

Enable/disable wind for this link.

Parameters

  [in] | _enable | True to enable the wind.

## SetWindMode()

virtual void SetWindMode | ( | const bool | _mode | ) |

virtual inherited

Set whether wind affects this body.

Parameters

  [in] | _mode | True to enable wind.

## SetWorld()

void SetWorld | ( | const WorldPtr & | _newWorld | ) |

inherited

Set the world this object belongs to.

This will also set the world for all children.

Parameters

  [in] | _newWorld | The new World this object is part of.

## SetWorldPose()

void SetWorldPose | ( | const ignition::math::Pose3d & | _pose,
|  | const bool | _notify = `true`,
|  | const bool | _publish = `true`
| ) |  |

inherited

Set the world pose of the entity.

Parameters

  [in] | _pose | The new world pose.
  [in] | _notify | True = tell children of the pose change.
  [in] | _publish | True to publish the pose.

## SetWorldTwist()

void SetWorldTwist | ( | const ignition::math::Vector3d & | _linear,
|  | const ignition::math::Vector3d & | _angular,
|  | const bool | _updateChildren = `true`
| ) |  |

inherited

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

Parameters

  [in] | _linear | Linear twist.
  [in] | _angular | Angular twist.
  [in] | _updateChildren | True to pass this update to child entities.

## StopAnimation()

virtual void StopAnimation | ( |  | ) |

virtual inherited

Stop the current animation, if any.

Reimplemented in Model.

## TypeStr()

std::string TypeStr | ( |  | ) | const

inherited

Get the string name for the entity type.

Returns
  The string name for this entity.

## UnregisterIntrospectionItems()

virtual void UnregisterIntrospectionItems | ( |  | ) |

protected virtual inherited

Unregister items in the introspection service.

## Update() [1/3]

virtual void Update

inline inherited

Update the object.

## Update() [2/3]

virtual void Update | ( |  | ) |

inline virtual inherited

Update the object.

Reimplemented in RayShape, MultiRayShape, Joint, Actor, Model, DARTModel, MapShape, DARTRayShape, ODERayShape, DARTMeshShape, ODEMeshShape, ODEPolylineShape, SimbodyRayShape, BulletRayShape, and MeshShape.

## Update() [3/3]

void Update | ( | const common::UpdateInfo & | _info | ) |

inherited

Update the collision.

Parameters

  [in] | _info | Update information.

## updateDirtyPoseFromDARTTransformation()

void updateDirtyPoseFromDARTTransformation | ( |  | ) |

Store DART Transformation to Entity::dirtyPose and add this link to World::dirtyPoses so that World::Update() trigger Entity::SetWorldPose() for this link.

## UpdateMass()

virtual void UpdateMass | ( |  | ) |

virtual

Update the mass matrix.

Reimplemented from Link.

## UpdateParameters()

virtual void UpdateParameters | ( | sdf::ElementPtr | _sdf | ) |

virtual inherited

Update the parameters using new sdf values.

Parameters

  [in] | _sdf | SDF values to load from.

Reimplemented from Entity.

## UpdateSurface()

virtual void UpdateSurface | ( |  | ) |

inline virtual inherited

Update surface parameters.

Reimplemented in ODELink.

## UpdateWind()

void UpdateWind | ( | const common::UpdateInfo & | _info | ) |

inherited

Update the wind.

Parameters

  [in] | _info | Update information.

## URI()

common::URI URI | ( |  | ) | const

inherited

Return the common::URI of this entity.

The URI includes the world where the entity is contained and all the hierarchy of sub-entities that can compose this entity. E.g.: A link entity contains the name of the link and the model where the link is contained.

Returns
  The URI of this entity.

## VisualId()

bool VisualId | ( | const std::string & | _visName,
|  | uint32_t & | _visualId
| ) |  | const

inherited

Get the unique ID of a visual.

Parameters

  [in] | _visName | Name of the visual.
  [out] | _visualId | The unique ID of the visual.

Returns
  True if getting the unique ID of the visual was successful.

## VisualPose()

bool VisualPose | ( | const uint32_t | _id,
|  | ignition::math::Pose3d & | _pose
| ) |  | const

inherited

Get the pose of a visual.

Parameters

  [in] | _id | Unique ID of visual.
  [out] | _pose | Pose of the visual relative to this link.

Returns
  True if getting the pose of the visual was successful.

## Visuals()

const Visuals_M& Visuals | ( |  | ) | const

inherited

Return the link visual elements.

Returns
  a map of unique ID to visual message

## WindMode()

virtual bool WindMode | ( |  | ) | const

virtual inherited

Get the wind mode.

Returns
  True if wind is enabled.

## WorldAngularAccel()

ignition::math::Vector3d WorldAngularAccel | ( |  | ) | const

virtual inherited

Get the angular acceleration of the body in the world frame, which is computed as (I^-1 * (T - w x L)), where I: inertia matrix in world frame T: sum of external torques in world frame L: angular momentum of CoG in world frame w: angular velocity in world frame.

Returns
  Angular acceleration of the body in the world frame.

Reimplemented from Entity.

## WorldAngularMomentum()

ignition::math::Vector3d WorldAngularMomentum | ( |  | ) | const

inherited

Get the angular momentum of the body CoG in the world frame, which is computed as (I * w), where I: inertia matrix in world frame w: angular velocity in world frame.

Returns
  Angular momentum of the body.

## WorldAngularVel()

virtual ignition::math::Vector3d WorldAngularVel | ( |  | ) | const

virtual

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

Returns
  A ignition::math::Vector3d for the velocity.

Reimplemented from Entity.

## WorldCoGLinearVel()

virtual ignition::math::Vector3d WorldCoGLinearVel | ( |  | ) | const

virtual

Get the linear velocity at the body's center of gravity in the world frame.

Returns
  Linear velocity at the body's center of gravity in the world frame.

Implements Link.

## WorldCoGPose()

ignition::math::Pose3d WorldCoGPose | ( |  | ) | const

inherited

Get the pose of the body's center of gravity in the world coordinate frame.

Returns
  Pose of the body's center of gravity in the world coordinate frame.

## WorldForce()

virtual ignition::math::Vector3d WorldForce | ( |  | ) | const

virtual

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

Returns
  Force applied to the body in the world frame.

Implements Link.

## WorldInertialPose()

ignition::math::Pose3d WorldInertialPose | ( |  | ) | const

inherited

Get the world pose of the link inertia (cog position and Moment of Inertia frame).

This differs from GetWorldCoGPose(), which returns the cog position in the link frame (not the Moment of Inertia frame).

Returns
  Inertial pose in world frame.

## WorldInertiaMatrix()

ignition::math::Matrix3d WorldInertiaMatrix | ( |  | ) | const

inherited

Get the inertia matrix in the world frame.

Returns
  Inertia matrix in world frame, returns matrix of zeros if link has no inertia.

## WorldLinearAccel()

ignition::math::Vector3d WorldLinearAccel | ( |  | ) | const

virtual inherited

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

Returns
  Linear acceleration of the body in the world frame.

Reimplemented from Entity.

## WorldLinearVel() [1/3]

virtual ignition::math::Vector3d WorldLinearVel | ( |  | ) | const

virtual inherited

Get the linear velocity of the origin of the link frame, expressed in the world frame.

Returns
  Linear velocity of the link frame.

Reimplemented from Entity.

## WorldLinearVel() [2/3]

virtual ignition::math::Vector3d WorldLinearVel | ( | const ignition::math::Vector3d & | _offset,
|  | const ignition::math::Quaterniond & | _q
| ) |  | const

virtual

Get the linear velocity of a point on the body in the world frame, using an offset expressed in an arbitrary frame.

Parameters

  [in] | _offset | Offset from the origin of the link frame expressed in a frame defined by _q.
  [in] | _q | Describes the rotation of a reference frame relative to the world reference frame.

Returns
  Linear velocity of the point on the body in the world frame.

Implements Link.

## WorldLinearVel() [3/3]

virtual ignition::math::Vector3d WorldLinearVel | ( | const ignition::math::Vector3d & | _offset = `ignition::math::Vector3d::Zero` | ) | const

virtual

Get the linear velocity of a point on the body in the world frame, using an offset expressed in a body-fixed frame.

If no offset is given, the velocity at the origin of the Link frame will be returned.

Parameters

  [in] | _offset | Offset of the point from the origin of the Link frame, expressed in the body-fixed frame.

Returns
  Linear velocity of the point on the body

Implements Link.

## WorldPose()

virtual const ignition::math::Pose3d& WorldPose | ( |  | ) | const

inline virtual inherited

Get the absolute pose of the entity.

Returns
  The absolute pose of the entity.

Reimplemented in Collision, and Light.

References Entity::worldPose.

## WorldTorque()

virtual ignition::math::Vector3d WorldTorque | ( |  | ) | const

virtual

Get the torque applied to the body about the center of mass in world frame coordinates.

Returns
  Torque applied to the body in the world frame.

Implements Link.

## WorldWindLinearVel()

const ignition::math::Vector3d WorldWindLinearVel | ( |  | ) | const

inherited

Returns this link's wind velocity in the world coordinate frame.

Returns
  this link's wind velocity.

## Member Data Documentation

## angularAccel

ignition::math::Vector3d angularAccel

protected inherited

Angular acceleration.

deprecated

## animation

common::PoseAnimationPtr animation

protected inherited

Current pose animation.

## animationConnection

event::ConnectionPtr animationConnection

protected inherited

Connection used to update an animation.

## animationStartPose

ignition::math::Pose3d animationStartPose

protected inherited

Start pose of an animation.

## attachedModelsOffset

std::vector<ignition::math::Pose3d> attachedModelsOffset

protected inherited

Offsets for the attached models.

## children

Base_V children

protected inherited

Children of this entity.

## connections

std::vector<event::ConnectionPtr> connections

protected inherited

All our event connections.

## dirtyPose

ignition::math::Pose3d dirtyPose

protected inherited

The pose set by a physics engine.

## inertial

InertialPtr inertial

protected inherited

Inertial properties.

Referenced by Link::GetInertial().

## initialized

bool initialized = false

protected inherited

This flag is set to true when the link is initialized.

## introspectionItems

std::vector<common::URI> introspectionItems

protected inherited

All the introspection items regsitered for this.

## linearAccel

ignition::math::Vector3d linearAccel

protected inherited

Linear acceleration.

deprecated

## node

transport::NodePtr node

protected inherited

Communication node.

## nodeIgn

ignition::transport::Node nodeIgn

protected inherited

Ignition communication node.

## parent

BasePtr parent

protected inherited

Parent of this entity.

## parentEntity

EntityPtr parentEntity

protected inherited

A helper that prevents numerous dynamic_casts.

## prevAnimationTime

common::Time prevAnimationTime

protected inherited

Previous time an animation was updated.

## requestPub

transport::PublisherPtr requestPub

protected inherited

Request publisher.

## requestPubIgn

ignition::transport::Node::Publisher requestPubIgn

protected inherited

Request publisher.

## scale

ignition::math::Vector3d scale

protected inherited

Scale of the entity.

## sdf

sdf::ElementPtr sdf

protected inherited

The SDF values for this object.

## visPub

transport::PublisherPtr visPub

protected inherited

Visual publisher.

## visPubIgn

ignition::transport::Node::Publisher visPubIgn

protected inherited

Visual publisher.

## visualMsg

msgs::Visual* visualMsg

protected inherited

Visual message container.

## visuals

Visuals_M visuals

protected inherited

Link visual elements.

## world

WorldPtr world

protected inherited

Pointer to the world.

## worldPose

ignition::math::Pose3d worldPose

mutable protected inherited

World pose of the entity.

Referenced by Entity::WorldPose().

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

- DARTLink.hh