DART  6.6.2
dart::dynamics::Group Class Reference

#include <Group.hpp>

Inheritance diagram for dart::dynamics::Group:
dart::dynamics::ReferentialSkeleton dart::dynamics::MetaSkeleton dart::common::Subject

Public Types

using NameChangedSignal = common::Signal< void(std::shared_ptr< const MetaSkeleton > _skeleton, const std::string &_oldName, const std::string &_newName)>
 

Public Member Functions

virtual ~Group ()=default
 Destructor. More...
 
void swapBodyNodeIndices (std::size_t _index1, std::size_t _index2)
 Swap the index of BodyNode _index1 with _index2. More...
 
void swapDofIndices (std::size_t _index1, std::size_t _index2)
 Swap the index of DegreeOfFreedom _index1 with _index2. More...
 
bool addComponent (BodyNode *_bn, bool _warning=true)
 Add a BodyNode and its parent DegreesOfFreedom to this Group. More...
 
bool addComponents (const std::vector< BodyNode * > &_bodyNodes, bool _warning=true)
 Add set of BodyNodes and their parent DegreesOfFreedom to this Group. More...
 
bool removeComponent (BodyNode *_bn, bool _warning=true)
 Remove a BodyNode and its parent DegreesOfFreedom from this Group. More...
 
bool removeComponents (const std::vector< BodyNode * > &_bodyNodes, bool _warning=true)
 Remove a set of BodyNodes and their parent DegreesOfFreedom from this Group. More...
 
bool addBodyNode (BodyNode *_bn, bool _warning=true)
 Add a BodyNode to this Group. More...
 
bool addBodyNodes (const std::vector< BodyNode * > &_bodyNodes, bool _warning=true)
 Add a set of BodyNodes to this Group. More...
 
bool removeBodyNode (BodyNode *_bn, bool _warning=true)
 Remove a BodyNode from this Group. More...
 
bool removeBodyNodes (const std::vector< BodyNode * > &_bodyNodes, bool _warning=true)
 Remove a set of BodyNodes from this Group. More...
 
bool addJoint (Joint *_joint, bool _addDofs=true, bool _warning=true)
 Add a Joint to this Group. More...
 
bool addJoints (const std::vector< Joint * > &_joints, bool _addDofs=true, bool _warning=true)
 Add a set of Joints to this Group. More...
 
bool removeJoint (Joint *_joint, bool _removeDofs=true, bool _warning=true)
 Remove a Joint from this Group. More...
 
bool removeJoints (const std::vector< Joint * > &_joints, bool _removeDofs=true, bool _warning=true)
 Remove a set of Joints from this Group. More...
 
bool addDof (DegreeOfFreedom *_dof, bool _addJoint=true, bool _warning=true)
 Add a DegreeOfFreedom to this Group. More...
 
bool addDofs (const std::vector< DegreeOfFreedom * > &_dofs, bool _addJoint=true, bool _warning=true)
 Add a set of DegreesOfFreedom to this Group. More...
 
bool removeDof (DegreeOfFreedom *_dof, bool _cleanupJoint=true, bool _warning=true)
 Remove a DegreeOfFreedom from this Group. More...
 
bool removeDofs (const std::vector< DegreeOfFreedom * > &_dofs, bool _cleanupJoint=true, bool _warning=true)
 Remove a set of DegreesOfFreedom from this Group. More...
 
std::unique_ptr< common::LockableReferencegetLockableReference () const override
 Returns mutex. More...
 
Name
const std::string & setName (const std::string &_name) override
 Set the name of this MetaSkeleton. More...
 
const std::string & getName () const override
 Get the name of this MetaSkeleton. More...
 
Structural Properties
std::size_t getNumSkeletons () const
 Returns number of skeletons associated with this ReferentialSkeleton. More...
 
bool hasSkeleton (const Skeleton *skel) const
 Returns whether this ReferentialSkeleton contains any BodyNode or Joint from skel. More...
 
std::size_t getNumBodyNodes () const override
 Get number of body nodes. More...
 
BodyNodegetBodyNode (std::size_t _idx) override
 Get BodyNode whose index is _idx. More...
 
const BodyNodegetBodyNode (std::size_t _idx) const override
 Get const BodyNode whose index is _idx. More...
 
BodyNodegetBodyNode (const std::string &name) override
 Returns the BodyNode of given name. More...
 
const BodyNodegetBodyNode (const std::string &name) const override
 Returns the BodyNode of given name. More...
 
const std::vector< BodyNode * > & getBodyNodes () override
 Get all the BodyNodes that are held by this MetaSkeleton. More...
 
const std::vector< const BodyNode * > & getBodyNodes () const override
 Get all the BodyNodes that are held by this MetaSkeleton. More...
 
std::vector< BodyNode * > getBodyNodes (const std::string &name) override
 Returns all the BodyNodes of given name. More...
 
std::vector< const BodyNode * > getBodyNodes (const std::string &name) const override
 Returns all the BodyNodes of given name. More...
 
bool hasBodyNode (const BodyNode *bodyNode) const override
 Returns whether this Skeleton contains bodyNode. More...
 
std::size_t getIndexOf (const BodyNode *_bn, bool _warning=true) const override
 Get the index of a specific BodyNode within this ReferentialSkeleton. More...
 
std::size_t getIndexOf (const Joint *_joint, bool _warning=true) const override
 Get the index of a specific Joint within this ReferentialSkeleton. More...
 
std::size_t getIndexOf (const DegreeOfFreedom *_dof, bool _warning=true) const override
 Get the index of a specific DegreeOfFreedom within this ReferentialSkeleton. More...
 
std::size_t getNumJoints () const override
 Get number of Joints. More...
 
JointgetJoint (std::size_t _idx) override
 Get Joint whose index is _idx. More...
 
const JointgetJoint (std::size_t _idx) const override
 Get const Joint whose index is _idx. More...
 
JointgetJoint (const std::string &name) override
 Returns the Joint of given name. More...
 
const JointgetJoint (const std::string &name) const override
 Returns the Joint of given name. More...
 
std::vector< Joint * > getJoints () override
 Returns all the joints that are held by this MetaSkeleton. More...
 
std::vector< const Joint * > getJoints () const override
 Returns all the joints that are held by this MetaSkeleton. More...
 
std::vector< Joint * > getJoints (const std::string &name) override
 Returns all the Joint of given name. More...
 
std::vector< const Joint * > getJoints (const std::string &name) const override
 Returns all the Joint of given name. More...
 
bool hasJoint (const Joint *joint) const override
 Returns whether this Skeleton contains join. More...
 
std::size_t getNumDofs () const override
 Return the number of degrees of freedom in this skeleton. More...
 
DegreeOfFreedomgetDof (std::size_t _idx) override
 Get degree of freedom (aka generalized coordinate) whose index is _idx. More...
 
const DegreeOfFreedomgetDof (std::size_t _idx) const override
 Get degree of freedom (aka generalized coordinate) whose index is _idx. More...
 
const std::vector< DegreeOfFreedom * > & getDofs () override
 Get the vector of DegreesOfFreedom for this MetaSkeleton. More...
 
std::vector< const DegreeOfFreedom * > getDofs () const override
 Get a vector of const DegreesOfFreedom for this MetaSkeleton. More...
 
Jacobians
math::Jacobian getJacobian (const JacobianNode *_node) const override
 Get the spatial Jacobian targeting the origin of a BodyNode. More...
 
math::Jacobian getJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf) const override
 Get the spatial Jacobian targeting the origin of a BodyNode. More...
 
math::Jacobian getJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const override
 Get the spatial Jacobian targeting an offset in a BodyNode. More...
 
math::Jacobian getJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf) const override
 Get the spatial Jacobian targeting an offset in a BodyNode. More...
 
math::Jacobian getWorldJacobian (const JacobianNode *_node) const override
 Get the spatial Jacobian targeting the origin of a BodyNode. More...
 
math::Jacobian getWorldJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const override
 Get the spatial Jacobian targeting an offset in a BodyNode. More...
 
math::LinearJacobian getLinearJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the linear Jacobian targeting the origin of a BodyNode. More...
 
math::LinearJacobian getLinearJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the linear Jacobian targeting an offset in a BodyNode. More...
 
math::AngularJacobian getAngularJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the angular Jacobian of a BodyNode. More...
 
math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node) const override
 Get the spatial Jacobian time derivative targeting the origin of a BodyNode. More...
 
math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf) const override
 Get the spatial Jacobian time derivative targeting the origin of a BodyNode. More...
 
math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const override
 Get the spatial Jacobian time derivative targeting an offset in a BodyNode. More...
 
math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf) const override
 Get the spatial Jacobian time derivative targeting an offset in a BodyNode. More...
 
math::Jacobian getJacobianClassicDeriv (const JacobianNode *_node) const override
 Get the spatial Jacobian (classical) time derivative targeting the origin of a BodyNode. More...
 
math::Jacobian getJacobianClassicDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf) const override
 Get the spatial Jacobian (classical) time derivative targeting the origin a BodyNode. More...
 
math::Jacobian getJacobianClassicDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the spatial Jacobian (classical) time derivative targeting an offset in a BodyNode. More...
 
math::LinearJacobian getLinearJacobianDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const override
 of a BodyNode. More...
 
math::LinearJacobian getLinearJacobianDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the linear Jacobian (classical) time derivative targeting an offset in a BodyNode. More...
 
math::AngularJacobian getAngularJacobianDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the angular Jacobian time derivative of a BodyNode. More...
 
Jacobians
math::Jacobian getJacobian (const JacobianNode *_node, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf) const
 Get the spatial Jacobian targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton. More...
 
math::Jacobian getJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf) const
 Get the spatial Jacobian targeting an offset in a BodyNode relative to another BodyNode in the same Skeleton. More...
 
math::LinearJacobian getLinearJacobian (const JacobianNode *_node, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf=Frame::World()) const
 Get the linear Jacobian targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton. More...
 
math::LinearJacobian getLinearJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf=Frame::World()) const
 Get the linear Jacobian targeting an offset in a BodyNode relative to another BodyNode in the same Skeleton. More...
 
Jacobian derivatives
math::AngularJacobian getAngularJacobian (const JacobianNode *_node, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf=Frame::World()) const
 Get the angular Jacobian of a BodyNode relative to another BodyNode in the same Skeleton. More...
 
math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf) const
 Get the spatial Jacobian time derivative targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton. More...
 
math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf) const
 Get the spatial Jacobian time derivative targeting an offset in a BodyNode relative to another Bodynode in the same Skeleton. More...
 
Equations of Motion
double getMass () const override
 Get the total mass of all BodyNodes in this ReferentialSkeleton. More...
 
const Eigen::MatrixXd & getMassMatrix () const override
 Get the Mass Matrix of the MetaSkeleton. More...
 
const Eigen::MatrixXd & getAugMassMatrix () const override
 Get augmented mass matrix of the skeleton. More...
 
const Eigen::MatrixXd & getInvMassMatrix () const override
 Get inverse of Mass Matrix of the MetaSkeleton. More...
 
const Eigen::MatrixXd & getInvAugMassMatrix () const override
 Get inverse of augmented Mass Matrix of the MetaSkeleton. More...
 
