DART  6.6.2
dart::dynamics::MetaSkeleton Class Referenceabstract

MetaSkeleton is a pure abstract base class that provides a common interface for obtaining data (such as Jacobians and Mass Matrices) from groups of BodyNodes. More...

#include <MetaSkeleton.hpp>

Inheritance diagram for dart::dynamics::MetaSkeleton:
dart::common::Subject dart::dynamics::ReferentialSkeleton dart::dynamics::Skeleton dart::dynamics::Group dart::dynamics::Linkage dart::dynamics::Branch dart::dynamics::Chain

Public Types

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

Public Member Functions

 MetaSkeleton (const MetaSkeleton &)=delete
 
virtual ~MetaSkeleton ()=default
 Default destructor. More...
 
virtual std::unique_ptr< common::LockableReferencegetLockableReference () const =0
 Returns mutex. More...
 
Name
virtual const std::string & setName (const std::string &_name)=0
 Set the name of this MetaSkeleton. More...
 
virtual const std::string & getName () const =0
 Get the name of this MetaSkeleton. More...
 
Structural Properties
virtual std::size_t getNumBodyNodes () const =0
 Get number of body nodes. More...
 
virtual BodyNodegetBodyNode (std::size_t _idx)=0
 Get BodyNode whose index is _idx. More...
 
virtual const BodyNodegetBodyNode (std::size_t _idx) const =0
 Get const BodyNode whose index is _idx. More...
 
virtual BodyNodegetBodyNode (const std::string &name)=0
 Returns the BodyNode of given name. More...
 
virtual const BodyNodegetBodyNode (const std::string &name) const =0
 Returns the BodyNode of given name. More...
 
virtual const std::vector< BodyNode * > & getBodyNodes ()=0
 Get all the BodyNodes that are held by this MetaSkeleton. More...
 
virtual const std::vector< const BodyNode * > & getBodyNodes () const =0
 Get all the BodyNodes that are held by this MetaSkeleton. More...
 
virtual std::vector< BodyNode * > getBodyNodes (const std::string &name)=0
 Returns all the BodyNodes of given name. More...
 
virtual std::vector< const BodyNode * > getBodyNodes (const std::string &name) const =0
 Returns all the BodyNodes of given name. More...
 
virtual bool hasBodyNode (const BodyNode *bodyNode) const =0
 Returns whether this Skeleton contains bodyNode. More...
 
virtual std::size_t getIndexOf (const BodyNode *_bn, bool _warning=true) const =0
 Get the index of a specific BodyNode within this ReferentialSkeleton. More...
 
virtual std::size_t getNumJoints () const =0
 Get number of Joints. More...
 
virtual JointgetJoint (std::size_t _idx)=0
 Get Joint whose index is _idx. More...
 
virtual const JointgetJoint (std::size_t _idx) const =0
 Get const Joint whose index is _idx. More...
 
virtual JointgetJoint (const std::string &name)=0
 Returns the Joint of given name. More...
 
virtual const JointgetJoint (const std::string &name) const =0
 Returns the joint of given name. More...
 
virtual std::vector< Joint * > getJoints ()=0
 Returns all the joints that are held by this MetaSkeleton. More...
 
virtual std::vector< const Joint * > getJoints () const =0
 Returns all the joints that are held by this MetaSkeleton. More...
 
virtual std::vector< Joint * > getJoints (const std::string &name)=0
 Returns all the Joint of given name. More...
 
virtual std::vector< const Joint * > getJoints (const std::string &name) const =0
 Returns all the Joint of given name. More...
 
virtual bool hasJoint (const Joint *joint) const =0
 Returns whether this Skeleton contains join. More...
 
virtual std::size_t getIndexOf (const Joint *_joint, bool _warning=true) const =0
 Get the index of a specific Joint within this ReferentialSkeleton. More...
 
virtual std::size_t getNumDofs () const =0
 Return the number of degrees of freedom in this skeleton. More...
 
