DART  6.10.1
dart::dynamics::GenericJoint< ConfigSpaceT > Class Template Referenceabstract

#include <GenericJoint.hpp>

Inheritance diagram for dart::dynamics::GenericJoint< ConfigSpaceT >:
dart::common::EmbedStateAndPropertiesOnTopOf< DerivedT, StateDataT, PropertiesDataT, CompositeBases > dart::common::CompositeJoiner< EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >, CompositeBases... >

Public Types

using ThisClass = GenericJoint< ConfigSpaceT >
 
using Base = detail::GenericJointBase< ThisClass, ConfigSpaceT >
 
using Point = typename ConfigSpaceT::Point
 
using EuclideanPoint = typename ConfigSpaceT::EuclideanPoint
 
using Vector = typename ConfigSpaceT::Vector
 
using JacobianMatrix = typename ConfigSpaceT::JacobianMatrix
 
using Matrix = typename ConfigSpaceT::Matrix
 
using UniqueProperties = detail::GenericJointUniqueProperties< ConfigSpaceT >
 
using Properties = detail::GenericJointProperties< ConfigSpaceT >
 
using AspectState = typename Base::AspectState
 
using AspectProperties = typename Base::AspectProperties
 
using Impl = EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >
 
using Derived = typename Impl::Derived
 
using AspectStateData = typename Impl::AspectStateData
 
using AspectPropertiesData = typename Impl::AspectPropertiesData
 
using Aspect = typename Impl::Aspect
 

Public Member Functions

bool hasGenericJointAspect () const
 Check if this Composite currently has GenericJointAspect . More...
 
ThisClass::AspectgetGenericJointAspect ()
 Get a(an) GenericJointAspect from this Composite. More...
 
const ThisClass::AspectgetGenericJointAspect () const
 Get a(an) GenericJointAspect from this Composite. More...
 
ThisClass::AspectgetGenericJointAspect (const bool createIfNull)
 Get a(an) GenericJointAspect from this Composite. More...
 
void setGenericJointAspect (const typename ThisClass::Aspect *aspect)
 Make a clone of GenericJointAspect and place the clone into this Composite. More...
 
void setGenericJointAspect (std::unique_ptr< typename ThisClass::Aspect > &&aspect)
 Use move semantics to place GenericJointAspect into this Composite. More...
 
template<typename... Args>
ThisClass::AspectcreateGenericJointAspect (Args &&... args)
 Construct a(an) GenericJointAspect inside of this Composite. More...
 
void removeGenericJointAspect ()
 Remove a(an) GenericJointAspect from this Composite. More...
 
std::unique_ptr< typename ThisClass::AspectreleaseGenericJointAspect ()
 Remove a(an) GenericJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More...
 
 GenericJoint (const ThisClass &)=delete
 
virtual ~GenericJoint ()
 Destructor. More...
 
void setProperties (const Properties &properties)
 Set the Properties of this GenericJoint. More...
 
void setProperties (const UniqueProperties &properties)
 Set the Properties of this GenericJoint. More...
 
void setAspectState (const AspectState &state)
 Set the AspectState of this GenericJoint. More...
 
void setAspectProperties (const AspectProperties &properties)
 Set the AspectProperties of this GenericJoint. More...
 
Properties getGenericJointProperties () const
 Get the Properties of this GenericJoint. More...
 
void copy (const ThisClass &otherJoint)
 Copy the Properties of another GenericJoint. More...
 
void copy (const ThisClass *otherJoint)
 Copy the Properties of another GenericJoint. More...
 
ThisClassoperator= (const ThisClass &other)
 Same as copy(const GenericJoint&) More...
 
Eigen::Vector6d getBodyConstraintWrench () const override
 
const AspectPropertiesgetAspectProperties () const
 
const AspectStategetAspectState () const
 
Interface for generalized coordinates
DegreeOfFreedomgetDof (std::size_t index) override
 
const DegreeOfFreedomgetDof (std::size_t _index) const override
 
std::size_t getNumDofs () const override
 
const std::string & setDofName (std::size_t index, const std::string &name, bool preserveName=true) override
 
void preserveDofName (size_t index, bool preserve) override
 
bool isDofNamePreserved (size_t index) const override
 
const std::string & getDofName (size_t index) const override
 
size_t getIndexInSkeleton (size_t index) const override
 
size_t getIndexInTree (size_t index) const override
 
Command
void setCommand (std::size_t index, double command) override
 
double getCommand (std::size_t index) const override
 
void setCommands (const Eigen::VectorXd &commands) override
 
Eigen::VectorXd getCommands () const override
 
void resetCommands () override
 
Position
void setPosition (std::size_t index, double position) override
 
double getPosition (std::size_t index) const override
 
void setPositions (const Eigen::VectorXd &positions) override
 
Eigen::VectorXd getPositions () const override
 
void setPositionLowerLimit (std::size_t index, double position) override
 
double getPositionLowerLimit (std::size_t index) const override
 
void setPositionLowerLimits (const Eigen::VectorXd &lowerLimits) override
 
Eigen::VectorXd getPositionLowerLimits () const override
 
void setPositionUpperLimit (std::size_t index, double position) override
 
double getPositionUpperLimit (std::size_t index) const override
 
void setPositionUpperLimits (const Eigen::VectorXd &upperLimits) override
 
Eigen::VectorXd getPositionUpperLimits () const override
 
bool hasPositionLimit (std::size_t index) const override
 
void resetPosition (std::size_t index) override
 
void resetPositions () override
 
void setInitialPosition (std::size_t index, double initial) override
 
double getInitialPosition (std::size_t index) const override
 
void setInitialPositions (const Eigen::VectorXd &initial) override
 
Eigen::VectorXd getInitialPositions () const override
 
Fixed-size mutators and accessors
void setPositionsStatic (const Vector &positions)
 Fixed-size version of setPositions() More...
 
const VectorgetPositionsStatic () const
 Fixed-size version of getPositions() More...
 
void setVelocitiesStatic (const Vector &velocities)
 Fixed-size version of setVelocities() More...
 
const VectorgetVelocitiesStatic () const
 Fixed-size version of getVelocities() More...
 
void setAccelerationsStatic (const Vector &accels)
 Fixed-size version of setAccelerations() More...
 
const VectorgetAccelerationsStatic () const
 Fixed-size version of getAccelerations() More...
 
Velocity
void setVelocity (std::size_t index, double velocity) override
 
double getVelocity (std::size_t index) const override
 
void setVelocities (const Eigen::VectorXd &velocities) override
 