const Eigen::VectorXd & getCoriolisForces () const override
 Get Coriolis force vector of the MetaSkeleton's BodyNodes. More...
 
const Eigen::VectorXd & getGravityForces () const override
 Get gravity force vector of the MetaSkeleton. More...
 
const Eigen::VectorXd & getCoriolisAndGravityForces () const override
 Get combined vector of Coriolis force and gravity force of the MetaSkeleton. More...
 
const Eigen::VectorXd & getExternalForces () const override
 Get external force vector of the MetaSkeleton. More...
 
const Eigen::VectorXd & getConstraintForces () const override
 Get constraint force vector. More...
 
void clearExternalForces () override
 Clear the external forces of the BodyNodes in this MetaSkeleton. More...
 
void clearInternalForces () override
 Clear the internal forces of the BodyNodes in this MetaSkeleton. More...
 
double computeKineticEnergy () const override
 Get the kinetic energy of this MetaSkeleton. More...
 
double computePotentialEnergy () const override
 Get the potential energy of this MetaSkeleton. More...
 
void clearCollidingBodies () override
 Clear collision flags of the BodyNodes in this MetaSkeleton. More...
 
Center of Mass Jacobian
Eigen::Vector3d getCOM (const Frame *_withRespectTo=Frame::World()) const override
 Get the MetaSkeleton's COM with respect to any Frame (default is World Frame) More...
 
Eigen::Vector6d getCOMSpatialVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the Skeleton's COM spatial velocity in terms of any Frame (default is World Frame) More...
 
Eigen::Vector3d getCOMLinearVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the Skeleton's COM linear velocity in terms of any Frame (default is World Frame) More...
 
Eigen::Vector6d getCOMSpatialAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the Skeleton's COM spatial acceleration in terms of any Frame (default is World Frame) More...
 
Eigen::Vector3d getCOMLinearAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the MetaSkeleton's COM linear acceleration in terms of any Frame (default is World Frame) More...
 
math::Jacobian getCOMJacobian (const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the MetaSkeleton's COM Jacobian in terms of any Frame (default is World Frame) More...
 
math::LinearJacobian getCOMLinearJacobian (const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the MetaSkeleton's COM Linear Jacobian in terms of any Frame (default is World Frame) More...
 
math::Jacobian getCOMJacobianSpatialDeriv (const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the Skeleton's COM Jacobian spatial time derivative in terms of any Frame (default is World Frame). More...
 
math::LinearJacobian getCOMLinearJacobianDeriv (const Frame *_inCoordinatesOf=Frame::World()) const override
 Get the Skeleton's COM Linear Jacobian time derivative in terms of any Frame (default is World Frame). More...
 
Command
void setCommand (std::size_t _index, double _command)
 Set a single command. More...
 
double getCommand (std::size_t _index) const
 Get a single command. More...
 
void setCommands (const Eigen::VectorXd &_commands)
 Set commands for all generalized coordinates. More...
 
void setCommands (const std::vector< std::size_t > &_indices, const Eigen::VectorXd &_commands)
 Set commands for a subset of the generalized coordinates. More...
 
Eigen::VectorXd getCommands () const
 Get commands for all generalized coordinates. More...
 
Eigen::VectorXd getCommands (const std::vector< std::size_t > &_indices) const
 Get commands for a subset of the generalized coordinates. More...
 
void resetCommands ()
 Set all commands to zero. More...
 
Position
void setPosition (std::size_t index, double _position)
 Set the position of a single generalized coordinate. More...
 
double getPosition (std::size_t _index) const
 Get the position of a single generalized coordinate. More...
 
void setPositions (const Eigen::VectorXd &_positions)
 Set the positions for all generalized coordinates. More...
 
void setPositions (const std::vector< std::size_t > &_indices, const Eigen::VectorXd &_positions)
 Set the positions for a subset of the generalized coordinates. More...
 
Eigen::VectorXd getPositions () const
 Get the positions for all generalized coordinates. More...
 
Eigen::VectorXd getPositions (const std::vector< std::size_t > &_indices) const
 Get the positions for a subset of the generalized coordinates. More...
 
void resetPositions ()
 Set all positions to zero. More...
 
void setPositionLowerLimit (std::size_t _index, double _position)
 Set the lower limit of a generalized coordinate's position. More...
 
void setPositionLowerLimits (const Eigen::VectorXd &positions)
 Set the lower limits for all generalized coordinates. More...
 
void setPositionLowerLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &positions)
 Set the lower limits for a subset of the generalized coordinates. More...
 
double getPositionLowerLimit (std::size_t _index) const
 Get the lower limit of a generalized coordinate's position. More...
 
Eigen::VectorXd getPositionLowerLimits () const
 Get the lower limits for all generalized coordinates. More...
 
Eigen::VectorXd getPositionLowerLimits (const std::vector< std::size_t > &indices) const
 Get the lower limits for a subset of the generalized coordinates. More...
 
void setPositionUpperLimit (std::size_t _index, double _position)
 Set the upper limit of a generalized coordainte's position. More...
 
void setPositionUpperLimits (const Eigen::VectorXd &positions)
 Set the upper limits for all generalized coordinates. More...
 
void setPositionUpperLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &positions)
 Set the upper limits for a subset of the generalized coordinates. More...
 
double getPositionUpperLimit (std::size_t _index) const
 Get the upper limit of a generalized coordinate's position. More...
 
Eigen::VectorXd getPositionUpperLimits () const
 Get the upper limits for all generalized coordinates. More...
 
Eigen::VectorXd getPositionUpperLimits (const std::vector< std::size_t > &indices) const
 Get the upper limits for a subset of the generalized coordinates. More...
 
Velocity
void setVelocity (std::size_t _index, double _velocity)
 Set the velocity of a single generalized coordinate. More...
 
double getVelocity (std::size_t _index) const
 Get the velocity of a single generalized coordinate. More...
 
void setVelocities (const Eigen::VectorXd &_velocities)
 Set the velocities of all generalized coordinates. More...
 
void setVelocities (const std::vector< std::size_t > &_indices, const Eigen::VectorXd &_velocities)
 Set the velocities of a subset of the generalized coordinates. More...
 
Eigen::VectorXd getVelocities () const
 Get the velocities for all generalized coordinates. More...
 
Eigen::VectorXd getVelocities (const std::vector< std::size_t > &_indices) const
 Get the velocities for a subset of the generalized coordinates. More...
 
void resetVelocities ()
 Set all velocities to zero. More...
 
void setVelocityLowerLimit (std::size_t _index, double _velocity)
 Set the lower limit of a generalized coordinate's velocity. More...
 
void setVelocityLowerLimits (const Eigen::VectorXd &velocities)
 Set the lower limits for all generalized coordinates's velocity. More...
 
void setVelocityLowerLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &velocities)
 Set the lower limits for a subset of the generalized coordinates's velocity. More...
 
double getVelocityLowerLimit (std::size_t _index)
 Get the lower limit of a generalized coordinate's velocity. More...
 
Eigen::VectorXd getVelocityLowerLimits () const
 Get the lower limits for all generalized coordinates's velocity. More...
 
Eigen::VectorXd getVelocityLowerLimits (const std::vector< std::size_t > &indices) const
 Get the lower limits for a subset of the generalized coordinates's velocity. More...
 
void setVelocityUpperLimit (std::size_t _index, double _velocity)
 Set the upper limit of a generalized coordinate's velocity. More...
 
void setVelocityUpperLimits (const Eigen::VectorXd &velocities)
 Set the upper limits for all generalized coordinates's velocity. More...
 
void setVelocityUpperLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &velocities)
 Set the upper limits for a subset of the generalized coordinates's velocity. More...
 
double getVelocityUpperLimit (std::size_t _index)
 Get the upper limit of a generalized coordinate's velocity. More...
 
Eigen::VectorXd getVelocityUpperLimits () const
 Get the upper limits for all generalized coordinates's velocity. More...
 
Eigen::VectorXd getVelocityUpperLimits (const std::vector< std::size_t > &indices) const
 Get the upper limits for a subset of the generalized coordinates's velocity. More...
 
Acceleration
void setAcceleration (std::size_t _index, double _acceleration)
 Set the acceleration of a single generalized coordinate. More...
 
double getAcceleration (std::size_t _index) const
 Get the acceleration of a single generalized coordinate. More...
 
void setAccelerations (const Eigen::VectorXd &_accelerations)
 Set the accelerations of all generalized coordinates. More...
 
void setAccelerations (const std::vector< std::size_t > &_indices, const Eigen::VectorXd &_accelerations)
 Set the accelerations of a subset of the generalized coordinates. More...
 
Eigen::VectorXd getAccelerations () const
 Get the accelerations for all generalized coordinates. More...
 
Eigen::VectorXd getAccelerations (const std::vector< std::size_t > &_indices) const
 Get the accelerations for a subset of the generalized coordinates. More...
 
void resetAccelerations ()
 Set all accelerations to zero. More...
 
void setAccelerationLowerLimit (std::size_t _index, double _acceleration)
 Set the lower limit of a generalized coordinate's acceleration. More...
 
void setAccelerationLowerLimits (const Eigen::VectorXd &accelerations)
 Set the lower limits for all generalized coordinates's acceleration. More...
 
void setAccelerationLowerLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &accelerations)
 Set the lower limits for a subset of the generalized coordinates's acceleration. More...
 
double getAccelerationLowerLimit (std::size_t _index) const
 Get the lower limit of a generalized coordinate's acceleration. More...
 
Eigen::VectorXd getAccelerationLowerLimits () const
 Get the lower limits for all generalized coordinates's acceleration. More...
 
Eigen::VectorXd getAccelerationLowerLimits (const std::vector< std::size_t > &indices) const
 Get the lower limits for a subset of the generalized coordinates's acceleration. More...
 
void setAccelerationUpperLimit (std::size_t _index, double _acceleration)
 Set the upper limit of a generalized coordinate's acceleration. More...
 
void setAccelerationUpperLimits (const Eigen::VectorXd &accelerations)
 Set the upper limits for all generalized coordinates's acceleration. More...
 
void setAccelerationUpperLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &accelerations)
 Set the upper limits for a subset of the generalized coordinates's acceleration. More...
 
double getAccelerationUpperLimit (std::size_t _index) const
 Get the upper limit of a generalized coordinate's acceleration. More...
 
Eigen::VectorXd getAccelerationUpperLimits () const
 Get the upper limits for all generalized coordinates's acceleration. More...
 
Eigen::VectorXd getAccelerationUpperLimits (const std::vector< std::size_t > &indices) const
 Get the upper limits for a subset of the generalized coordinates's acceleration. More...
 
Force
void setForce (std::size_t _index, double _force)
 Set the force of a single generalized coordinate. More...
 
double getForce (std::size_t _index) const
 Get the force of a single generalized coordinate. More...
 
void setForces (const Eigen::VectorXd &_forces)
 Set the forces of all generalized coordinates. More...
 
void setForces (const std::vector< std::size_t > &_index, const Eigen::VectorXd &_forces)
 Set the forces of a subset of the generalized coordinates. More...
 
Eigen::VectorXd getForces () const
 Get the forces for all generalized coordinates. More...
 
Eigen::VectorXd getForces (const std::vector< std::size_t > &_indices) const
 Get the forces for a subset of the generalized coordinates. More...
 