virtual DegreeOfFreedomgetDof (std::size_t _idx)=0
 Get degree of freedom (aka generalized coordinate) whose index is _idx. More...
 
virtual const DegreeOfFreedomgetDof (std::size_t _idx) const =0
 Get degree of freedom (aka generalized coordinate) whose index is _idx. More...
 
virtual const std::vector< DegreeOfFreedom * > & getDofs ()=0
 Get the vector of DegreesOfFreedom for this MetaSkeleton. More...
 
virtual std::vector< const DegreeOfFreedom * > getDofs () const =0
 Get a vector of const DegreesOfFreedom for this MetaSkeleton. More...
 
virtual std::size_t getIndexOf (const DegreeOfFreedom *_dof, bool _warning=true) const =0
 Get the index of a specific DegreeOfFreedom within this ReferentialSkeleton. 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...
 
Jacobians
virtual math::Jacobian getJacobian (const JacobianNode *_node) const =0
 Get the spatial Jacobian targeting the origin of a BodyNode. More...
 
virtual math::Jacobian getJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf) const =0
 Get the spatial Jacobian targeting the origin of a BodyNode. More...
 
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...
 
virtual math::Jacobian getJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const =0
 Get the spatial Jacobian targeting an offset in a BodyNode. More...
 
virtual math::Jacobian getJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf) const =0
 Get the spatial Jacobian targeting an offset in a BodyNode. 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...
 
virtual math::Jacobian getWorldJacobian (const JacobianNode *_node) const =0
 Get the spatial Jacobian targeting the origin of a BodyNode. More...
 
virtual math::Jacobian getWorldJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const =0
 Get the spatial Jacobian targeting an offset in a BodyNode. More...
 
virtual math::LinearJacobian getLinearJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the linear Jacobian targeting the origin of a BodyNode. More...
 
virtual math::LinearJacobian getLinearJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the linear Jacobian targeting an offset in a BodyNode. 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
virtual math::AngularJacobian getAngularJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the angular Jacobian of a BodyNode. More...
 
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...
 
virtual math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node) const =0
 Get the spatial Jacobian time derivative targeting the origin of a BodyNode. More...
 
virtual math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf) const =0
 Get the spatial Jacobian time derivative targeting the origin of a BodyNode. More...
 
virtual math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const =0
 Get the spatial Jacobian time derivative targeting an offset in a BodyNode. More...
 
virtual math::Jacobian getJacobianSpatialDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf) const =0
 Get the spatial Jacobian time derivative targeting an offset in a BodyNode. 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...
 
virtual math::Jacobian getJacobianClassicDeriv (const JacobianNode *_node) const =0
 Get the spatial Jacobian (classical) time derivative targeting the origin of a BodyNode. More...
 
virtual math::Jacobian getJacobianClassicDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf) const =0
 Get the spatial Jacobian (classical) time derivative targeting the origin a BodyNode. More...
 
virtual math::Jacobian getJacobianClassicDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the spatial Jacobian (classical) time derivative targeting an offset in a BodyNode. More...
 
virtual math::LinearJacobian getLinearJacobianDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const =0
 of a BodyNode. More...
 
virtual math::LinearJacobian getLinearJacobianDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the linear Jacobian (classical) time derivative targeting an offset in a BodyNode. More...
 
virtual math::AngularJacobian getAngularJacobianDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the angular Jacobian time derivative of a BodyNode. More...
 
Equations of Motion
virtual double getMass () const =0
 Get the total mass of all BodyNodes in this MetaSkeleton. More...
 
virtual const Eigen::MatrixXd & getMassMatrix () const =0
 Get the Mass Matrix of the MetaSkeleton. More...
 
virtual const Eigen::MatrixXd & getAugMassMatrix () const =0
 Get augmented mass matrix of the skeleton. More...
 
virtual const Eigen::MatrixXd & getInvMassMatrix () const =0
 Get inverse of Mass Matrix of the MetaSkeleton. More...
 