Eigen::VectorXd getVelocities () const override
 
void setVelocityLowerLimit (std::size_t index, double velocity) override
 
double getVelocityLowerLimit (std::size_t index) const override
 
void setVelocityLowerLimits (const Eigen::VectorXd &lowerLimits) override
 
Eigen::VectorXd getVelocityLowerLimits () const override
 
void setVelocityUpperLimit (std::size_t index, double velocity) override
 
double getVelocityUpperLimit (std::size_t index) const override
 
void setVelocityUpperLimits (const Eigen::VectorXd &upperLimits) override
 
Eigen::VectorXd getVelocityUpperLimits () const override
 
void resetVelocity (std::size_t index) override
 
void resetVelocities () override
 
void setInitialVelocity (std::size_t index, double initial) override
 
double getInitialVelocity (std::size_t index) const override
 
void setInitialVelocities (const Eigen::VectorXd &initial) override
 
Eigen::VectorXd getInitialVelocities () const override
 
Acceleration
void setAcceleration (std::size_t index, double acceleration) override
 
double getAcceleration (std::size_t index) const override
 
void setAccelerations (const Eigen::VectorXd &accelerations) override
 
Eigen::VectorXd getAccelerations () const override
 
void setAccelerationLowerLimit (size_t index, double acceleration) override
 
double getAccelerationLowerLimit (std::size_t index) const override
 
void setAccelerationLowerLimits (const Eigen::VectorXd &lowerLimits) override
 
Eigen::VectorXd getAccelerationLowerLimits () const override
 
void setAccelerationUpperLimit (std::size_t index, double acceleration) override
 
double getAccelerationUpperLimit (std::size_t index) const override
 
void setAccelerationUpperLimits (const Eigen::VectorXd &upperLimits) override
 
Eigen::VectorXd getAccelerationUpperLimits () const override
 
void resetAccelerations () override
 
Force
void setForce (std::size_t index, double force) override
 
double getForce (std::size_t index) const override
 
void setForces (const Eigen::VectorXd &forces) override
 
Eigen::VectorXd getForces () const override
 
void setForceLowerLimit (size_t index, double force) override
 
double getForceLowerLimit (std::size_t index) const override
 
void setForceLowerLimits (const Eigen::VectorXd &lowerLimits) override
 
Eigen::VectorXd getForceLowerLimits () const override
 
void setForceUpperLimit (size_t index, double force) override
 
double getForceUpperLimit (size_t index) const override
 
void setForceUpperLimits (const Eigen::VectorXd &upperLimits) override
 
Eigen::VectorXd getForceUpperLimits () const override
 
void resetForces () override
 
Velocity change
void setVelocityChange (std::size_t index, double velocityChange) override
 
double getVelocityChange (std::size_t index) const override
 
void resetVelocityChanges () override
 
Constraint impulse
void setConstraintImpulse (std::size_t index, double impulse) override
 
double getConstraintImpulse (std::size_t index) const override
 
void resetConstraintImpulses () override
 
Integration and finite difference
void integratePositions (double dt) override
 
void integrateVelocities (double dt) override
 
Eigen::VectorXd getPositionDifferences (const Eigen::VectorXd &q2, const Eigen::VectorXd &q1) const override
 
virtual Vector getPositionDifferencesStatic (const Vector &q2, const Vector &q1) const
 Fixed-size version of getPositionDifferences() More...
 
Passive forces - spring, viscous friction, Coulomb friction
void setSpringStiffness (std::size_t index, double k) override
 
double getSpringStiffness (std::size_t index) const override
 
void setRestPosition (std::size_t index, double q0) override
 
double getRestPosition (std::size_t index) const override
 
void setDampingCoefficient (std::size_t index, double coeff) override
 
double getDampingCoefficient (std::size_t index) const override
 
void setCoulombFriction (std::size_t index, double friction) override
 
double getCoulombFriction (std::size_t index) const override
 
Energy
double computePotentialEnergy () const override
 
Jacobians
const math::Jacobian getRelativeJacobian () const override
 
const GenericJoint< ConfigSpaceT >::JacobianMatrixgetRelativeJacobianStatic () const
 Fixed-size version of getRelativeJacobian() More...
 
math::Jacobian getRelativeJacobian (const Eigen::VectorXd &_positions) const override
 
virtual JacobianMatrix getRelativeJacobianStatic (const Vector &positions) const =0
 Fixed-size version of getRelativeJacobian(positions) More...
 
const math::Jacobian getRelativeJacobianTimeDeriv () const override
 
const JacobianMatrixgetRelativeJacobianTimeDerivStatic () const
 Fixed-size version of getRelativeJacobianTimeDeriv() More...
 

Static Public Attributes

static constexpr std::size_t NumDofs = ConfigSpaceT::NumDofs
 

Protected Member Functions

 GenericJoint (const Properties &properties)
 
void registerDofs () override
 
Recursive algorithm routines for equations of motion
void addChildBiasForceForInvMassMatrix (Eigen::Vector6d &parentBiasForce, const Eigen::Matrix6d &childArtInertia, const Eigen::Vector6d &childBiasForce) override
 
void addChildBiasForceForInvAugMassMatrix (Eigen::Vector6d &parentBiasForce, const Eigen::Matrix6d &childArtInertia, const Eigen::Vector6d &childBiasForce) override
 
void updateTotalForceForInvMassMatrix (const Eigen::Vector6d &bodyForce) override
 
void getInvMassMatrixSegment (Eigen::MatrixXd &invMassMat, const size_t col, const Eigen::Matrix6d &artInertia, const Eigen::Vector6d &spatialAcc) override
 
void getInvAugMassMatrixSegment (Eigen::MatrixXd &invMassMat, const size_t col, const Eigen::Matrix6d &artInertia, const Eigen::Vector6d &spatialAcc) override
 
void addInvMassMatrixSegmentTo (Eigen::Vector6d &acc) override
 
Eigen::VectorXd getSpatialToGeneralized (const Eigen::Vector6d &spatial) override
 

Protected Attributes

std::array< DegreeOfFreedom *, NumDofsmDofs
 Array of DegreeOfFreedom objects. More...
 
Vector mVelocityChanges
 Change of generalized velocity. More...
 
Vector mImpulses
 Generalized impulse. More...
 
Vector mConstraintImpulses
 Generalized constraint impulse. More...
 
JacobianMatrix mJacobian
 Spatial Jacobian expressed in the child body frame. More...
 
JacobianMatrix mJacobianDeriv
 Time derivative of spatial Jacobian expressed in the child body frame. More...
 