void resetGeneralizedForces ()
 Set all forces of the generalized coordinates to zero. More...
 
void setForceLowerLimit (std::size_t _index, double _force)
 Set the lower limit of a generalized coordinate's force. More...
 
void setForceLowerLimits (const Eigen::VectorXd &forces)
 Set the lower limits for all generalized coordinates's force. More...
 
void setForceLowerLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &forces)
 Set the lower limits for a subset of the generalized coordinates's force. More...
 
double getForceLowerLimit (std::size_t _index) const
 Get the lower limit of a generalized coordinate's force. More...
 
Eigen::VectorXd getForceLowerLimits () const
 Get the lower limits for all generalized coordinates's force. More...
 
Eigen::VectorXd getForceLowerLimits (const std::vector< std::size_t > &indices) const
 Get the lower limits for a subset of the generalized coordinates's force. More...
 
void setForceUpperLimit (std::size_t _index, double _force)
 Set the upper limit of a generalized coordinate's force. More...
 
void setForceUpperLimits (const Eigen::VectorXd &forces)
 Set the upperlimits for all generalized coordinates's force. More...
 
void setForceUpperLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &forces)
 Set the upper limits for a subset of the generalized coordinates's force. More...
 
double getForceUpperLimit (std::size_t _index) const
 Get the upper limit of a generalized coordinate's force. More...
 
Eigen::VectorXd getForceUpperLimits () const
 Get the upper limits for all generalized coordinates's force. More...
 
Eigen::VectorXd getForceUpperLimits (const std::vector< std::size_t > &indices) const
 Get the upper limits for a subset of the generalized coordinates's force. More...
 
Velocity Change
Eigen::VectorXd getVelocityChanges () const
 Get the velocity changes for all the generalized coordinates. More...
 
Constraint Impulse
void setJointConstraintImpulses (const Eigen::VectorXd &_impulses)
 Set the constraint impulses for the generalized coordinates. More...
 
Eigen::VectorXd getJointConstraintImpulses () const
 Get the constraint impulses for the generalized coordinates. More...
 
Equations of Motion
double computeLagrangian () const
 Compute and return Lagrangian of this MetaSkeleton. More...
 
double getKineticEnergy () const
 Get the kinetic energy of this MetaSkeleton. More...
 
double getPotentialEnergy () const
 Get the potential energy of this MetaSkeleton. More...
 

Static Public Member Functions

static GroupPtr create (const std::string &_name="Group", const std::vector< BodyNode * > &_bodyNodes=std::vector< BodyNode * >(), bool _includeJoints=true, bool _includeDofs=true)
 Create a Group out of a set of BodyNodes. More...
 
static GroupPtr create (const std::string &_name, const std::vector< DegreeOfFreedom * > &_dofs, bool _includeBodyNodes=true, bool _includeJoints=true)
 Create a Group out of a set of DegreesOfFreedom. More...
 
static GroupPtr create (const std::string &_name, const MetaSkeletonPtr &_metaSkeleton)
 Create a Group that mimics the given MetaSkeleton. More...
 

Public Attributes

common::SlotRegister< NameChangedSignalonNameChanged
 

Protected Member Functions

 Group (const std::string &_name, const std::vector< BodyNode * > &_bodyNodes, bool _includeJoints, bool _includeDofs)
 Default constructor. More...
 
 Group (const std::string &_name, const std::vector< DegreeOfFreedom * > &_dofs, bool _includeBodyNodes, bool _includeJoints)
 Alternative constructor. More...
 
 Group (const std::string &_name, const MetaSkeletonPtr &_metaSkeleton)
 MetaSkeleton-based constructor. More...
 
void registerComponent (BodyNode *_bn)
 Add a BodyNode, along with its parent Joint and parent DegreesOfFreedom to this ReferentialSkeleton. More...
 
void registerBodyNode (BodyNode *_bn)
 Add a BodyNode to this ReferentialSkeleton, ignoring its Joint and DegreesOfFreedom. More...
 
void registerJoint (Joint *_joint)
 Add a Joint to this Referential Skeleton, ignoring its DegreesOfFreedom. More...
 
void registerDegreeOfFreedom (DegreeOfFreedom *_dof)
 Add a DegreeOfFreedom to this ReferentialSkeleton. More...
 
void unregisterComponent (BodyNode *_bn)
 Completely remove a BodyNode and its parent DegreesOfFreedom from this ReferentialSkeleton. More...
 
void unregisterBodyNode (BodyNode *_bn, bool _unregisterDofs)
 Remove a BodyNode from this ReferentialSkeleton, ignoring its parent DegreesOfFreedom. More...
 
void unregisterJoint (BodyNode *_child)
 Remove a Joint from this ReferentialSkeleton. More...
 
void unregisterDegreeOfFreedom (BodyNode *_bn, std::size_t _localIndex)
 Remove a DegreeOfFreedom from this ReferentialSkeleton. More...
 
void updateCaches ()
 Update the caches to match any changes to the structure of this ReferentialSkeleton. More...
 
void sendDestructionNotification () const
 Send a destruction notification to all Observers. More...
 
void addObserver (Observer *_observer) const
 Add an Observer to the list of Observers. More...
 
void removeObserver (Observer *_observer) const
 Remove an Observer from the list of Observers. More...
 

Protected Attributes

std::weak_ptr< MetaSkeletonmPtr
 Weak pointer to this Skeleton. More...
 
std::string mName
 Name of this ReferentialSkeleton. More...
 
std::unordered_set< const Skeleton * > mSkeletons
 Skeletons that this ReferentialSkeleton contains any BodyNode or Joint from the Skeletons. More...
 
std::set< std::mutex * > mSkeletonMutexes
 Mutexes of the skeletons. More...
 
std::vector< BodyNodePtrmBodyNodes
 BodyNodes that this ReferentialSkeleton references. More...
 
std::vector< BodyNode * > mRawBodyNodes
 Raw BodyNode pointers. This vector is used for the MetaSkeleton API. More...
 
std::vector< const BodyNode * > mRawConstBodyNodes
 Raw const BodyNode pointers. This vector is used for the MetaSkeleton API. More...
 
std::vector< JointPtrmJoints
 Joints that this ReferentialSkeleton references. More...
 
std::vector< DegreeOfFreedomPtrmDofs
 DegreesOfFreedom that this ReferentialSkeleton references. More...
 
std::vector< DegreeOfFreedom * > mRawDofs
 Raw DegreeOfFreedom vector. This vector is used for the MetaSkeleton API. More...
 
std::vector< const DegreeOfFreedom * > mRawConstDofs
 Raw const DegreeOfFreedom vector. More...
 
std::unordered_map< const BodyNode *, IndexMapmIndexMap
 Raw const DegreeOfFreedom. This vector is used for the MetaSkeleton API. More...
 
Eigen::MatrixXd mM
 Cache for Mass Matrix. More...
 
Eigen::MatrixXd mAugM
 Cache for Augmented Mass Matrix. More...
 
Eigen::MatrixXd mInvM
 Cache for inverse Mass Matrix. More...
 
Eigen::MatrixXd mInvAugM
 Cache for inverse Augmented Mass Matrix. More...
 
Eigen::VectorXd mCvec
 Cache for Coriolis vector. More...
 
Eigen::VectorXd mG
 Cache for gravity vector. More...
 
Eigen::VectorXd mCg
 Cache for combined Coriolis and gravity vector. More...
 
Eigen::VectorXd mFext
 Cache for external force vector. More...
 
Eigen::VectorXd mFc
 Cache for constraint force vector. More...
 
NameChangedSignal mNameChangedSignal
 
std::set< Observer * > mObservers
 List of current Observers. More...
 

Private Member Functions

void registerSkeleton (const Skeleton *skel)
 Add a Skeleton to this ReferentialSkeleton, ignoring its Joint and DegreesOfFreedom. More...
 
void unregisterSkeleton (const Skeleton *skel)
 Removes a Skeleton from this ReferentialSkeleton. More...
 

Member Typedef Documentation

◆ NameChangedSignal

using dart::dynamics::MetaSkeleton::NameChangedSignal = common::Signal<void(std::shared_ptr<const MetaSkeleton> _skeleton, const std::string& _oldName, const std::string& _newName)>
inherited

Constructor & Destructor Documentation

◆ ~Group()

virtual dart::dynamics::Group::~Group ( )
virtualdefault

Destructor.

◆ Group() [1/3]

dart::dynamics::Group::Group ( const std::string &  _name,
const std::vector< BodyNode * > &  _bodyNodes,
bool  _includeJoints,
bool  _includeDofs 
)
protected

Default constructor.

◆ Group() [2/3]

dart::dynamics::Group::Group ( const std::string &  _name,
const std::vector< DegreeOfFreedom * > &  _dofs,
bool  _includeBodyNodes,
bool  _includeJoints 
)
protected

Alternative constructor.

◆ Group() [3/3]

dart::dynamics::Group::Group ( const std::string &  _name,
const MetaSkeletonPtr _metaSkeleton 
)
protected

MetaSkeleton-based constructor.

Member Function Documentation

◆ addBodyNode()

bool dart::dynamics::Group::addBodyNode ( BodyNode _bn,
bool  _warning = true 
)

Add a BodyNode to this Group.

If _warning is true, you will be warned when you attempt to add the same BodyNode twice, and an assertion will be thrown.

This function will return false if the BodyNode was already in the Group.

◆ addBodyNodes()

bool dart::dynamics::Group::addBodyNodes ( const std::vector< BodyNode * > &  _bodyNodes,
bool  _warning = true 
)

Add a set of BodyNodes to this Group.

If _warning is true, you will be warned when you attempt to add a BodyNode that is already in the Group, and an assertion will be thrown.

This function will return false if all of the BodyNodes were already in the Group.

◆ addComponent()

bool dart::dynamics::Group::addComponent ( BodyNode _bn,
bool  _warning = true 
)

Add a BodyNode and its parent DegreesOfFreedom to this Group.

If _warning is true, you will be warned when the BodyNode and all its DegreesOfFreedom were already in the Group, and an assertion will be thrown.

This function will return false if the BodyNode and all its DegreesOfFreedom were already in the Group.

◆ addComponents()

bool dart::dynamics::Group::addComponents ( const std::vector< BodyNode * > &  _bodyNodes,
bool  _warning = true 
)

Add set of BodyNodes and their parent DegreesOfFreedom to this Group.

If _warning is true, you will be warned when an entire component was already in the Group, and an assertion will be thrown.

This function will return false if all of the components in the set were already in this Group.

◆ addDof()

bool dart::dynamics::Group::addDof ( DegreeOfFreedom _dof,
bool  _addJoint = true,
bool  _warning = true 
)

Add a DegreeOfFreedom to this Group.

If _addJoint is true, the Joint of this DOF will also be added to the Group. If _warning is true, you will be warned when you attempt to add the same DegreeOfFreedom twice, and an assertion will be thrown.

This function will return false if the DegreeOfFreedom was already in the Group.

◆ addDofs()

bool dart::dynamics::Group::addDofs ( const std::vector< DegreeOfFreedom * > &  _dofs,
bool  _addJoint = true,
bool  _warning = true 
)

Add a set of DegreesOfFreedom to this Group.