virtual const Eigen::MatrixXd & getInvAugMassMatrix () const =0
 Get inverse of augmented Mass Matrix of the MetaSkeleton. More...
 
virtual const Eigen::VectorXd & getCoriolisForces () const =0
 Get Coriolis force vector of the MetaSkeleton's BodyNodes. More...
 
virtual const Eigen::VectorXd & getGravityForces () const =0
 Get gravity force vector of the MetaSkeleton. More...
 
virtual const Eigen::VectorXd & getCoriolisAndGravityForces () const =0
 Get combined vector of Coriolis force and gravity force of the MetaSkeleton. More...
 
virtual const Eigen::VectorXd & getExternalForces () const =0
 Get external force vector of the MetaSkeleton. More...
 
virtual const Eigen::VectorXd & getConstraintForces () const =0
 Get constraint force vector. More...
 
virtual void clearExternalForces ()=0
 Clear the external forces of the BodyNodes in this MetaSkeleton. More...
 
virtual void clearInternalForces ()=0
 Clear the internal forces of the BodyNodes in this MetaSkeleton. More...
 
double computeLagrangian () const
 Compute and return Lagrangian of this MetaSkeleton. More...
 
double getKineticEnergy () const
 Get the kinetic energy of this MetaSkeleton. More...
 
virtual double computeKineticEnergy () const =0
 Get the kinetic energy of this MetaSkeleton. More...
 
double getPotentialEnergy () const
 Get the potential energy of this MetaSkeleton. More...
 
virtual double computePotentialEnergy () const =0
 Get the potential energy of this MetaSkeleton. More...
 
virtual void clearCollidingBodies ()=0
 Clear collision flags of the BodyNodes in this MetaSkeleton. More...
 
Center of Mass Jacobian
virtual Eigen::Vector3d getCOM (const Frame *_withRespectTo=Frame::World()) const =0
 Get the MetaSkeleton's COM with respect to any Frame (default is World Frame) More...
 
virtual Eigen::Vector6d getCOMSpatialVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the Skeleton's COM spatial velocity in terms of any Frame (default is World Frame) More...
 
virtual Eigen::Vector3d getCOMLinearVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the Skeleton's COM linear velocity in terms of any Frame (default is World Frame) More...
 
virtual Eigen::Vector6d getCOMSpatialAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the Skeleton's COM spatial acceleration in terms of any Frame (default is World Frame) More...
 
virtual Eigen::Vector3d getCOMLinearAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the MetaSkeleton's COM linear acceleration in terms of any Frame (default is World Frame) More...
 