Matrix mInvProjArtInertia
 Inverse of projected articulated inertia. More...
 
Matrix mInvProjArtInertiaImplicit
 Inverse of projected articulated inertia for implicit joint damping and spring forces. More...
 
Vector mTotalForce
 Total force projected on joint space. More...
 
Vector mTotalImpulse
 Total impluse projected on joint space. More...
 
Vector mInvM_a
 
Vector mInvMassMatrixSegment
 
AspectProperties mAspectProperties
 Aspect::Properties data, directly accessible to your derived class. More...
 
AspectState mAspectState
 Aspect::State data, directly accessible to your derived class. More...
 

Recursive dynamics routines

const MatrixgetInvProjArtInertia () const
 Get the inverse of the projected articulated inertia. More...
 
const MatrixgetInvProjArtInertiaImplicit () const
 Get the inverse of projected articulated inertia for implicit joint damping and spring forces. More...
 
void updateRelativeSpatialVelocity () const override
 
void updateRelativeSpatialAcceleration () const override
 
void updateRelativePrimaryAcceleration () const override
 
void addVelocityTo (Eigen::Vector6d &vel) override
 
void setPartialAccelerationTo (Eigen::Vector6d &partialAcceleration, const Eigen::Vector6d &childVelocity) override
 
void addAccelerationTo (Eigen::Vector6d &acc) override
 
void addVelocityChangeTo (Eigen::Vector6d &velocityChange) override
 
void addChildArtInertiaTo (Eigen::Matrix6d &parentArtInertia, const Eigen::Matrix6d &childArtInertia) override
 
void addChildArtInertiaImplicitTo (Eigen::Matrix6d &parentArtInertiaImplicit, const Eigen::Matrix6d &childArtInertiaImplicit) override
 
void updateInvProjArtInertia (const Eigen::Matrix6d &artInertia) override
 
void updateInvProjArtInertiaImplicit (const Eigen::Matrix6d &artInertia, double timeStep) override
 
void addChildBiasForceTo (Eigen::Vector6d &parentBiasForce, const Eigen::Matrix6d &childArtInertia, const Eigen::Vector6d &childBiasForce, const Eigen::Vector6d &childPartialAcc) override
 
void addChildBiasImpulseTo (Eigen::Vector6d &parentBiasImpulse, const Eigen::Matrix6d &childArtInertia, const Eigen::Vector6d &childBiasImpulse) override
 
void updateTotalForce (const Eigen::Vector6d &bodyForce, double timeStep) override
 
void updateTotalImpulse (const Eigen::Vector6d &bodyImpulse) override
 
void resetTotalImpulses () override
 
void updateAcceleration (const Eigen::Matrix6d &artInertia, const Eigen::Vector6d &spatialAcc) override
 
void updateVelocityChange (const Eigen::Matrix6d &artInertia, const Eigen::Vector6d &velocityChange) override
 
void updateForceID (const Eigen::Vector6d &bodyForce, double timeStep, bool withDampingForces, bool withSpringForces) override
 
void updateForceFD (const Eigen::Vector6d &bodyForce, double timeStep, bool withDampingForcese, bool withSpringForces) override
 
void updateImpulseID (const Eigen::Vector6d &bodyImpulse) override
 
void updateImpulseFD (const Eigen::Vector6d &bodyImpulse) override
 
void updateConstrainedTerms (double timeStep) override
 
void addChildArtInertiaToDynamic (Eigen::Matrix6d &parentArtInertia, const Eigen::Matrix6d &childArtInertia)
 
void addChildArtInertiaToKinematic (Eigen::Matrix6d &parentArtInertia, const Eigen::Matrix6d &childArtInertia)
 
void addChildArtInertiaImplicitToDynamic (Eigen::Matrix6d &parentArtInertia, const Eigen::Matrix6d &childArtInertia)
 
void addChildArtInertiaImplicitToKinematic (Eigen::Matrix6d &parentArtInertia, const Eigen::Matrix6d &childArtInertia)
 
void updateInvProjArtInertiaDynamic (const Eigen::Matrix6d &artInertia)
 
void updateInvProjArtInertiaKinematic (const Eigen::Matrix6d &artInertia)
 
void updateInvProjArtInertiaImplicitDynamic (const Eigen::Matrix6d &artInertia, double timeStep)
 
void updateInvProjArtInertiaImplicitKinematic (const Eigen::Matrix6d &artInertia, double timeStep)
 
void addChildBiasForceToDynamic (Eigen::Vector6d &parentBiasForce, const Eigen::Matrix6d &childArtInertia, const Eigen::Vector6d &childBiasForce, const Eigen::Vector6d &childPartialAcc)
 
void addChildBiasForceToKinematic (Eigen::Vector6d &parentBiasForce, const Eigen::Matrix6d &childArtInertia, const Eigen::Vector6d &childBiasForce, const Eigen::Vector6d &childPartialAcc)
 
void addChildBiasImpulseToDynamic (Eigen::Vector6d &parentBiasImpulse, const Eigen::Matrix6d &childArtInertia, const Eigen::Vector6d &childBiasImpulse)
 
void addChildBiasImpulseToKinematic (Eigen::Vector6d &parentBiasImpulse, const Eigen::Matrix6d &childArtInertia, const Eigen::Vector6d &childBiasImpulse)
 
void updateTotalForceDynamic (const Eigen::Vector6d &bodyForce, double timeStep)
 
void updateTotalForceKinematic (const Eigen::Vector6d &bodyForce, double timeStep)
 
void updateTotalImpulseDynamic (const Eigen::Vector6d &bodyImpulse)
 
void updateTotalImpulseKinematic (const Eigen::Vector6d &bodyImpulse)
 
void updateAccelerationDynamic (const Eigen::Matrix6d &artInertia, const Eigen::Vector6d &spatialAcc)
 
void updateAccelerationKinematic (const Eigen::Matrix6d &artInertia, const Eigen::Vector6d &spatialAcc)
 
void updateVelocityChangeDynamic (const Eigen::Matrix6d &artInertia, const Eigen::Vector6d &velocityChange)
 
void updateVelocityChangeKinematic (const Eigen::Matrix6d &artInertia, const Eigen::Vector6d &velocityChange)
 
void updateConstrainedTermsDynamic (double timeStep)
 
void updateConstrainedTermsKinematic (double timeStep)
 

Member Typedef Documentation

◆ Aspect

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
using dart::common::EmbedStateAndPropertiesOnTopOf< DerivedT, StateDataT, PropertiesDataT, CompositeBases >::Aspect = typename Impl::Aspect
inherited