If _addJoint is true, the Joint of each DOF will also be added to the Group. If _warning is true, you will be warned when you attempt to add the same DegreeOfFreedom twice, and an assertion will be thrown.

This function will return false if all of the DegreesOfFreedom was already in the Group.

◆ addJoint()

bool dart::dynamics::Group::addJoint ( Joint _joint,
bool  _addDofs = true,
bool  _warning = true 
)

Add a Joint to this Group.

If _addDofs is true, it will also add all the DegreesOfFreedom of the Joint. If _warning is true, you will be warned if the Joint (and all its DOFs if _addDofs is set to true) was already in the Group, and an assertion will be thrown.

This function will return false if the Joint (and all its DOFs, if _addDofs is true) was already in the Group.

◆ addJoints()

bool dart::dynamics::Group::addJoints ( const std::vector< Joint * > &  _joints,
bool  _addDofs = true,
bool  _warning = true 
)

Add a set of Joints to this Group.

If _addDofs is true, it will also add all the DOFs of each Joint. If _warning is true, you will be warned when you attempt to add a Joint that is already in the Group (and all its DOFs are in the Group, if _addDofs is set to true), and an assertion will be thrown.

This function will return false if all the Joints (and their DOFs if _addDofs is set to true) were already in the Group.

◆ addObserver()

void dart::common::Subject::addObserver ( Observer _observer) const
protectedinherited

Add an Observer to the list of Observers.

◆ clearCollidingBodies()

void dart::dynamics::ReferentialSkeleton::clearCollidingBodies ( )
overridevirtualinherited

Clear collision flags of the BodyNodes in this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ clearExternalForces()

void dart::dynamics::ReferentialSkeleton::clearExternalForces ( )
overridevirtualinherited

Clear the external forces of the BodyNodes in this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ clearInternalForces()

void dart::dynamics::ReferentialSkeleton::clearInternalForces ( )
overridevirtualinherited

Clear the internal forces of the BodyNodes in this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ computeKineticEnergy()

double dart::dynamics::ReferentialSkeleton::computeKineticEnergy ( ) const
overridevirtualinherited

Get the kinetic energy of this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ computeLagrangian()

double dart::dynamics::MetaSkeleton::computeLagrangian ( ) const
inherited

Compute and return Lagrangian of this MetaSkeleton.

◆ computePotentialEnergy()

double dart::dynamics::ReferentialSkeleton::computePotentialEnergy ( ) const
overridevirtualinherited

Get the potential energy of this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ create() [1/3]

GroupPtr dart::dynamics::Group::create ( const std::string &  _name,
const MetaSkeletonPtr _metaSkeleton 
)
static

Create a Group that mimics the given MetaSkeleton.

◆ create() [2/3]

GroupPtr dart::dynamics::Group::create ( const std::string &  _name,
const std::vector< DegreeOfFreedom * > &  _dofs,
bool  _includeBodyNodes = true,
bool  _includeJoints = true 
)
static

Create a Group out of a set of DegreesOfFreedom.

If _includeBodyNodes is true, then the child BodyNode of each DegreeOfFreedom will also be added to the Group. If _includeJoints is true, then the Joint of each DegreeOfFreedom will also be added to the Group.

◆ create() [3/3]

GroupPtr dart::dynamics::Group::create ( const std::string &  _name = "Group",
const std::vector< BodyNode * > &  _bodyNodes = std::vector<BodyNode*>(),
bool  _includeJoints = true,
bool  _includeDofs = true 
)
static

Create a Group out of a set of BodyNodes.

If _includeJoints is true, the parent Joint of each BodyNode will also be added to the Group. If _includeDofs is true, then the parent DegreesOfFreedom of each BodyNode will also be added to the Group.

◆ getAcceleration()

double dart::dynamics::MetaSkeleton::getAcceleration ( std::size_t  _index) const
inherited

Get the acceleration of a single generalized coordinate.

◆ getAccelerationLowerLimit()

double dart::dynamics::MetaSkeleton::getAccelerationLowerLimit ( std::size_t  _index) const
inherited

Get the lower limit of a generalized coordinate's acceleration.

◆ getAccelerationLowerLimits() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerationLowerLimits ( ) const
inherited

Get the lower limits for all generalized coordinates's acceleration.

◆ getAccelerationLowerLimits() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerationLowerLimits ( const std::vector< std::size_t > &  indices) const
inherited

Get the lower limits for a subset of the generalized coordinates's acceleration.

◆ getAccelerations() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerations ( ) const
inherited

Get the accelerations for all generalized coordinates.

◆ getAccelerations() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerations ( const std::vector< std::size_t > &  _indices) const
inherited

Get the accelerations for a subset of the generalized coordinates.

◆ getAccelerationUpperLimit()

double dart::dynamics::MetaSkeleton::getAccelerationUpperLimit ( std::size_t  _index) const
inherited

Get the upper limit of a generalized coordinate's acceleration.

◆ getAccelerationUpperLimits() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerationUpperLimits ( ) const
inherited

Get the upper limits for all generalized coordinates's acceleration.

◆ getAccelerationUpperLimits() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerationUpperLimits ( const std::vector< std::size_t > &  indices) const
inherited

Get the upper limits for a subset of the generalized coordinates's acceleration.

◆ getAngularJacobian() [1/2]