virtual math::Jacobian getCOMJacobian (const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the MetaSkeleton's COM Jacobian in terms of any Frame (default is World Frame) More...
 
virtual math::LinearJacobian getCOMLinearJacobian (const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the MetaSkeleton's COM Linear Jacobian in terms of any Frame (default is World Frame) More...
 
virtual math::Jacobian getCOMJacobianSpatialDeriv (const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the Skeleton's COM Jacobian spatial time derivative in terms of any Frame (default is World Frame). More...
 
virtual math::LinearJacobian getCOMLinearJacobianDeriv (const Frame *_inCoordinatesOf=Frame::World()) const =0
 Get the Skeleton's COM Linear Jacobian time derivative in terms of any Frame (default is World Frame). More...
 

Public Attributes

common::SlotRegister< NameChangedSignalonNameChanged
 

Protected Member Functions

 MetaSkeleton ()
 Default constructor. 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

NameChangedSignal mNameChangedSignal
 
std::set< Observer * > mObservers
 List of current Observers. More...
 

Detailed Description

MetaSkeleton is a pure abstract base class that provides a common interface for obtaining data (such as Jacobians and Mass Matrices) from groups of BodyNodes.

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)>

Constructor & Destructor Documentation

◆ MetaSkeleton() [1/2]

dart::dynamics::MetaSkeleton::MetaSkeleton ( const MetaSkeleton )
delete

◆ ~MetaSkeleton()

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

Default destructor.

◆ MetaSkeleton() [2/2]

dart::dynamics::MetaSkeleton::MetaSkeleton ( )
protected

Default constructor.

Member Function Documentation

◆ addObserver()

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

Add an Observer to the list of Observers.

◆ clearCollidingBodies()

virtual void dart::dynamics::MetaSkeleton::clearCollidingBodies ( )
pure virtual

Clear collision flags of the BodyNodes in this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ clearExternalForces()

virtual void dart::dynamics::MetaSkeleton::clearExternalForces ( )
pure virtual

Clear the external forces of the BodyNodes in this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ clearInternalForces()

virtual void dart::dynamics::MetaSkeleton::clearInternalForces ( )
pure virtual

Clear the internal forces of the BodyNodes in this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ computeKineticEnergy()

virtual double dart::dynamics::MetaSkeleton::computeKineticEnergy ( ) const
pure virtual

Get the kinetic energy of this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ computeLagrangian()

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

Compute and return Lagrangian of this MetaSkeleton.

◆ computePotentialEnergy()

virtual double dart::dynamics::MetaSkeleton::computePotentialEnergy ( ) const
pure virtual

Get the potential energy of this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getAcceleration()

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

Get the acceleration of a single generalized coordinate.

◆ getAccelerationLowerLimit()

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

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

◆ getAccelerationLowerLimits() [1/2]

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

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

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

◆ getAccelerations() [1/2]

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

Get the accelerations for all generalized coordinates.

◆ getAccelerations() [2/2]

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

Get the accelerations for a subset of the generalized coordinates.

◆ getAccelerationUpperLimit()

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

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

◆ getAccelerationUpperLimits() [1/2]

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

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

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

◆ getAngularJacobian() [1/2]

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

Get the angular Jacobian of a BodyNode.

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getAngularJacobian() [2/2]

math::AngularJacobian dart::dynamics::MetaSkeleton::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.

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

◆ getAngularJacobianDeriv()

virtual math::AngularJacobian dart::dynamics::MetaSkeleton::getAngularJacobianDeriv ( const JacobianNode _node,
const Frame _inCoordinatesOf = Frame::World() 
) const
pure virtual

Get the angular Jacobian time derivative of a BodyNode.

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getAugMassMatrix()

virtual const Eigen::MatrixXd& dart::dynamics::MetaSkeleton::getAugMassMatrix ( ) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getBodyNode() [1/4]

virtual const BodyNode* dart::dynamics::MetaSkeleton::getBodyNode ( const std::string &  name) const
pure virtual

Returns the BodyNode of given name.

Parameters
[in]nameThe BodyNode name that want to search.
Returns
The body node of given name.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getBodyNode() [2/4]

virtual BodyNode* dart::dynamics::MetaSkeleton::getBodyNode ( const std::string &  name)
pure virtual

Returns the BodyNode of given name.

Parameters
[in]nameThe BodyNode name that want to search.
Returns
The body node of given name.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getBodyNode() [3/4]

virtual const BodyNode* dart::dynamics::MetaSkeleton::getBodyNode ( std::size_t  _idx) const
pure virtual

Get const BodyNode whose index is _idx.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getBodyNode() [4/4]

virtual BodyNode* dart::dynamics::MetaSkeleton::getBodyNode ( std::size_t  _idx)
pure virtual

Get BodyNode whose index is _idx.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getBodyNodes() [1/4]

virtual const std::vector<const BodyNode*>& dart::dynamics::MetaSkeleton::getBodyNodes ( ) const
pure virtual

Get all the BodyNodes that are held by this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getBodyNodes() [2/4]

virtual const std::vector<BodyNode*>& dart::dynamics::MetaSkeleton::getBodyNodes ( )
pure virtual

Get all the BodyNodes that are held by this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getBodyNodes() [3/4]

virtual std::vector<const BodyNode*> dart::dynamics::MetaSkeleton::getBodyNodes ( const std::string &  name) const
pure virtual

Returns all the BodyNodes of given name.

Parameters
[in]nameThe BodyNode name that want to search.
Returns
The list of BodyNodes of given name.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getBodyNodes() [4/4]

virtual std::vector<BodyNode*> dart::dynamics::MetaSkeleton::getBodyNodes ( const std::string &  name)
pure virtual

Returns all the BodyNodes of given name.

Parameters
[in]nameThe BodyNode name that want to search.
Returns
The list of BodyNodes of given name.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCOM()

virtual Eigen::Vector3d dart::dynamics::MetaSkeleton::getCOM ( const Frame _withRespectTo = Frame::World()) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCOMJacobian()

virtual math::Jacobian dart::dynamics::MetaSkeleton::getCOMJacobian ( const Frame _inCoordinatesOf = Frame::World()) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCOMJacobianSpatialDeriv()

virtual math::Jacobian dart::dynamics::MetaSkeleton::getCOMJacobianSpatialDeriv ( const Frame _inCoordinatesOf = Frame::World()) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCOMLinearAcceleration()

virtual Eigen::Vector3d dart::dynamics::MetaSkeleton::getCOMLinearAcceleration ( const Frame _relativeTo = Frame::World(),
const Frame _inCoordinatesOf = Frame::World() 
) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCOMLinearJacobian()

virtual math::LinearJacobian dart::dynamics::MetaSkeleton::getCOMLinearJacobian ( const Frame _inCoordinatesOf = Frame::World()) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCOMLinearJacobianDeriv()

virtual math::LinearJacobian dart::dynamics::MetaSkeleton::getCOMLinearJacobianDeriv ( const Frame _inCoordinatesOf = Frame::World()) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCOMLinearVelocity()

virtual Eigen::Vector3d dart::dynamics::MetaSkeleton::getCOMLinearVelocity ( const Frame _relativeTo = Frame::World(),
const Frame _inCoordinatesOf = Frame::World() 
) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCommand()

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

Get a single command.

◆ getCommands() [1/2]

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

Get commands for all generalized coordinates.

◆ getCommands() [2/2]

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

Get commands for a subset of the generalized coordinates.

◆ getCOMSpatialAcceleration()

virtual Eigen::Vector6d dart::dynamics::MetaSkeleton::getCOMSpatialAcceleration ( const Frame _relativeTo = Frame::World(),
const Frame _inCoordinatesOf = Frame::World() 
) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCOMSpatialVelocity()

virtual Eigen::Vector6d dart::dynamics::MetaSkeleton::getCOMSpatialVelocity ( const Frame _relativeTo = Frame::World(),
const Frame _inCoordinatesOf = Frame::World() 
) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getConstraintForces()

virtual const Eigen::VectorXd& dart::dynamics::MetaSkeleton::getConstraintForces ( ) const
pure virtual

Get constraint force vector.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCoriolisAndGravityForces()

virtual const Eigen::VectorXd& dart::dynamics::MetaSkeleton::getCoriolisAndGravityForces ( ) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getCoriolisForces()

virtual const Eigen::VectorXd& dart::dynamics::MetaSkeleton::getCoriolisForces ( ) const
pure virtual

Get Coriolis force vector of the MetaSkeleton's BodyNodes.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getDof() [1/2]

virtual const DegreeOfFreedom* dart::dynamics::MetaSkeleton::getDof ( std::size_t  _idx) const
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getDof() [2/2]

virtual DegreeOfFreedom* dart::dynamics::MetaSkeleton::getDof ( std::size_t  _idx)
pure virtual

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getDofs() [1/2]

virtual std::vector<const DegreeOfFreedom*> dart::dynamics::MetaSkeleton::getDofs ( ) const
pure virtual

Get a vector of const DegreesOfFreedom for this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getDofs() [2/2]

virtual const std::vector<DegreeOfFreedom*>& dart::dynamics::MetaSkeleton::getDofs ( )
pure virtual

Get the vector of DegreesOfFreedom for this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getExternalForces()

virtual const Eigen::VectorXd& dart::dynamics::MetaSkeleton::getExternalForces ( ) const
pure virtual

Get external force vector of the MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getForce()

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

Get the force of a single generalized coordinate.

◆ getForceLowerLimit()

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

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

◆ getForceLowerLimits() [1/2]

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

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

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

◆ getForces() [1/2]

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

Get the forces for all generalized coordinates.

◆ getForces() [2/2]

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

Get the forces for a subset of the generalized coordinates.

◆ getForceUpperLimit()

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

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

◆ getForceUpperLimits() [1/2]

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

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

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

◆ getGravityForces()

virtual const Eigen::VectorXd& dart::dynamics::MetaSkeleton::getGravityForces ( ) const
pure virtual

Get gravity force vector of the MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getIndexOf() [1/3]

virtual std::size_t dart::dynamics::MetaSkeleton::getIndexOf ( const BodyNode _bn,
bool  _warning = true 
) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getIndexOf() [2/3]

virtual std::size_t dart::dynamics::MetaSkeleton::getIndexOf ( const DegreeOfFreedom _dof,
bool  _warning = true 
) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getIndexOf() [3/3]

virtual std::size_t dart::dynamics::MetaSkeleton::getIndexOf ( const Joint _joint,
bool  _warning = true 
) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getInvAugMassMatrix()

virtual const Eigen::MatrixXd& dart::dynamics::MetaSkeleton::getInvAugMassMatrix ( ) const
pure virtual

Get inverse of augmented Mass Matrix of the MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getInvMassMatrix()

virtual const Eigen::MatrixXd& dart::dynamics::MetaSkeleton::getInvMassMatrix ( ) const
pure virtual

Get inverse of Mass Matrix of the MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobian() [1/6]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getJacobian ( const JacobianNode _node) const
pure virtual

Get the spatial Jacobian targeting the origin of a BodyNode.

The Jacobian is expressed in the Frame of the BodyNode.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobian() [2/6]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getJacobian ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset 
) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobian() [3/6]

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

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobian() [4/6]

math::Jacobian dart::dynamics::MetaSkeleton::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.

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

◆ getJacobian() [5/6]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getJacobian ( const JacobianNode _node,
const Frame _inCoordinatesOf 
) const
pure virtual

Get the spatial Jacobian targeting the origin of a BodyNode.

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobian() [6/6]

math::Jacobian dart::dynamics::MetaSkeleton::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.

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

◆ getJacobianClassicDeriv() [1/3]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getJacobianClassicDeriv ( const JacobianNode _node) const
pure virtual

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

The Jacobian is expressed in the World Frame.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobianClassicDeriv() [2/3]

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

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobianClassicDeriv() [3/3]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getJacobianClassicDeriv ( const JacobianNode _node,
const Frame _inCoordinatesOf 
) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobianSpatialDeriv() [1/6]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node) const
pure virtual

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