◆ AspectProperties

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::AspectProperties = typename Base::AspectProperties

◆ AspectPropertiesData

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
using dart::common::EmbedStateAndPropertiesOnTopOf< DerivedT, StateDataT, PropertiesDataT, CompositeBases >::AspectPropertiesData = typename Impl::AspectPropertiesData
inherited

◆ AspectState

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::AspectState = typename Base::AspectState

◆ AspectStateData

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
using dart::common::EmbedStateAndPropertiesOnTopOf< DerivedT, StateDataT, PropertiesDataT, CompositeBases >::AspectStateData = typename Impl::AspectStateData
inherited

◆ Base

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::Base = detail::GenericJointBase<ThisClass, ConfigSpaceT>

◆ Derived

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
using dart::common::EmbedStateAndPropertiesOnTopOf< DerivedT, StateDataT, PropertiesDataT, CompositeBases >::Derived = typename Impl::Derived
inherited

◆ EuclideanPoint

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::EuclideanPoint = typename ConfigSpaceT::EuclideanPoint

◆ Impl

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
using dart::common::EmbedStateAndPropertiesOnTopOf< DerivedT, StateDataT, PropertiesDataT, CompositeBases >::Impl = EmbedStateAndProperties<DerivedT, StateDataT, PropertiesDataT>
inherited

◆ JacobianMatrix

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::JacobianMatrix = typename ConfigSpaceT::JacobianMatrix

◆ Matrix

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::Matrix = typename ConfigSpaceT::Matrix

◆ Point

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::Point = typename ConfigSpaceT::Point

◆ Properties

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::Properties = detail::GenericJointProperties<ConfigSpaceT>

◆ ThisClass

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::ThisClass = GenericJoint<ConfigSpaceT>

◆ UniqueProperties

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::UniqueProperties = detail::GenericJointUniqueProperties<ConfigSpaceT>

◆ Vector

template<class ConfigSpaceT >
using dart::dynamics::GenericJoint< ConfigSpaceT >::Vector = typename ConfigSpaceT::Vector

Constructor & Destructor Documentation

◆ GenericJoint() [1/2]

template<class ConfigSpaceT >
dart::dynamics::GenericJoint< ConfigSpaceT >::GenericJoint ( const ThisClass )
delete

◆ ~GenericJoint()

template<class ConfigSpaceT >
dart::dynamics::GenericJoint< ConfigSpaceT >::~GenericJoint
virtual

Destructor.

◆ GenericJoint() [2/2]

template<class ConfigSpaceT >
dart::dynamics::GenericJoint< ConfigSpaceT >::GenericJoint ( const Properties properties)
protected

Member Function Documentation

◆ addAccelerationTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addAccelerationTo ( Eigen::Vector6d acc)
overrideprotected

◆ addChildArtInertiaImplicitTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildArtInertiaImplicitTo ( Eigen::Matrix6d parentArtInertiaImplicit,
const Eigen::Matrix6d childArtInertiaImplicit 
)
overrideprotected

◆ addChildArtInertiaImplicitToDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildArtInertiaImplicitToDynamic ( Eigen::Matrix6d parentArtInertia,
const Eigen::Matrix6d childArtInertia 
)
private

◆ addChildArtInertiaImplicitToKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildArtInertiaImplicitToKinematic ( Eigen::Matrix6d parentArtInertia,
const Eigen::Matrix6d childArtInertia 
)
private

◆ addChildArtInertiaTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildArtInertiaTo ( Eigen::Matrix6d parentArtInertia,
const Eigen::Matrix6d childArtInertia 
)
overrideprotected

◆ addChildArtInertiaToDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildArtInertiaToDynamic ( Eigen::Matrix6d parentArtInertia,
const Eigen::Matrix6d childArtInertia 
)
private

◆ addChildArtInertiaToKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildArtInertiaToKinematic ( Eigen::Matrix6d parentArtInertia,
const Eigen::Matrix6d childArtInertia 
)
private

◆ addChildBiasForceForInvAugMassMatrix()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildBiasForceForInvAugMassMatrix ( Eigen::Vector6d parentBiasForce,
const Eigen::Matrix6d childArtInertia,
const Eigen::Vector6d childBiasForce 
)
overrideprotected

◆ addChildBiasForceForInvMassMatrix()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildBiasForceForInvMassMatrix ( Eigen::Vector6d parentBiasForce,
const Eigen::Matrix6d childArtInertia,
const Eigen::Vector6d childBiasForce 
)
overrideprotected

◆ addChildBiasForceTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildBiasForceTo ( Eigen::Vector6d parentBiasForce,
const Eigen::Matrix6d childArtInertia,
const Eigen::Vector6d childBiasForce,
const Eigen::Vector6d childPartialAcc 
)
overrideprotected

◆ addChildBiasForceToDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildBiasForceToDynamic ( Eigen::Vector6d parentBiasForce,
const Eigen::Matrix6d childArtInertia,
const Eigen::Vector6d childBiasForce,
const Eigen::Vector6d childPartialAcc 
)
private

◆ addChildBiasForceToKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildBiasForceToKinematic ( Eigen::Vector6d parentBiasForce,
const Eigen::Matrix6d childArtInertia,
const Eigen::Vector6d childBiasForce,
const Eigen::Vector6d childPartialAcc 
)
private

◆ addChildBiasImpulseTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildBiasImpulseTo ( Eigen::Vector6d parentBiasImpulse,
const Eigen::Matrix6d childArtInertia,
const Eigen::Vector6d childBiasImpulse 
)
overrideprotected

◆ addChildBiasImpulseToDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildBiasImpulseToDynamic ( Eigen::Vector6d parentBiasImpulse,
const Eigen::Matrix6d childArtInertia,
const Eigen::Vector6d childBiasImpulse 
)
private

◆ addChildBiasImpulseToKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addChildBiasImpulseToKinematic ( Eigen::Vector6d parentBiasImpulse,
const Eigen::Matrix6d childArtInertia,
const Eigen::Vector6d childBiasImpulse 
)
private

◆ addInvMassMatrixSegmentTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addInvMassMatrixSegmentTo ( Eigen::Vector6d acc)
overrideprotected

◆ addVelocityChangeTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addVelocityChangeTo ( Eigen::Vector6d velocityChange)
overrideprotected

◆ addVelocityTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::addVelocityTo ( Eigen::Vector6d vel)
overrideprotected

◆ computePotentialEnergy()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::computePotentialEnergy
override