math::AngularJacobian dart::dynamics::ReferentialSkeleton::getAngularJacobian ( const JacobianNode _node,
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the angular Jacobian of a BodyNode.

You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getAngularJacobian() [2/2]

math::AngularJacobian dart::dynamics::MetaSkeleton::getAngularJacobian ( const JacobianNode _node,
const JacobianNode _relativeTo,
const Frame _inCoordinatesOf = Frame::World() 
) const
inherited

Get the angular Jacobian of a BodyNode relative to another BodyNode in the same Skeleton.

You can specify a coordinate Frame to express the Jacobian in.

◆ getAngularJacobianDeriv()

math::AngularJacobian dart::dynamics::ReferentialSkeleton::getAngularJacobianDeriv ( const JacobianNode _node,
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the angular Jacobian time derivative of a BodyNode.

You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getAugMassMatrix()

const Eigen::MatrixXd & dart::dynamics::ReferentialSkeleton::getAugMassMatrix ( ) const
overridevirtualinherited

Get augmented mass matrix of the skeleton.

This matrix is used in ConstraintDynamics to compute constraint forces. The matrix is M + h*D + h*h*K where D is diagonal joint damping coefficient matrix, K is diagonal joint stiffness matrix, and h is simulation time step.

Implements dart::dynamics::MetaSkeleton.

◆ getBodyNode() [1/4]

const BodyNode * dart::dynamics::ReferentialSkeleton::getBodyNode ( const std::string &  name) const
overridevirtualinherited

Returns the BodyNode of given name.

Parameters
[in]nameThe BodyNode name that want to search.
Returns
The body node of given name.
Note
ReferentialSkeleton can contain multiple BodyNodes with the same name when this ReferentialSkeleton contains BodyNodes from multiple Skeletons. In this case, this function returns the first one, which is implementation dependent, and prints a warning.

Implements dart::dynamics::MetaSkeleton.

◆ getBodyNode() [2/4]

BodyNode * dart::dynamics::ReferentialSkeleton::getBodyNode ( const std::string &  name)
overridevirtualinherited

Returns the BodyNode of given name.

Parameters
[in]nameThe BodyNode name that want to search.
Returns
The body node of given name.
Note
ReferentialSkeleton can contain multiple BodyNodes with the same name when this ReferentialSkeleton contains BodyNodes from multiple Skeletons. In this case, this function returns the first one, which is implementation dependent, and prints a warning.

Implements dart::dynamics::MetaSkeleton.

◆ getBodyNode() [3/4]

const BodyNode * dart::dynamics::ReferentialSkeleton::getBodyNode ( std::size_t  _idx) const
overridevirtualinherited

Get const BodyNode whose index is _idx.

Implements dart::dynamics::MetaSkeleton.

◆ getBodyNode() [4/4]

BodyNode * dart::dynamics::ReferentialSkeleton::getBodyNode ( std::size_t  _idx)
overridevirtualinherited

Get BodyNode whose index is _idx.

Implements dart::dynamics::MetaSkeleton.

◆ getBodyNodes() [1/4]

const std::vector< const BodyNode * > & dart::dynamics::ReferentialSkeleton::getBodyNodes ( ) const
overridevirtualinherited

Get all the BodyNodes that are held by this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getBodyNodes() [2/4]

const std::vector< BodyNode * > & dart::dynamics::ReferentialSkeleton::getBodyNodes ( )
overridevirtualinherited

Get all the BodyNodes that are held by this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getBodyNodes() [3/4]

std::vector< const BodyNode * > dart::dynamics::ReferentialSkeleton::getBodyNodes ( const std::string &  name) const
overridevirtualinherited

Returns all the BodyNodes of given name.

Parameters
[in]nameThe BodyNode name that want to search.
Returns
The list of BodyNodes of given name.
Note
ReferentialSkeleton can contain multiple BodyNodes with the same name when ReferentialSkeleton contains BodyNodes from multiple Skeletons.

Implements dart::dynamics::MetaSkeleton.

◆ getBodyNodes() [4/4]

std::vector< BodyNode * > dart::dynamics::ReferentialSkeleton::getBodyNodes ( const std::string &  name)
overridevirtualinherited

Returns all the BodyNodes of given name.

Parameters
[in]nameThe BodyNode name that want to search.
Returns
The list of BodyNodes of given name.
Note
ReferentialSkeleton can contain multiple BodyNodes with the same name when ReferentialSkeleton contains BodyNodes from multiple Skeletons.

Implements dart::dynamics::MetaSkeleton.

◆ getCOM()

Eigen::Vector3d dart::dynamics::ReferentialSkeleton::getCOM ( const Frame _withRespectTo = Frame::World()) const
overridevirtualinherited

Get the MetaSkeleton's COM with respect to any Frame (default is World Frame)

Implements dart::dynamics::MetaSkeleton.

◆ getCOMJacobian()

math::Jacobian dart::dynamics::ReferentialSkeleton::getCOMJacobian ( const Frame _inCoordinatesOf = Frame::World()) const
overridevirtualinherited

Get the MetaSkeleton's COM Jacobian in terms of any Frame (default is World Frame)

Implements dart::dynamics::MetaSkeleton.

◆ getCOMJacobianSpatialDeriv()

math::Jacobian dart::dynamics::ReferentialSkeleton::getCOMJacobianSpatialDeriv ( const Frame _inCoordinatesOf = Frame::World()) const
overridevirtualinherited

Get the Skeleton's COM Jacobian spatial time derivative in terms of any Frame (default is World Frame).

NOTE: Since this is a spatial time derivative, it is only meant to be used with spatial acceleration vectors. If you are using classical linear vectors, then use getCOMLinearJacobianDeriv() instead.

Implements dart::dynamics::MetaSkeleton.

◆ getCOMLinearAcceleration()

Eigen::Vector3d dart::dynamics::ReferentialSkeleton::getCOMLinearAcceleration ( const Frame _relativeTo = Frame::World(),
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the MetaSkeleton's COM linear acceleration in terms of any Frame (default is World Frame)

Implements dart::dynamics::MetaSkeleton.

◆ getCOMLinearJacobian()

math::LinearJacobian dart::dynamics::ReferentialSkeleton::getCOMLinearJacobian ( const Frame _inCoordinatesOf = Frame::World()) const
overridevirtualinherited

Get the MetaSkeleton's COM Linear Jacobian in terms of any Frame (default is World Frame)

Implements dart::dynamics::MetaSkeleton.

◆ getCOMLinearJacobianDeriv()

math::LinearJacobian dart::dynamics::ReferentialSkeleton::getCOMLinearJacobianDeriv ( const Frame _inCoordinatesOf = Frame::World()) const
overridevirtualinherited

Get the Skeleton's COM Linear Jacobian time derivative in terms of any Frame (default is World Frame).

NOTE: Since this is a classical time derivative, it is only meant to be used with classical acceleration vectors. If you are using spatial vectors, then use getCOMJacobianSpatialDeriv() instead.

Implements dart::dynamics::MetaSkeleton.

◆ getCOMLinearVelocity()

Eigen::Vector3d dart::dynamics::ReferentialSkeleton::getCOMLinearVelocity ( const Frame _relativeTo = Frame::World(),
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the Skeleton's COM linear velocity in terms of any Frame (default is World Frame)

Implements dart::dynamics::MetaSkeleton.

◆ getCommand()

double dart::dynamics::MetaSkeleton::getCommand ( std::size_t  _index) const
inherited

Get a single command.

◆ getCommands() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getCommands ( ) const
inherited

Get commands for all generalized coordinates.

◆ getCommands() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getCommands ( const std::vector< std::size_t > &  _indices) const
inherited

Get commands for a subset of the generalized coordinates.

◆ getCOMSpatialAcceleration()

Eigen::Vector6d dart::dynamics::ReferentialSkeleton::getCOMSpatialAcceleration ( const Frame _relativeTo = Frame::World(),
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the Skeleton's COM spatial acceleration in terms of any Frame (default is World Frame)

Implements dart::dynamics::MetaSkeleton.

◆ getCOMSpatialVelocity()

Eigen::Vector6d dart::dynamics::ReferentialSkeleton::getCOMSpatialVelocity ( const Frame _relativeTo = Frame::World(),
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the Skeleton's COM spatial velocity in terms of any Frame (default is World Frame)

Implements dart::dynamics::MetaSkeleton.

◆ getConstraintForces()

const Eigen::VectorXd & dart::dynamics::ReferentialSkeleton::getConstraintForces ( ) const
overridevirtualinherited

Get constraint force vector.

Implements dart::dynamics::MetaSkeleton.

◆ getCoriolisAndGravityForces()

const Eigen::VectorXd & dart::dynamics::ReferentialSkeleton::getCoriolisAndGravityForces ( ) const
overridevirtualinherited

Get combined vector of Coriolis force and gravity force of the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getCoriolisForces()

const Eigen::VectorXd & dart::dynamics::ReferentialSkeleton::getCoriolisForces ( ) const
overridevirtualinherited

Get Coriolis force vector of the MetaSkeleton's BodyNodes.

Implements dart::dynamics::MetaSkeleton.

◆ getDof() [1/2]

const DegreeOfFreedom * dart::dynamics::ReferentialSkeleton::getDof ( std::size_t  _idx) const
overridevirtualinherited

Get degree of freedom (aka generalized coordinate) whose index is _idx.

Implements dart::dynamics::MetaSkeleton.

◆ getDof() [2/2]

DegreeOfFreedom * dart::dynamics::ReferentialSkeleton::getDof ( std::size_t  _idx)
overridevirtualinherited

Get degree of freedom (aka generalized coordinate) whose index is _idx.

Implements dart::dynamics::MetaSkeleton.

◆ getDofs() [1/2]

std::vector< const DegreeOfFreedom * > dart::dynamics::ReferentialSkeleton::getDofs ( ) const
overridevirtualinherited

Get a vector of const DegreesOfFreedom for this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getDofs() [2/2]

const std::vector< DegreeOfFreedom * > & dart::dynamics::ReferentialSkeleton::getDofs ( )
overridevirtualinherited

Get the vector of DegreesOfFreedom for this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getExternalForces()

const Eigen::VectorXd & dart::dynamics::ReferentialSkeleton::getExternalForces ( ) const
overridevirtualinherited

Get external force vector of the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getForce()

double dart::dynamics::MetaSkeleton::getForce ( std::size_t  _index) const
inherited

Get the force of a single generalized coordinate.

◆ getForceLowerLimit()

double dart::dynamics::MetaSkeleton::getForceLowerLimit ( std::size_t  _index) const
inherited

Get the lower limit of a generalized coordinate's force.

◆ getForceLowerLimits() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getForceLowerLimits ( ) const
inherited

Get the lower limits for all generalized coordinates's force.

◆ getForceLowerLimits() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getForceLowerLimits ( const std::vector< std::size_t > &  indices) const
inherited

Get the lower limits for a subset of the generalized coordinates's force.

◆ getForces() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getForces ( ) const
inherited

Get the forces for all generalized coordinates.

◆ getForces() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getForces ( const std::vector< std::size_t > &  _indices) const
inherited

Get the forces for a subset of the generalized coordinates.

◆ getForceUpperLimit()

double dart::dynamics::MetaSkeleton::getForceUpperLimit ( std::size_t  _index) const
inherited

Get the upper limit of a generalized coordinate's force.

◆ getForceUpperLimits() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getForceUpperLimits ( ) const
inherited

Get the upper limits for all generalized coordinates's force.

◆ getForceUpperLimits() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getForceUpperLimits ( const std::vector< std::size_t > &  indices) const
inherited

Get the upper limits for a subset of the generalized coordinates's force.

◆ getGravityForces()

const Eigen::VectorXd & dart::dynamics::ReferentialSkeleton::getGravityForces ( ) const
overridevirtualinherited

Get gravity force vector of the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getIndexOf() [1/3]

std::size_t dart::dynamics::ReferentialSkeleton::getIndexOf ( const BodyNode _bn,
bool  _warning = true 
) const
overridevirtualinherited

Get the index of a specific BodyNode within this ReferentialSkeleton.

Returns INVALID_INDEX if it is not held in this ReferentialSkeleton. When _warning is true, a warning message will be printed if the BodyNode is not in the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getIndexOf() [2/3]

std::size_t dart::dynamics::ReferentialSkeleton::getIndexOf ( const DegreeOfFreedom _dof,
bool  _warning = true 
) const
overridevirtualinherited

Get the index of a specific DegreeOfFreedom within this ReferentialSkeleton.

Returns INVALID_INDEX if it is not held in this ReferentialSkeleton. When _warning is true, a warning message will be printed if the DegreeOfFreedom is not in the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getIndexOf() [3/3]

std::size_t dart::dynamics::ReferentialSkeleton::getIndexOf ( const Joint _joint,
bool  _warning = true 
) const
overridevirtualinherited

Get the index of a specific Joint within this ReferentialSkeleton.

Returns INVALID_INDEX if it is not held in this ReferentialSkeleton. When _warning is true, a warning message will be printed if the Joint is not in the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getInvAugMassMatrix()

const Eigen::MatrixXd & dart::dynamics::ReferentialSkeleton::getInvAugMassMatrix ( ) const
overridevirtualinherited

Get inverse of augmented Mass Matrix of the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getInvMassMatrix()

const Eigen::MatrixXd & dart::dynamics::ReferentialSkeleton::getInvMassMatrix ( ) const
overridevirtualinherited

Get inverse of Mass Matrix of the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobian() [1/6]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobian ( const JacobianNode _node) const
overridevirtualinherited

Get the spatial Jacobian targeting the origin of a BodyNode.

The Jacobian is expressed in the Frame of the BodyNode.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobian() [2/6]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobian ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset 
) const
overridevirtualinherited

Get the spatial Jacobian targeting an offset in a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. The Jacobian is expressed in the Frame of the BodyNode.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobian() [3/6]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobian ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset,
const Frame _inCoordinatesOf 
) const
overridevirtualinherited

Get the spatial Jacobian targeting an offset in a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobian() [4/6]

math::Jacobian dart::dynamics::MetaSkeleton::getJacobian ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset,
const JacobianNode _relativeTo,
const Frame _inCoordinatesOf 
) const
inherited

Get the spatial Jacobian targeting an offset in a BodyNode relative to another BodyNode in the same Skeleton.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

◆ getJacobian() [5/6]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobian ( const JacobianNode _node,
const Frame _inCoordinatesOf 
) const
overridevirtualinherited

Get the spatial Jacobian targeting the origin of a BodyNode.

You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobian() [6/6]

math::Jacobian dart::dynamics::MetaSkeleton::getJacobian ( const JacobianNode _node,
const JacobianNode _relativeTo,
const Frame _inCoordinatesOf 
) const
inherited

Get the spatial Jacobian targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton.

You can specify a coordinate Frame to express the Jacobian in.

◆ getJacobianClassicDeriv() [1/3]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobianClassicDeriv ( const JacobianNode _node) const
overridevirtualinherited

Get the spatial Jacobian (classical) time derivative targeting the origin of a BodyNode.

The Jacobian is expressed in the World Frame.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobianClassicDeriv() [2/3]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobianClassicDeriv ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset,
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the spatial Jacobian (classical) time derivative targeting an offset in a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobianClassicDeriv() [3/3]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobianClassicDeriv ( const JacobianNode _node,
const Frame _inCoordinatesOf 
) const
overridevirtualinherited

Get the spatial Jacobian (classical) time derivative targeting the origin a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobianSpatialDeriv() [1/6]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node) const
overridevirtualinherited

Get the spatial Jacobian time derivative targeting the origin of a BodyNode.

The Jacobian is expressed in the Frame of the BodyNode.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobianSpatialDeriv() [2/6]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset 
) const
overridevirtualinherited

Get the spatial Jacobian time derivative targeting an offset in a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. The Jacobian is expressed in the Frame of the BodyNode.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobianSpatialDeriv() [3/6]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset,
const Frame _inCoordinatesOf 
) const
overridevirtualinherited

Get the spatial Jacobian time derivative targeting an offset in a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobianSpatialDeriv() [4/6]

math::Jacobian dart::dynamics::MetaSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset,
const JacobianNode _relativeTo,
const Frame _inCoordinatesOf 
) const
inherited

Get the spatial Jacobian time derivative targeting an offset in a BodyNode relative to another Bodynode in the same Skeleton.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

◆ getJacobianSpatialDeriv() [5/6]

math::Jacobian dart::dynamics::ReferentialSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node,
const Frame _inCoordinatesOf 
) const
overridevirtualinherited

Get the spatial Jacobian time derivative targeting the origin of a BodyNode.

You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getJacobianSpatialDeriv() [6/6]

math::Jacobian dart::dynamics::MetaSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node,
const JacobianNode _relativeTo,
const Frame _inCoordinatesOf 
) const
inherited

Get the spatial Jacobian time derivative targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton.

You can specify a coordinate Frame to express the Jacobian in.

◆ getJoint() [1/4]

const Joint * dart::dynamics::ReferentialSkeleton::getJoint ( const std::string &  name) const
overridevirtualinherited

Returns the Joint of given name.