The Jacobian is expressed in the Frame of the BodyNode.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobianSpatialDeriv() [2/6]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset 
) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobianSpatialDeriv() [3/6]

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

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobianSpatialDeriv() [4/6]

math::Jacobian dart::dynamics::MetaSkeleton::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.

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

◆ getJacobianSpatialDeriv() [5/6]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getJacobianSpatialDeriv ( const JacobianNode _node,
const Frame _inCoordinatesOf 
) const
pure virtual

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

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJacobianSpatialDeriv() [6/6]

math::Jacobian dart::dynamics::MetaSkeleton::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.

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

◆ getJoint() [1/4]

virtual const Joint* dart::dynamics::MetaSkeleton::getJoint ( const std::string &  name) const
pure virtual

Returns the joint of given name.

Parameters
[in]nameThe joint name that want to search.
Returns
The joint of given name.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJoint() [2/4]

virtual Joint* dart::dynamics::MetaSkeleton::getJoint ( const std::string &  name)
pure virtual

Returns the Joint of given name.

Parameters
[in]nameThe joint name that want to search.
Returns
The joint of given name.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJoint() [3/4]

virtual const Joint* dart::dynamics::MetaSkeleton::getJoint ( std::size_t  _idx) const
pure virtual

Get const Joint whose index is _idx.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJoint() [4/4]