◆ copy() [1/2]

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::copy ( const ThisClass otherJoint)

Copy the Properties of another GenericJoint.

◆ copy() [2/2]

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::copy ( const ThisClass otherJoint)

Copy the Properties of another GenericJoint.

◆ createGenericJointAspect()

template<class ConfigSpaceT >
template<typename... Args>
ThisClass::Aspect* dart::dynamics::GenericJoint< ConfigSpaceT >::createGenericJointAspect ( Args &&...  args)
inline

Construct a(an) GenericJointAspect inside of this Composite.

◆ getAcceleration()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getAcceleration ( std::size_t  index) const
override

◆ getAccelerationLowerLimit()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getAccelerationLowerLimit ( std::size_t  index) const
override

◆ getAccelerationLowerLimits()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getAccelerationLowerLimits
override

◆ getAccelerations()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getAccelerations
override

◆ getAccelerationsStatic()

template<class ConfigSpaceT >
const GenericJoint< ConfigSpaceT >::Vector & dart::dynamics::GenericJoint< ConfigSpaceT >::getAccelerationsStatic

Fixed-size version of getAccelerations()

◆ getAccelerationUpperLimit()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getAccelerationUpperLimit ( std::size_t  index) const
override

◆ getAccelerationUpperLimits()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getAccelerationUpperLimits
override

◆ getAspectProperties()

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
const AspectProperties& dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::getAspectProperties
inlineinherited

◆ getAspectState()

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
const AspectState& dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::getAspectState
inlineinherited

◆ getBodyConstraintWrench()

template<class ConfigSpaceT >
Eigen::Vector6d dart::dynamics::GenericJoint< ConfigSpaceT >::getBodyConstraintWrench
override

◆ getCommand()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getCommand ( std::size_t  index) const
override

◆ getCommands()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getCommands
override

◆ getConstraintImpulse()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getConstraintImpulse ( std::size_t  index) const
override

◆ getCoulombFriction()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getCoulombFriction ( std::size_t  index) const
override

◆ getDampingCoefficient()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getDampingCoefficient ( std::size_t  index) const
override

◆ getDof() [1/2]

template<class ConfigSpaceT >
const DegreeOfFreedom* dart::dynamics::GenericJoint< ConfigSpaceT >::getDof ( std::size_t  _index) const
override

◆ getDof() [2/2]

template<class ConfigSpaceT >
DegreeOfFreedom* dart::dynamics::GenericJoint< ConfigSpaceT >::getDof ( std::size_t  index)
override

◆ getDofName()

template<class ConfigSpaceT >
const std::string & dart::dynamics::GenericJoint< ConfigSpaceT >::getDofName ( size_t  index) const
override

◆ getForce()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getForce ( std::size_t  index) const
override

◆ getForceLowerLimit()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getForceLowerLimit ( std::size_t  index) const
override

◆ getForceLowerLimits()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getForceLowerLimits
override

◆ getForces()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getForces
override

◆ getForceUpperLimit()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getForceUpperLimit ( size_t  index) const
override

◆ getForceUpperLimits()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getForceUpperLimits
override

◆ getGenericJointAspect() [1/3]

template<class ConfigSpaceT >
ThisClass::Aspect* dart::dynamics::GenericJoint< ConfigSpaceT >::getGenericJointAspect ( )
inline

Get a(an) GenericJointAspect from this Composite.

◆ getGenericJointAspect() [2/3]

template<class ConfigSpaceT >
const ThisClass::Aspect* dart::dynamics::GenericJoint< ConfigSpaceT >::getGenericJointAspect ( ) const
inline

Get a(an) GenericJointAspect from this Composite.

◆ getGenericJointAspect() [3/3]

template<class ConfigSpaceT >
ThisClass::Aspect* dart::dynamics::GenericJoint< ConfigSpaceT >::getGenericJointAspect ( const bool  createIfNull)
inline

Get a(an) GenericJointAspect from this Composite.

If _createIfNull is true, then a(an) GenericJointAspect will be generated if one does not already exist.

◆ getGenericJointProperties()

template<class ConfigSpaceT >
GenericJoint< ConfigSpaceT >::Properties dart::dynamics::GenericJoint< ConfigSpaceT >::getGenericJointProperties

Get the Properties of this GenericJoint.

◆ getIndexInSkeleton()

template<class ConfigSpaceT >
size_t dart::dynamics::GenericJoint< ConfigSpaceT >::getIndexInSkeleton ( size_t  index) const
override

◆ getIndexInTree()

template<class ConfigSpaceT >
size_t dart::dynamics::GenericJoint< ConfigSpaceT >::getIndexInTree ( size_t  index) const
override

◆ getInitialPosition()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getInitialPosition ( std::size_t  index) const
override

◆ getInitialPositions()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getInitialPositions
override

◆ getInitialVelocities()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getInitialVelocities
override

◆ getInitialVelocity()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getInitialVelocity ( std::size_t  index) const
override

◆ getInvAugMassMatrixSegment()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::getInvAugMassMatrixSegment ( Eigen::MatrixXd &  invMassMat,
const size_t  col,
const Eigen::Matrix6d artInertia,
const Eigen::Vector6d spatialAcc 
)
overrideprotected

◆ getInvMassMatrixSegment()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::getInvMassMatrixSegment ( Eigen::MatrixXd &  invMassMat,
const size_t  col,
const Eigen::Matrix6d artInertia,
const Eigen::Vector6d spatialAcc 
)
overrideprotected

◆ getInvProjArtInertia()

template<class ConfigSpaceT >
const GenericJoint< ConfigSpaceT >::Matrix & dart::dynamics::GenericJoint< ConfigSpaceT >::getInvProjArtInertia
protected

Get the inverse of the projected articulated inertia.

◆ getInvProjArtInertiaImplicit()

template<class ConfigSpaceT >
const GenericJoint< ConfigSpaceT >::Matrix & dart::dynamics::GenericJoint< ConfigSpaceT >::getInvProjArtInertiaImplicit
protected

Get the inverse of projected articulated inertia for implicit joint damping and spring forces.

◆ getNumDofs()

template<class ConfigSpaceT >
size_t dart::dynamics::GenericJoint< ConfigSpaceT >::getNumDofs
override

◆ getPosition()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getPosition ( std::size_t  index) const
override

◆ getPositionDifferences()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getPositionDifferences ( const Eigen::VectorXd &  q2,
const Eigen::VectorXd &  q1 
) const
override

◆ getPositionDifferencesStatic()