Parameters
[in]nameThe joint name that want to search.
Returns
The joint of given name.
Note
ReferentialSkeleton can contain multiple Joints with the same name when this ReferentialSkeleton contains Joints from multiple Skeletons. In this case, this function returns the first one, which is implementation dependent, and prints a warning.

Implements dart::dynamics::MetaSkeleton.

◆ getJoint() [2/4]

Joint * dart::dynamics::ReferentialSkeleton::getJoint ( const std::string &  name)
overridevirtualinherited

Returns the Joint of given name.

Parameters
[in]nameThe joint name that want to search.
Returns
The joint of given name.
Note
ReferentialSkeleton can contain multiple Joints with the same name when this ReferentialSkeleton contains Joints from multiple Skeletons. In this case, this function returns the first one, which is implementation dependent, and prints a warning.

Implements dart::dynamics::MetaSkeleton.

◆ getJoint() [3/4]

const Joint * dart::dynamics::ReferentialSkeleton::getJoint ( std::size_t  _idx) const
overridevirtualinherited

Get const Joint whose index is _idx.

Implements dart::dynamics::MetaSkeleton.

◆ getJoint() [4/4]

Joint * dart::dynamics::ReferentialSkeleton::getJoint ( std::size_t  _idx)
overridevirtualinherited

Get Joint whose index is _idx.

Implements dart::dynamics::MetaSkeleton.

◆ getJointConstraintImpulses()

Eigen::VectorXd dart::dynamics::MetaSkeleton::getJointConstraintImpulses ( ) const
inherited

Get the constraint impulses for the generalized coordinates.

◆ getJoints() [1/4]

std::vector< const Joint * > dart::dynamics::ReferentialSkeleton::getJoints ( ) const
overridevirtualinherited

Returns all the joints that are held by this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getJoints() [2/4]

std::vector< Joint * > dart::dynamics::ReferentialSkeleton::getJoints ( )
overridevirtualinherited

Returns all the joints that are held by this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getJoints() [3/4]

std::vector< const Joint * > dart::dynamics::ReferentialSkeleton::getJoints ( const std::string &  name) const
overridevirtualinherited

Returns all the Joint of given name.

This MetaSkeleton can contain multiple Joints with the same name when this MetaSkeleton contains Joints from multiple Skeletons.

Parameters
[in]nameThe joint name that want to search.
Returns
The list of joints of given name.
Note
ReferentialSkeleton can contain multiple Joints with the same name when ReferentialSkeleton contains Joints from multiple Skeletons.

Implements dart::dynamics::MetaSkeleton.

◆ getJoints() [4/4]

std::vector< Joint * > dart::dynamics::ReferentialSkeleton::getJoints ( const std::string &  name)
overridevirtualinherited

Returns all the Joint of given name.

This MetaSkeleton can contain multiple Joints with the same name when this MetaSkeleton contains Joints from multiple Skeletons.

Parameters
[in]nameThe joint name that want to search.
Returns
The list of joints of given name.
Note
ReferentialSkeleton can contain multiple Joints with the same name when ReferentialSkeleton contains Joints from multiple Skeletons.

Implements dart::dynamics::MetaSkeleton.

◆ getKineticEnergy()

double dart::dynamics::MetaSkeleton::getKineticEnergy ( ) const
inherited

Get the kinetic energy of this MetaSkeleton.

◆ getLinearJacobian() [1/4]

math::LinearJacobian dart::dynamics::ReferentialSkeleton::getLinearJacobian ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset,
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the linear Jacobian targeting an offset in a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getLinearJacobian() [2/4]

math::LinearJacobian dart::dynamics::MetaSkeleton::getLinearJacobian ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset,
const JacobianNode _relativeTo,
const Frame _inCoordinatesOf = Frame::World() 
) const
inherited

Get the linear Jacobian targeting an offset in a BodyNode relative to another BodyNode in the same Skeleton.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

◆ getLinearJacobian() [3/4]