virtual Joint* dart::dynamics::MetaSkeleton::getJoint ( std::size_t  _idx)
pure virtual

Get Joint whose index is _idx.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJointConstraintImpulses()

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

Get the constraint impulses for the generalized coordinates.

◆ getJoints() [1/4]

virtual std::vector<const Joint*> dart::dynamics::MetaSkeleton::getJoints ( ) const
pure virtual

Returns all the joints that are held by this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJoints() [2/4]

virtual std::vector<Joint*> dart::dynamics::MetaSkeleton::getJoints ( )
pure virtual

Returns all the joints that are held by this MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJoints() [3/4]

virtual std::vector<const Joint*> dart::dynamics::MetaSkeleton::getJoints ( const std::string &  name) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getJoints() [4/4]

virtual std::vector<Joint*> dart::dynamics::MetaSkeleton::getJoints ( const std::string &  name)
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getKineticEnergy()

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

Get the kinetic energy of this MetaSkeleton.

◆ getLinearJacobian() [1/4]

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

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ 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

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]

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

Get the linear Jacobian targeting the origin of a BodyNode.

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getLinearJacobian() [4/4]

math::LinearJacobian dart::dynamics::MetaSkeleton::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.

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

◆ getLinearJacobianDeriv() [1/2]

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

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getLinearJacobianDeriv() [2/2]