template<class ConfigSpaceT >
ConfigSpaceT::Vector dart::dynamics::GenericJoint< ConfigSpaceT >::getPositionDifferencesStatic ( const Vector q2,
const Vector q1 
) const
virtual

Fixed-size version of getPositionDifferences()

◆ getPositionLowerLimit()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getPositionLowerLimit ( std::size_t  index) const
override

◆ getPositionLowerLimits()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getPositionLowerLimits
override

◆ getPositions()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getPositions
override

◆ getPositionsStatic()

template<class ConfigSpaceT >
const GenericJoint< ConfigSpaceT >::Vector & dart::dynamics::GenericJoint< ConfigSpaceT >::getPositionsStatic

Fixed-size version of getPositions()

◆ getPositionUpperLimit()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getPositionUpperLimit ( std::size_t  index) const
override

◆ getPositionUpperLimits()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getPositionUpperLimits
override

◆ getRelativeJacobian() [1/2]

template<class ConfigSpaceT >
const math::Jacobian dart::dynamics::GenericJoint< ConfigSpaceT >::getRelativeJacobian
override

◆ getRelativeJacobian() [2/2]

template<class ConfigSpaceT >
math::Jacobian dart::dynamics::GenericJoint< ConfigSpaceT >::getRelativeJacobian ( const Eigen::VectorXd &  _positions) const
override

◆ getRelativeJacobianStatic() [1/2]

template<class ConfigSpaceT >
const GenericJoint< ConfigSpaceT >::JacobianMatrix & dart::dynamics::GenericJoint< ConfigSpaceT >::getRelativeJacobianStatic

Fixed-size version of getRelativeJacobian()

◆ getRelativeJacobianStatic() [2/2]

template<class ConfigSpaceT >
virtual JacobianMatrix dart::dynamics::GenericJoint< ConfigSpaceT >::getRelativeJacobianStatic ( const Vector positions) const
pure virtual

Fixed-size version of getRelativeJacobian(positions)

◆ getRelativeJacobianTimeDeriv()

template<class ConfigSpaceT >
const math::Jacobian dart::dynamics::GenericJoint< ConfigSpaceT >::getRelativeJacobianTimeDeriv
override

◆ getRelativeJacobianTimeDerivStatic()

template<class ConfigSpaceT >
const GenericJoint< ConfigSpaceT >::JacobianMatrix & dart::dynamics::GenericJoint< ConfigSpaceT >::getRelativeJacobianTimeDerivStatic

Fixed-size version of getRelativeJacobianTimeDeriv()

◆ getRestPosition()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getRestPosition ( std::size_t  index) const
override

◆ getSpatialToGeneralized()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getSpatialToGeneralized ( const Eigen::Vector6d spatial)
overrideprotected

◆ getSpringStiffness()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getSpringStiffness ( std::size_t  index) const
override

◆ getVelocities()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getVelocities
override

◆ getVelocitiesStatic()

template<class ConfigSpaceT >
const GenericJoint< ConfigSpaceT >::Vector & dart::dynamics::GenericJoint< ConfigSpaceT >::getVelocitiesStatic

Fixed-size version of getVelocities()

◆ getVelocity()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getVelocity ( std::size_t  index) const
override

◆ getVelocityChange()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getVelocityChange ( std::size_t  index) const
override

◆ getVelocityLowerLimit()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getVelocityLowerLimit ( std::size_t  index) const
override

◆ getVelocityLowerLimits()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getVelocityLowerLimits
override

◆ getVelocityUpperLimit()

template<class ConfigSpaceT >
double dart::dynamics::GenericJoint< ConfigSpaceT >::getVelocityUpperLimit ( std::size_t  index) const
override

◆ getVelocityUpperLimits()

template<class ConfigSpaceT >
Eigen::VectorXd dart::dynamics::GenericJoint< ConfigSpaceT >::getVelocityUpperLimits
override

◆ hasGenericJointAspect()

template<class ConfigSpaceT >
bool dart::dynamics::GenericJoint< ConfigSpaceT >::hasGenericJointAspect ( ) const
inline

Check if this Composite currently has GenericJointAspect .

◆ hasPositionLimit()

template<class ConfigSpaceT >
bool dart::dynamics::GenericJoint< ConfigSpaceT >::hasPositionLimit ( std::size_t  index) const
override

◆ integratePositions()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::integratePositions ( double  dt)
override

◆ integrateVelocities()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::integrateVelocities ( double  dt)
override

◆ isDofNamePreserved()

template<class ConfigSpaceT >
bool dart::dynamics::GenericJoint< ConfigSpaceT >::isDofNamePreserved ( size_t  index) const
override

◆ operator=()

template<class ConfigSpaceT >
GenericJoint< ConfigSpaceT > & dart::dynamics::GenericJoint< ConfigSpaceT >::operator= ( const ThisClass other)

◆ preserveDofName()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::preserveDofName ( size_t  index,
bool  preserve 
)
override

◆ registerDofs()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::registerDofs
overrideprotected

◆ releaseGenericJointAspect()

template<class ConfigSpaceT >
std::unique_ptr< typename ThisClass::Aspect > dart::dynamics::GenericJoint< ConfigSpaceT >::releaseGenericJointAspect ( )
inline

Remove a(an) GenericJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted.

This allows you to safely use move semantics to transfer a(an) GenericJointAspect between two Composites.

◆ removeGenericJointAspect()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::removeGenericJointAspect ( )
inline

Remove a(an) GenericJointAspect from this Composite.

◆ resetAccelerations()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetAccelerations
override

◆ resetCommands()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetCommands
override

◆ resetConstraintImpulses()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetConstraintImpulses
override

◆ resetForces()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetForces
override

◆ resetPosition()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetPosition ( std::size_t  index)
override

◆ resetPositions()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetPositions
override

◆ resetTotalImpulses()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetTotalImpulses
overrideprotected

◆ resetVelocities()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetVelocities
override

◆ resetVelocity()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetVelocity ( std::size_t  index)
override

◆ resetVelocityChanges()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::resetVelocityChanges
override

◆ setAcceleration()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAcceleration ( std::size_t  index,
double  acceleration 
)
override

◆ setAccelerationLowerLimit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAccelerationLowerLimit ( size_t  index,
double  acceleration 
)
override

◆ setAccelerationLowerLimits()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAccelerationLowerLimits ( const Eigen::VectorXd &  lowerLimits)
override

◆ setAccelerations()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAccelerations ( const Eigen::VectorXd &  accelerations)
override