math::LinearJacobian dart::dynamics::ReferentialSkeleton::getLinearJacobian ( const JacobianNode _node,
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the linear Jacobian targeting the origin of a BodyNode.

You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getLinearJacobian() [4/4]

math::LinearJacobian dart::dynamics::MetaSkeleton::getLinearJacobian ( const JacobianNode _node,
const JacobianNode _relativeTo,
const Frame _inCoordinatesOf = Frame::World() 
) const
inherited

Get the linear Jacobian targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton.

You can specify a coordinate Frame to express the Jacobian in.

◆ getLinearJacobianDeriv() [1/2]

math::LinearJacobian dart::dynamics::ReferentialSkeleton::getLinearJacobianDeriv ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset,
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

Get the linear Jacobian (classical) time derivative targeting an offset in a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getLinearJacobianDeriv() [2/2]

math::LinearJacobian dart::dynamics::ReferentialSkeleton::getLinearJacobianDeriv ( const JacobianNode _node,
const Frame _inCoordinatesOf = Frame::World() 
) const
overridevirtualinherited

of a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.

Implements dart::dynamics::MetaSkeleton.

◆ getLockableReference()

std::unique_ptr< common::LockableReference > dart::dynamics::ReferentialSkeleton::getLockableReference ( ) const
overridevirtualinherited

Returns mutex.

Implements dart::dynamics::MetaSkeleton.

◆ getMass()

double dart::dynamics::ReferentialSkeleton::getMass ( ) const
overridevirtualinherited

Get the total mass of all BodyNodes in this ReferentialSkeleton.

For ReferentialSkeleton::getMass(), the total mass is computed upon request, so this is a linear-time O(N) operation. The Skeleton::getMass() version, however, is constant-time.

Implements dart::dynamics::MetaSkeleton.

◆ getMassMatrix()

const Eigen::MatrixXd & dart::dynamics::ReferentialSkeleton::getMassMatrix ( ) const
overridevirtualinherited

Get the Mass Matrix of the MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getName()

const std::string & dart::dynamics::ReferentialSkeleton::getName ( ) const
overridevirtualinherited

Get the name of this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getNumBodyNodes()

std::size_t dart::dynamics::ReferentialSkeleton::getNumBodyNodes ( ) const
overridevirtualinherited

Get number of body nodes.

Implements dart::dynamics::MetaSkeleton.

◆ getNumDofs()

std::size_t dart::dynamics::ReferentialSkeleton::getNumDofs ( ) const
overridevirtualinherited

Return the number of degrees of freedom in this skeleton.

Implements dart::dynamics::MetaSkeleton.

◆ getNumJoints()

std::size_t dart::dynamics::ReferentialSkeleton::getNumJoints ( ) const
overridevirtualinherited

Get number of Joints.

Implements dart::dynamics::MetaSkeleton.

◆ getNumSkeletons()

std::size_t dart::dynamics::ReferentialSkeleton::getNumSkeletons ( ) const
inherited

Returns number of skeletons associated with this ReferentialSkeleton.

◆ getPosition()

double dart::dynamics::MetaSkeleton::getPosition ( std::size_t  _index) const
inherited

Get the position of a single generalized coordinate.

◆ getPositionLowerLimit()

double dart::dynamics::MetaSkeleton::getPositionLowerLimit ( std::size_t  _index) const
inherited

Get the lower limit of a generalized coordinate's position.

◆ getPositionLowerLimits() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositionLowerLimits ( ) const
inherited

Get the lower limits for all generalized coordinates.

◆ getPositionLowerLimits() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositionLowerLimits ( const std::vector< std::size_t > &  indices) const
inherited

Get the lower limits for a subset of the generalized coordinates.

◆ getPositions() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositions ( ) const
inherited

Get the positions for all generalized coordinates.

◆ getPositions() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositions ( const std::vector< std::size_t > &  _indices) const
inherited

Get the positions for a subset of the generalized coordinates.

◆ getPositionUpperLimit()

double dart::dynamics::MetaSkeleton::getPositionUpperLimit ( std::size_t  _index) const
inherited

Get the upper limit of a generalized coordinate's position.

◆ getPositionUpperLimits() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositionUpperLimits ( ) const
inherited

Get the upper limits for all generalized coordinates.

◆ getPositionUpperLimits() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositionUpperLimits ( const std::vector< std::size_t > &  indices) const
inherited

Get the upper limits for a subset of the generalized coordinates.

◆ getPotentialEnergy()

double dart::dynamics::MetaSkeleton::getPotentialEnergy ( ) const
inherited

Get the potential energy of this MetaSkeleton.

◆ getVelocities() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocities ( ) const
inherited

Get the velocities for all generalized coordinates.

◆ getVelocities() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocities ( const std::vector< std::size_t > &  _indices) const
inherited

Get the velocities for a subset of the generalized coordinates.

◆ getVelocity()

double dart::dynamics::MetaSkeleton::getVelocity ( std::size_t  _index) const
inherited

Get the velocity of a single generalized coordinate.

◆ getVelocityChanges()

Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityChanges ( ) const
inherited

Get the velocity changes for all the generalized coordinates.

◆ getVelocityLowerLimit()

double dart::dynamics::MetaSkeleton::getVelocityLowerLimit ( std::size_t  _index)
inherited

Get the lower limit of a generalized coordinate's velocity.

◆ getVelocityLowerLimits() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityLowerLimits ( ) const
inherited

Get the lower limits for all generalized coordinates's velocity.

◆ getVelocityLowerLimits() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityLowerLimits ( const std::vector< std::size_t > &  indices) const
inherited

Get the lower limits for a subset of the generalized coordinates's velocity.

◆ getVelocityUpperLimit()

double dart::dynamics::MetaSkeleton::getVelocityUpperLimit ( std::size_t  _index)
inherited

Get the upper limit of a generalized coordinate's velocity.

◆ getVelocityUpperLimits() [1/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityUpperLimits ( ) const
inherited

Get the upper limits for all generalized coordinates's velocity.

◆ getVelocityUpperLimits() [2/2]

Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityUpperLimits ( const std::vector< std::size_t > &  indices) const
inherited

Get the upper limits for a subset of the generalized coordinates's velocity.

◆ getWorldJacobian() [1/2]

math::Jacobian dart::dynamics::ReferentialSkeleton::getWorldJacobian ( const JacobianNode _node) const
overridevirtualinherited

Get the spatial Jacobian targeting the origin of a BodyNode.

The Jacobian is expressed in the World Frame.

Implements dart::dynamics::MetaSkeleton.

◆ getWorldJacobian() [2/2]

math::Jacobian dart::dynamics::ReferentialSkeleton::getWorldJacobian ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset 
) const
overridevirtualinherited

Get the spatial Jacobian targeting an offset in a BodyNode.

The _offset is expected in coordinates of the BodyNode Frame. The Jacobian is expressed in the World Frame.

Implements dart::dynamics::MetaSkeleton.

◆ hasBodyNode()

bool dart::dynamics::ReferentialSkeleton::hasBodyNode ( const BodyNode bodyNode) const
overridevirtualinherited

Returns whether this Skeleton contains bodyNode.

Implements dart::dynamics::MetaSkeleton.

◆ hasJoint()

bool dart::dynamics::ReferentialSkeleton::hasJoint ( const Joint joint) const
overridevirtualinherited

Returns whether this Skeleton contains join.

Implements dart::dynamics::MetaSkeleton.

◆ hasSkeleton()

bool dart::dynamics::ReferentialSkeleton::hasSkeleton ( const Skeleton skel) const
inherited

Returns whether this ReferentialSkeleton contains any BodyNode or Joint from skel.

◆ registerBodyNode()

void dart::dynamics::ReferentialSkeleton::registerBodyNode ( BodyNode _bn)
protectedinherited

Add a BodyNode to this ReferentialSkeleton, ignoring its Joint and DegreesOfFreedom.

This can only be used by derived classes.

◆ registerComponent()

void dart::dynamics::ReferentialSkeleton::registerComponent ( BodyNode _bn)
protectedinherited

Add a BodyNode, along with its parent Joint and parent DegreesOfFreedom to this ReferentialSkeleton.

This can only be used by derived classes.

◆ registerDegreeOfFreedom()

void dart::dynamics::ReferentialSkeleton::registerDegreeOfFreedom ( DegreeOfFreedom _dof)
protectedinherited

Add a DegreeOfFreedom to this ReferentialSkeleton.

This can only be used by derived classes.

◆ registerJoint()

void dart::dynamics::ReferentialSkeleton::registerJoint ( Joint _joint)
protectedinherited

Add a Joint to this Referential Skeleton, ignoring its DegreesOfFreedom.

This can only be used by derived classes.

◆ registerSkeleton()

void dart::dynamics::ReferentialSkeleton::registerSkeleton ( const Skeleton skel)
privateinherited

Add a Skeleton to this ReferentialSkeleton, ignoring its Joint and DegreesOfFreedom.

This can only be used by this class.

◆ removeBodyNode()

bool dart::dynamics::Group::removeBodyNode ( BodyNode _bn,
bool  _warning = true 
)

Remove a BodyNode from this Group.

If _warning is true, you will be warned when you attempt to remove a BodyNode that is not in this Group, and an assertion will be thrown.

The function will return false if the BodyNode was not in this Group.

◆ removeBodyNodes()

bool dart::dynamics::Group::removeBodyNodes ( const std::vector< BodyNode * > &  _bodyNodes,
bool  _warning = true 
)

Remove a set of BodyNodes from this Group.

If _warning is true, you will be warned when you attempt to remove a BodyNode that is not in this Group, and an assertion will be thrown.

The function will return false if none of the BodyNodes were in this Group.

◆ removeComponent()

bool dart::dynamics::Group::removeComponent ( BodyNode _bn,
bool  _warning = true 
)

Remove a BodyNode and its parent DegreesOfFreedom from this Group.

If _warning is true, you will be warned if this Group does not have the BodyNode or any of its DegreesOfFreedom, and an assertion will be thrown.

This function will return false if the Group did not include the BodyNode or any of its parent DegreesOfFreedom.

◆ removeComponents()

bool dart::dynamics::Group::removeComponents ( const std::vector< BodyNode * > &  _bodyNodes,
bool  _warning = true 
)

Remove a set of BodyNodes and their parent DegreesOfFreedom from this Group.

If _warning is true, you will be warned if any of the components were completely missing from this Group, and an assertion will be thrown.

This function will return false if none of the components in this set were in the Group.

◆ removeDof()

bool dart::dynamics::Group::removeDof ( DegreeOfFreedom _dof,
bool  _cleanupJoint = true,
bool  _warning = true 
)

Remove a DegreeOfFreedom from this Group.

If _cleanupJoint is true, the Joint of this DOF will be removed, but only if no other DOFs belonging to the Joint are remaining in the Group. If _warning is true, you will be warned when you attempt to remove a DegreeOfFreedom that is not in this Group, and an assertion will be thrown.

This function will return false if the DegreeOfFreedom was not in this Group.

◆ removeDofs()

bool dart::dynamics::Group::removeDofs ( const std::vector< DegreeOfFreedom * > &  _dofs,
bool  _cleanupJoint = true,
bool  _warning = true 
)

Remove a set of DegreesOfFreedom from this Group.

If _cleanupJoint is true, the Joint of this DOF will be removed, but only if no other DOFs belonging to the Joint are remaining in the Group. If _warning is true, you will be warned when you attempt to remove a DegreeOfFreedom that is not in this Group, and an assertion will be thrown.

This function will return false if none of the DegreesOfFreedom were in this Group.

◆ removeJoint()

bool dart::dynamics::Group::removeJoint ( Joint _joint,
bool  _removeDofs = true,
bool  _warning = true 
)

Remove a Joint from this Group.

If _removeDofs is true, it will also remove any DOFs belonging to this Joint. If _warning is true, you will be warned if you attempt to remove a Joint which is not in this Group (and none of its DOFs are in the Group if _removeDofs is set to true), and an assertion will be thrown.

This function will return false if the Joint was not in the Group (and neither were any of its DOFs, if _removeDofs is set to true).

◆ removeJoints()

bool dart::dynamics::Group::removeJoints ( const std::vector< Joint * > &  _joints,
bool  _removeDofs = true,
bool  _warning = true 
)

Remove a set of Joints from this Group.

If _removeDofs is true, it will also remove any DOFs belonging to any of the Joints. If _warning is true, you will be warned if you attempt to remove a Joint which is not in this Group (and none of its DOFs are in the Group if _removeDofs is set to true), and an assertion will be thrown.

This function will return false if none of the Joints (nor any of their DOFs if _removeDofs is set to true) were in the Group.

◆ removeObserver()

void dart::common::Subject::removeObserver ( Observer _observer) const
protectedinherited

Remove an Observer from the list of Observers.

◆ resetAccelerations()

void dart::dynamics::MetaSkeleton::resetAccelerations ( )
inherited

Set all accelerations to zero.

◆ resetCommands()

void dart::dynamics::MetaSkeleton::resetCommands ( )
inherited

Set all commands to zero.

◆ resetGeneralizedForces()

void dart::dynamics::MetaSkeleton::resetGeneralizedForces ( )
inherited

Set all forces of the generalized coordinates to zero.

◆ resetPositions()

void dart::dynamics::MetaSkeleton::resetPositions ( )
inherited

Set all positions to zero.

◆ resetVelocities()

void dart::dynamics::MetaSkeleton::resetVelocities ( )
inherited

Set all velocities to zero.

◆ sendDestructionNotification()

void dart::common::Subject::sendDestructionNotification ( ) const
protectedinherited

Send a destruction notification to all Observers.

This will cause all Observers to behave as if this Subject has been permanently deleted, so it should only be called when that behavior is desired.

◆ setAcceleration()

void dart::dynamics::MetaSkeleton::setAcceleration ( std::size_t  _index,
double  _acceleration 
)
inherited

Set the acceleration of a single generalized coordinate.

◆ setAccelerationLowerLimit()

void dart::dynamics::MetaSkeleton::setAccelerationLowerLimit ( std::size_t  _index,
double  _acceleration 
)
inherited

Set the lower limit of a generalized coordinate's acceleration.

◆ setAccelerationLowerLimits() [1/2]

void dart::dynamics::MetaSkeleton::setAccelerationLowerLimits ( const Eigen::VectorXd &  accelerations)
inherited

Set the lower limits for all generalized coordinates's acceleration.

◆ setAccelerationLowerLimits() [2/2]

void dart::dynamics::MetaSkeleton::setAccelerationLowerLimits ( const std::vector< std::size_t > &  indices,
const Eigen::VectorXd &  accelerations 
)
inherited

Set the lower limits for a subset of the generalized coordinates's acceleration.

◆ setAccelerations() [1/2]

void dart::dynamics::MetaSkeleton::setAccelerations ( const Eigen::VectorXd &  _accelerations)
inherited

Set the accelerations of all generalized coordinates.

◆ setAccelerations() [2/2]

void dart::dynamics::MetaSkeleton::setAccelerations ( const std::vector< std::size_t > &  _indices,
const Eigen::VectorXd &  _accelerations 
)
inherited

Set the accelerations of a subset of the generalized coordinates.

◆ setAccelerationUpperLimit()

void dart::dynamics::MetaSkeleton::setAccelerationUpperLimit ( std::size_t  _index,
double  _acceleration 
)
inherited

Set the upper limit of a generalized coordinate's acceleration.

◆ setAccelerationUpperLimits() [1/2]

void dart::dynamics::MetaSkeleton::setAccelerationUpperLimits ( const Eigen::VectorXd &  accelerations)
inherited

Set the upper limits for all generalized coordinates's acceleration.

◆ setAccelerationUpperLimits() [2/2]

void dart::dynamics::MetaSkeleton::setAccelerationUpperLimits ( const std::vector< std::size_t > &  indices,
const Eigen::VectorXd &  accelerations 
)
inherited

Set the upper limits for a subset of the generalized coordinates's acceleration.

◆ setCommand()

void dart::dynamics::MetaSkeleton::setCommand ( std::size_t  _index,
double  _command 
)
inherited

Set a single command.

◆ setCommands() [1/2]

void dart::dynamics::MetaSkeleton::setCommands ( const Eigen::VectorXd &  _commands)
inherited

Set commands for all generalized coordinates.

◆ setCommands() [2/2]

void dart::dynamics::MetaSkeleton::setCommands ( const std::vector< std::size_t > &  _indices,
const Eigen::VectorXd &  _commands 
)
inherited

Set commands for a subset of the generalized coordinates.

◆ setForce()

void dart::dynamics::MetaSkeleton::setForce ( std::size_t  _index,
double  _force 
)
inherited

Set the force of a single generalized coordinate.

◆ setForceLowerLimit()

void dart::dynamics::MetaSkeleton::setForceLowerLimit ( std::size_t  _index,
double  _force 
)
inherited

Set the lower limit of a generalized coordinate's force.

◆ setForceLowerLimits() [1/2]

void dart::dynamics::MetaSkeleton::setForceLowerLimits ( const Eigen::VectorXd &  forces)
inherited

Set the lower limits for all generalized coordinates's force.

◆ setForceLowerLimits() [2/2]

void dart::dynamics::MetaSkeleton::setForceLowerLimits ( const std::vector< std::size_t > &  indices,
const Eigen::VectorXd &  forces 
)
inherited

Set the lower limits for a subset of the generalized coordinates's force.

◆ setForces() [1/2]

void dart::dynamics::MetaSkeleton::setForces ( const Eigen::VectorXd &  _forces)
inherited

Set the forces of all generalized coordinates.

◆ setForces() [2/2]

void dart::dynamics::MetaSkeleton::setForces ( const std::vector< std::size_t > &  _index,
const Eigen::VectorXd &  _forces 
)
inherited

Set the forces of a subset of the generalized coordinates.

◆ setForceUpperLimit()

void dart::dynamics::MetaSkeleton::setForceUpperLimit ( std::size_t  _index,
double  _force 
)
inherited

Set the upper limit of a generalized coordinate's force.

◆ setForceUpperLimits() [1/2]

void dart::dynamics::MetaSkeleton::setForceUpperLimits ( const Eigen::VectorXd &  forces)
inherited

Set the upperlimits for all generalized coordinates's force.

◆ setForceUpperLimits() [2/2]

void dart::dynamics::MetaSkeleton::setForceUpperLimits ( const std::vector< std::size_t > &  indices,
const Eigen::VectorXd &  forces 
)
inherited

Set the upper limits for a subset of the generalized coordinates's force.

◆ setJointConstraintImpulses()

void dart::dynamics::MetaSkeleton::setJointConstraintImpulses ( const Eigen::VectorXd &  _impulses)
inherited

Set the constraint impulses for the generalized coordinates.

◆ setName()

const std::string & dart::dynamics::ReferentialSkeleton::setName ( const std::string &  _name)
overridevirtualinherited

Set the name of this MetaSkeleton.

Implements dart::dynamics::MetaSkeleton.

◆ setPosition()

void dart::dynamics::MetaSkeleton::setPosition ( std::size_t  index,
double  _position 
)
inherited

Set the position of a single generalized coordinate.

◆ setPositionLowerLimit()

void dart::dynamics::MetaSkeleton::setPositionLowerLimit ( std::size_t  _index,
double  _position 
)
inherited

Set the lower limit of a generalized coordinate's position.

◆ setPositionLowerLimits() [1/2]

void dart::dynamics::MetaSkeleton::setPositionLowerLimits ( const Eigen::VectorXd &  positions)
inherited

Set the lower limits for all generalized coordinates.

◆ setPositionLowerLimits() [2/2]

void dart::dynamics::MetaSkeleton::setPositionLowerLimits ( const std::vector< std::size_t > &  indices,
const Eigen::VectorXd &  positions 
)
inherited

Set the lower limits for a subset of the generalized coordinates.

◆ setPositions() [1/2]

void dart::dynamics::MetaSkeleton::setPositions ( const Eigen::VectorXd &  _positions)
inherited

Set the positions for all generalized coordinates.

◆ setPositions() [2/2]

void dart::dynamics::MetaSkeleton::setPositions ( const std::vector< std::size_t > &  _indices,
const Eigen::VectorXd &  _positions 
)
inherited

Set the positions for a subset of the generalized coordinates.

◆ setPositionUpperLimit()

void dart::dynamics::MetaSkeleton::setPositionUpperLimit ( std::size_t  _index,
double  _position 
)
inherited

Set the upper limit of a generalized coordainte's position.

◆ setPositionUpperLimits() [1/2]

void dart::dynamics::MetaSkeleton::setPositionUpperLimits ( const Eigen::VectorXd &  positions)
inherited

Set the upper limits for all generalized coordinates.

◆ setPositionUpperLimits() [2/2]

void dart::dynamics::MetaSkeleton::setPositionUpperLimits ( const std::vector< std::size_t > &  indices,
const Eigen::VectorXd &  positions 
)
inherited

Set the upper limits for a subset of the generalized coordinates.

◆ setVelocities() [1/2]

void dart::dynamics::MetaSkeleton::setVelocities ( const Eigen::VectorXd &  _velocities)
inherited

Set the velocities of all generalized coordinates.

◆ setVelocities() [2/2]

void dart::dynamics::MetaSkeleton::setVelocities ( const std::vector< std::size_t > &  _indices,
const Eigen::VectorXd &  _velocities 
)
inherited

Set the velocities of a subset of the generalized coordinates.

◆ setVelocity()

void dart::dynamics::MetaSkeleton::setVelocity ( std::size_t  _index,
double  _velocity 
)
inherited

Set the velocity of a single generalized coordinate.

◆ setVelocityLowerLimit()

void dart::dynamics::MetaSkeleton::setVelocityLowerLimit ( std::size_t  _index,
double  _velocity 
)
inherited

Set the lower limit of a generalized coordinate's velocity.

◆ setVelocityLowerLimits() [1/2]

void dart::dynamics::MetaSkeleton::setVelocityLowerLimits ( const Eigen::VectorXd &  velocities)
inherited

Set the lower limits for all generalized coordinates's velocity.

◆ setVelocityLowerLimits() [2/2]

void dart::dynamics::MetaSkeleton::setVelocityLowerLimits ( const std::vector< std::size_t > &  indices,
const Eigen::VectorXd &  velocities 
)
inherited

Set the lower limits for a subset of the generalized coordinates's velocity.

◆ setVelocityUpperLimit()

void dart::dynamics::MetaSkeleton::setVelocityUpperLimit ( std::size_t  _index,
double  _velocity 
)
inherited

Set the upper limit of a generalized coordinate's velocity.

◆ setVelocityUpperLimits() [1/2]

void dart::dynamics::MetaSkeleton::setVelocityUpperLimits ( const Eigen::VectorXd &  velocities)
inherited

Set the upper limits for all generalized coordinates's velocity.

◆ setVelocityUpperLimits() [2/2]

void dart::dynamics::MetaSkeleton::setVelocityUpperLimits ( const std::vector< std::size_t > &  indices,
const Eigen::VectorXd &  velocities 
)
inherited

Set the upper limits for a subset of the generalized coordinates's velocity.

◆ swapBodyNodeIndices()

void dart::dynamics::Group::swapBodyNodeIndices ( std::size_t  _index1,
std::size_t  _index2 
)

Swap the index of BodyNode _index1 with _index2.

◆ swapDofIndices()

void dart::dynamics::Group::swapDofIndices ( std::size_t  _index1,
std::size_t  _index2 
)

Swap the index of DegreeOfFreedom _index1 with _index2.

◆ unregisterBodyNode()

void dart::dynamics::ReferentialSkeleton::unregisterBodyNode ( BodyNode _bn,
bool  _unregisterDofs 
)
protectedinherited

Remove a BodyNode from this ReferentialSkeleton, ignoring its parent DegreesOfFreedom.

This can only be used by derived classes.

◆ unregisterComponent()

void dart::dynamics::ReferentialSkeleton::unregisterComponent ( BodyNode _bn)
protectedinherited

Completely remove a BodyNode and its parent DegreesOfFreedom from this ReferentialSkeleton.

This can only be used by derived classes.

◆ unregisterDegreeOfFreedom()

void dart::dynamics::ReferentialSkeleton::unregisterDegreeOfFreedom ( BodyNode _bn,
std::size_t  _localIndex 
)
protectedinherited

Remove a DegreeOfFreedom from this ReferentialSkeleton.

This can only be used by derived classes.

◆ unregisterJoint()

void dart::dynamics::ReferentialSkeleton::unregisterJoint ( BodyNode _child)
protectedinherited

Remove a Joint from this ReferentialSkeleton.

This can only be used by derived classes.

◆ unregisterSkeleton()

void dart::dynamics::ReferentialSkeleton::unregisterSkeleton ( const Skeleton skel)
privateinherited

Removes a Skeleton from this ReferentialSkeleton.

This can only be used by this class.

◆ updateCaches()

void dart::dynamics::ReferentialSkeleton::updateCaches ( )
protectedinherited

Update the caches to match any changes to the structure of this ReferentialSkeleton.

Member Data Documentation

◆ mAugM

Eigen::MatrixXd dart::dynamics::ReferentialSkeleton::mAugM
mutableprotectedinherited

Cache for Augmented Mass Matrix.

◆ mBodyNodes

std::vector<BodyNodePtr> dart::dynamics::ReferentialSkeleton::mBodyNodes
protectedinherited

BodyNodes that this ReferentialSkeleton references.

These hold strong references to ensure that the BodyNodes do not disappear

◆ mCg

Eigen::VectorXd dart::dynamics::ReferentialSkeleton::mCg
mutableprotectedinherited

Cache for combined Coriolis and gravity vector.

◆ mCvec

Eigen::VectorXd dart::dynamics::ReferentialSkeleton::mCvec
mutableprotectedinherited

Cache for Coriolis vector.

◆ mDofs

std::vector<DegreeOfFreedomPtr> dart::dynamics::ReferentialSkeleton::mDofs
protectedinherited

DegreesOfFreedom that this ReferentialSkeleton references.

◆ mFc

Eigen::VectorXd dart::dynamics::ReferentialSkeleton::mFc
mutableprotectedinherited

Cache for constraint force vector.

◆ mFext

Eigen::VectorXd dart::dynamics::ReferentialSkeleton::mFext
mutableprotectedinherited

Cache for external force vector.

◆ mG

Eigen::VectorXd dart::dynamics::ReferentialSkeleton::mG
mutableprotectedinherited

Cache for gravity vector.

◆ mIndexMap

std::unordered_map<const BodyNode*, IndexMap> dart::dynamics::ReferentialSkeleton::mIndexMap
protectedinherited

Raw const DegreeOfFreedom. This vector is used for the MetaSkeleton API.

Map for keeping track of the indices of BodyNodes, Joints, and DegreesOfFreedom

◆ mInvAugM

Eigen::MatrixXd dart::dynamics::ReferentialSkeleton::mInvAugM
mutableprotectedinherited

Cache for inverse Augmented Mass Matrix.

◆ mInvM

Eigen::MatrixXd dart::dynamics::ReferentialSkeleton::mInvM
mutableprotectedinherited

Cache for inverse Mass Matrix.

◆ mJoints

std::vector<JointPtr> dart::dynamics::ReferentialSkeleton::mJoints
protectedinherited

Joints that this ReferentialSkeleton references.

◆ mM

Eigen::MatrixXd dart::dynamics::ReferentialSkeleton::mM
mutableprotectedinherited

Cache for Mass Matrix.

◆ mName

std::string dart::dynamics::ReferentialSkeleton::mName
protectedinherited

Name of this ReferentialSkeleton.

◆ mNameChangedSignal

NameChangedSignal dart::dynamics::MetaSkeleton::mNameChangedSignal
protectedinherited

◆ mObservers

std::set<Observer*> dart::common::Subject::mObservers
mutableprotectedinherited

List of current Observers.

◆ mPtr

std::weak_ptr<MetaSkeleton> dart::dynamics::ReferentialSkeleton::mPtr
protectedinherited

Weak pointer to this Skeleton.

◆ mRawBodyNodes

std::vector<BodyNode*> dart::dynamics::ReferentialSkeleton::mRawBodyNodes
mutableprotectedinherited

Raw BodyNode pointers. This vector is used for the MetaSkeleton API.

◆ mRawConstBodyNodes

std::vector<const BodyNode*> dart::dynamics::ReferentialSkeleton::mRawConstBodyNodes
mutableprotectedinherited

Raw const BodyNode pointers. This vector is used for the MetaSkeleton API.

◆ mRawConstDofs

std::vector<const DegreeOfFreedom*> dart::dynamics::ReferentialSkeleton::mRawConstDofs
mutableprotectedinherited

Raw const DegreeOfFreedom vector.

This vector is used for the MetaSkeleton API

◆ mRawDofs

std::vector<DegreeOfFreedom*> dart::dynamics::ReferentialSkeleton::mRawDofs
mutableprotectedinherited

Raw DegreeOfFreedom vector. This vector is used for the MetaSkeleton API.

◆ mSkeletonMutexes

std::set<std::mutex*> dart::dynamics::ReferentialSkeleton::mSkeletonMutexes
protectedinherited

Mutexes of the skeletons.

The mutexes are sorted in order of memory addresses.

◆ mSkeletons

std::unordered_set<const Skeleton*> dart::dynamics::ReferentialSkeleton::mSkeletons
protectedinherited

Skeletons that this ReferentialSkeleton contains any BodyNode or Joint from the Skeletons.

◆ onNameChanged

common::SlotRegister<NameChangedSignal> dart::dynamics::MetaSkeleton::onNameChanged
inherited