virtual math::LinearJacobian dart::dynamics::MetaSkeleton::getLinearJacobianDeriv ( const JacobianNode _node,
const Frame _inCoordinatesOf = Frame::World() 
) const
pure virtual

of a BodyNode.

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

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getLockableReference()

virtual std::unique_ptr<common::LockableReference> dart::dynamics::MetaSkeleton::getLockableReference ( ) const
pure virtual

◆ getMass()

virtual double dart::dynamics::MetaSkeleton::getMass ( ) const
pure virtual

Get the total mass of all BodyNodes in this MetaSkeleton.

Note that for the ReferentialSkeleton extension of MetaSkeleton, this will be an O(n) operation, while the Skeleton extension will be O(1).

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getMassMatrix()

virtual const Eigen::MatrixXd& dart::dynamics::MetaSkeleton::getMassMatrix ( ) const
pure virtual

Get the Mass Matrix of the MetaSkeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getName()

virtual const std::string& dart::dynamics::MetaSkeleton::getName ( ) const
pure virtual

◆ getNumBodyNodes()

virtual std::size_t dart::dynamics::MetaSkeleton::getNumBodyNodes ( ) const
pure virtual

Get number of body nodes.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getNumDofs()

virtual std::size_t dart::dynamics::MetaSkeleton::getNumDofs ( ) const
pure virtual

Return the number of degrees of freedom in this skeleton.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getNumJoints()

virtual std::size_t dart::dynamics::MetaSkeleton::getNumJoints ( ) const
pure virtual

Get number of Joints.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getPosition()

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

Get the position of a single generalized coordinate.

◆ getPositionLowerLimit()

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

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

◆ getPositionLowerLimits() [1/2]

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

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

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

◆ getPositions() [1/2]

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

Get the positions for all generalized coordinates.

◆ getPositions() [2/2]

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

Get the positions for a subset of the generalized coordinates.

◆ getPositionUpperLimit()

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

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

◆ getPositionUpperLimits() [1/2]

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

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

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

◆ getPotentialEnergy()

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

Get the potential energy of this MetaSkeleton.

◆ getVelocities() [1/2]

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