◆ setAccelerationsStatic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAccelerationsStatic ( const Vector accels)

Fixed-size version of setAccelerations()

◆ setAccelerationUpperLimit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAccelerationUpperLimit ( std::size_t  index,
double  acceleration 
)
override

◆ setAccelerationUpperLimits()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAccelerationUpperLimits ( const Eigen::VectorXd &  upperLimits)
override

◆ setAspectProperties()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAspectProperties ( const AspectProperties properties)

Set the AspectProperties of this GenericJoint.

◆ setAspectState()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setAspectState ( const AspectState state)

Set the AspectState of this GenericJoint.

◆ setCommand()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setCommand ( std::size_t  index,
double  command 
)
override

◆ setCommands()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setCommands ( const Eigen::VectorXd &  commands)
override

◆ setConstraintImpulse()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setConstraintImpulse ( std::size_t  index,
double  impulse 
)
override

◆ setCoulombFriction()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setCoulombFriction ( std::size_t  index,
double  friction 
)
override

◆ setDampingCoefficient()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setDampingCoefficient ( std::size_t  index,
double  coeff 
)
override

◆ setDofName()

template<class ConfigSpaceT >
const std::string & dart::dynamics::GenericJoint< ConfigSpaceT >::setDofName ( std::size_t  index,
const std::string &  name,
bool  preserveName = true 
)
override

◆ setForce()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setForce ( std::size_t  index,
double  force 
)
override

◆ setForceLowerLimit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setForceLowerLimit ( size_t  index,
double  force 
)
override

◆ setForceLowerLimits()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setForceLowerLimits ( const Eigen::VectorXd &  lowerLimits)
override

◆ setForces()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setForces ( const Eigen::VectorXd &  forces)
override

◆ setForceUpperLimit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setForceUpperLimit ( size_t  index,
double  force 
)
override

◆ setForceUpperLimits()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setForceUpperLimits ( const Eigen::VectorXd &  upperLimits)
override

◆ setGenericJointAspect() [1/2]

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setGenericJointAspect ( const typename ThisClass::Aspect aspect)
inline

Make a clone of GenericJointAspect and place the clone into this Composite.

If a(an) GenericJointAspect already exists in this Composite, the existing GenericJointAspect will be destroyed.

◆ setGenericJointAspect() [2/2]

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setGenericJointAspect ( std::unique_ptr< typename ThisClass::Aspect > &&  aspect)
inline

Use move semantics to place GenericJointAspect into this Composite.

If a(an) GenericJointAspect already exists in this Composite, the existing GenericJointAspect will be destroyed.

◆ setInitialPosition()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setInitialPosition ( std::size_t  index,
double  initial 
)
override

◆ setInitialPositions()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setInitialPositions ( const Eigen::VectorXd &  initial)
override

◆ setInitialVelocities()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setInitialVelocities ( const Eigen::VectorXd &  initial)
override

◆ setInitialVelocity()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setInitialVelocity ( std::size_t  index,
double  initial 
)
override

◆ setPartialAccelerationTo()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setPartialAccelerationTo ( Eigen::Vector6d partialAcceleration,
const Eigen::Vector6d childVelocity 
)
overrideprotected

◆ setPosition()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setPosition ( std::size_t  index,
double  position 
)
override

◆ setPositionLowerLimit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setPositionLowerLimit ( std::size_t  index,
double  position 
)
override

◆ setPositionLowerLimits()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setPositionLowerLimits ( const Eigen::VectorXd &  lowerLimits)
override

◆ setPositions()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setPositions ( const Eigen::VectorXd &  positions)
override

◆ setPositionsStatic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setPositionsStatic ( const Vector positions)

Fixed-size version of setPositions()

◆ setPositionUpperLimit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setPositionUpperLimit ( std::size_t  index,
double  position 
)
override

◆ setPositionUpperLimits()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setPositionUpperLimits ( const Eigen::VectorXd &  upperLimits)
override

◆ setProperties() [1/2]

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setProperties ( const Properties properties)

Set the Properties of this GenericJoint.

◆ setProperties() [2/2]

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setProperties ( const UniqueProperties properties)

Set the Properties of this GenericJoint.

◆ setRestPosition()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setRestPosition ( std::size_t  index,
double  q0 
)
override

◆ setSpringStiffness()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setSpringStiffness ( std::size_t  index,
double  k 
)
override

◆ setVelocities()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setVelocities ( const Eigen::VectorXd &  velocities)
override

◆ setVelocitiesStatic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setVelocitiesStatic ( const Vector velocities)

Fixed-size version of setVelocities()

◆ setVelocity()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setVelocity ( std::size_t  index,
double  velocity 
)
override

◆ setVelocityChange()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setVelocityChange ( std::size_t  index,
double  velocityChange 
)
override

◆ setVelocityLowerLimit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setVelocityLowerLimit ( std::size_t  index,
double  velocity 
)
override

◆ setVelocityLowerLimits()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setVelocityLowerLimits ( const Eigen::VectorXd &  lowerLimits)
override

◆ setVelocityUpperLimit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setVelocityUpperLimit ( std::size_t  index,
double  velocity 
)
override

◆ setVelocityUpperLimits()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::setVelocityUpperLimits ( const Eigen::VectorXd &  upperLimits)
override

◆ updateAcceleration()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateAcceleration ( const Eigen::Matrix6d artInertia,
const Eigen::Vector6d spatialAcc 
)
overrideprotected

◆ updateAccelerationDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateAccelerationDynamic ( const Eigen::Matrix6d artInertia,
const Eigen::Vector6d spatialAcc 
)
private

◆ updateAccelerationKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateAccelerationKinematic ( const Eigen::Matrix6d artInertia,
const Eigen::Vector6d spatialAcc 
)
private

◆ updateConstrainedTerms()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateConstrainedTerms ( double  timeStep)
overrideprotected

◆ updateConstrainedTermsDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateConstrainedTermsDynamic ( double  timeStep)
private

◆ updateConstrainedTermsKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateConstrainedTermsKinematic ( double  timeStep)
private

◆ updateForceFD()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateForceFD ( const Eigen::Vector6d bodyForce,
double  timeStep,
bool  withDampingForcese,
bool  withSpringForces 
)
overrideprotected

◆ updateForceID()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateForceID ( const Eigen::Vector6d bodyForce,
double  timeStep,
bool  withDampingForces,
bool  withSpringForces 
)
overrideprotected

◆ updateImpulseFD()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateImpulseFD ( const Eigen::Vector6d bodyImpulse)
overrideprotected