Get the velocities for all generalized coordinates.

◆ getVelocities() [2/2]

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

Get the velocities for a subset of the generalized coordinates.

◆ getVelocity()

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

Get the velocity of a single generalized coordinate.

◆ getVelocityChanges()

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

Get the velocity changes for all the generalized coordinates.

◆ getVelocityLowerLimit()

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

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

◆ getVelocityLowerLimits() [1/2]

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

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

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

◆ getVelocityUpperLimit()

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

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

◆ getVelocityUpperLimits() [1/2]

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

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

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

◆ getWorldJacobian() [1/2]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getWorldJacobian ( const JacobianNode _node) const
pure virtual

Get the spatial Jacobian targeting the origin of a BodyNode.

The Jacobian is expressed in the World Frame.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ getWorldJacobian() [2/2]

virtual math::Jacobian dart::dynamics::MetaSkeleton::getWorldJacobian ( const JacobianNode _node,
const Eigen::Vector3d &  _localOffset 
) const
pure virtual

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.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ hasBodyNode()

virtual bool dart::dynamics::MetaSkeleton::hasBodyNode ( const BodyNode bodyNode) const
pure virtual

Returns whether this Skeleton contains bodyNode.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ hasJoint()

virtual bool dart::dynamics::MetaSkeleton::hasJoint ( const Joint joint) const
pure virtual

Returns whether this Skeleton contains join.

Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.

◆ removeObserver()

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

Remove an Observer from the list of Observers.

◆ resetAccelerations()

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

Set all accelerations to zero.

◆ resetCommands()

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

Set all commands to zero.

◆ resetGeneralizedForces()

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

Set all forces of the generalized coordinates to zero.

◆ resetPositions()

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

Set all positions to zero.

◆ resetVelocities()

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

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 
)

Set the acceleration of a single generalized coordinate.

◆ setAccelerationLowerLimit()

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

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

◆ setAccelerationLowerLimits() [1/2]

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

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 
)

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)

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 
)

Set the accelerations of a subset of the generalized coordinates.

◆ setAccelerationUpperLimit()

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

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

◆ setAccelerationUpperLimits() [1/2]

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

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 
)

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 
)

Set a single command.

◆ setCommands() [1/2]

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

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 
)

Set commands for a subset of the generalized coordinates.

◆ setForce()

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

Set the force of a single generalized coordinate.

◆ setForceLowerLimit()

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

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

◆ setForceLowerLimits() [1/2]

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

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 
)

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)

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 
)

Set the forces of a subset of the generalized coordinates.

◆ setForceUpperLimit()

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

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

◆ setForceUpperLimits() [1/2]

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

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 
)

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

◆ setJointConstraintImpulses()

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

Set the constraint impulses for the generalized coordinates.

◆ setName()

virtual const std::string& dart::dynamics::MetaSkeleton::setName ( const std::string &  _name)
pure virtual

◆ setPosition()

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

Set the position of a single generalized coordinate.

◆ setPositionLowerLimit()

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

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

◆ setPositionLowerLimits() [1/2]

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

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 
)

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

◆ setPositions() [1/2]

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

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 
)

Set the positions for a subset of the generalized coordinates.

◆ setPositionUpperLimit()

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

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

◆ setPositionUpperLimits() [1/2]

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

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 
)

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

◆ setVelocities() [1/2]

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

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 
)

Set the velocities of a subset of the generalized coordinates.

◆ setVelocity()

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

Set the velocity of a single generalized coordinate.

◆ setVelocityLowerLimit()

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

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

◆ setVelocityLowerLimits() [1/2]

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

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 
)

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 
)

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

◆ setVelocityUpperLimits() [1/2]

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

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 
)

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

Member Data Documentation

◆ mNameChangedSignal

NameChangedSignal dart::dynamics::MetaSkeleton::mNameChangedSignal
protected

◆ mObservers

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

List of current Observers.

◆ onNameChanged

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