◆ updateImpulseID()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateImpulseID ( const Eigen::Vector6d bodyImpulse)
overrideprotected

◆ updateInvProjArtInertia()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateInvProjArtInertia ( const Eigen::Matrix6d artInertia)
overrideprotected

◆ updateInvProjArtInertiaDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateInvProjArtInertiaDynamic ( const Eigen::Matrix6d artInertia)
private

◆ updateInvProjArtInertiaImplicit()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateInvProjArtInertiaImplicit ( const Eigen::Matrix6d artInertia,
double  timeStep 
)
overrideprotected

◆ updateInvProjArtInertiaImplicitDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateInvProjArtInertiaImplicitDynamic ( const Eigen::Matrix6d artInertia,
double  timeStep 
)
private

◆ updateInvProjArtInertiaImplicitKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateInvProjArtInertiaImplicitKinematic ( const Eigen::Matrix6d artInertia,
double  timeStep 
)
private

◆ updateInvProjArtInertiaKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateInvProjArtInertiaKinematic ( const Eigen::Matrix6d artInertia)
private

◆ updateRelativePrimaryAcceleration()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateRelativePrimaryAcceleration
overrideprotected

◆ updateRelativeSpatialAcceleration()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateRelativeSpatialAcceleration
overrideprotected

◆ updateRelativeSpatialVelocity()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateRelativeSpatialVelocity
overrideprotected

◆ updateTotalForce()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateTotalForce ( const Eigen::Vector6d bodyForce,
double  timeStep 
)
overrideprotected

◆ updateTotalForceDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateTotalForceDynamic ( const Eigen::Vector6d bodyForce,
double  timeStep 
)
private

◆ updateTotalForceForInvMassMatrix()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateTotalForceForInvMassMatrix ( const Eigen::Vector6d bodyForce)
overrideprotected

◆ updateTotalForceKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateTotalForceKinematic ( const Eigen::Vector6d bodyForce,
double  timeStep 
)
private

◆ updateTotalImpulse()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateTotalImpulse ( const Eigen::Vector6d bodyImpulse)
overrideprotected

◆ updateTotalImpulseDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateTotalImpulseDynamic ( const Eigen::Vector6d bodyImpulse)
private

◆ updateTotalImpulseKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateTotalImpulseKinematic ( const Eigen::Vector6d bodyImpulse)
private

◆ updateVelocityChange()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateVelocityChange ( const Eigen::Matrix6d artInertia,
const Eigen::Vector6d velocityChange 
)
overrideprotected

◆ updateVelocityChangeDynamic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateVelocityChangeDynamic ( const Eigen::Matrix6d artInertia,
const Eigen::Vector6d velocityChange 
)
private

◆ updateVelocityChangeKinematic()

template<class ConfigSpaceT >
void dart::dynamics::GenericJoint< ConfigSpaceT >::updateVelocityChangeKinematic ( const Eigen::Matrix6d artInertia,
const Eigen::Vector6d velocityChange 
)
private

Member Data Documentation

◆ mAspectProperties

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
AspectProperties dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::mAspectProperties
protectedinherited

Aspect::Properties data, directly accessible to your derived class.

◆ mAspectState

template<class DerivedT , typename StateDataT , typename PropertiesDataT , typename... CompositeBases>
AspectState dart::common::EmbedStateAndProperties< DerivedT, StateDataT, PropertiesDataT >::mAspectState
protectedinherited

Aspect::State data, directly accessible to your derived class.

◆ mConstraintImpulses

template<class ConfigSpaceT >
Vector dart::dynamics::GenericJoint< ConfigSpaceT >::mConstraintImpulses
protected

Generalized constraint impulse.

◆ mDofs

template<class ConfigSpaceT >
std::array<DegreeOfFreedom*, NumDofs> dart::dynamics::GenericJoint< ConfigSpaceT >::mDofs
protected

Array of DegreeOfFreedom objects.

◆ mImpulses

template<class ConfigSpaceT >
Vector dart::dynamics::GenericJoint< ConfigSpaceT >::mImpulses
protected

Generalized impulse.

◆ mInvM_a

template<class ConfigSpaceT >
Vector dart::dynamics::GenericJoint< ConfigSpaceT >::mInvM_a
protected

◆ mInvMassMatrixSegment

template<class ConfigSpaceT >
Vector dart::dynamics::GenericJoint< ConfigSpaceT >::mInvMassMatrixSegment
protected

◆ mInvProjArtInertia

template<class ConfigSpaceT >
Matrix dart::dynamics::GenericJoint< ConfigSpaceT >::mInvProjArtInertia
mutableprotected

Inverse of projected articulated inertia.

Do not use directly! Use getInvProjArtInertia() to get this quantity

◆ mInvProjArtInertiaImplicit

template<class ConfigSpaceT >
Matrix dart::dynamics::GenericJoint< ConfigSpaceT >::mInvProjArtInertiaImplicit
mutableprotected

Inverse of projected articulated inertia for implicit joint damping and spring forces.

Do not use directly! Use getInvProjArtInertiaImplicit() to access this quantity

◆ mJacobian

template<class ConfigSpaceT >
JacobianMatrix dart::dynamics::GenericJoint< ConfigSpaceT >::mJacobian
mutableprotected

Spatial Jacobian expressed in the child body frame.

Do not use directly! Use getRelativeJacobianStatic() to access this quantity

◆ mJacobianDeriv

template<class ConfigSpaceT >
JacobianMatrix dart::dynamics::GenericJoint< ConfigSpaceT >::mJacobianDeriv
mutableprotected

Time derivative of spatial Jacobian expressed in the child body frame.

Do not use directly! Use getRelativeJacobianTimeDerivStatic() to access this quantity

◆ mTotalForce

template<class ConfigSpaceT >
Vector dart::dynamics::GenericJoint< ConfigSpaceT >::mTotalForce
protected

Total force projected on joint space.

◆ mTotalImpulse

template<class ConfigSpaceT >
Vector dart::dynamics::GenericJoint< ConfigSpaceT >::mTotalImpulse
protected

Total impluse projected on joint space.

◆ mVelocityChanges

template<class ConfigSpaceT >
Vector dart::dynamics::GenericJoint< ConfigSpaceT >::mVelocityChanges
protected

Change of generalized velocity.

◆ NumDofs

template<class ConfigSpaceT >
constexpr size_t dart::dynamics::GenericJoint< ConfigSpaceT >::NumDofs = ConfigSpaceT::NumDofs
staticconstexpr