DART 6.12.2
Loading...
Searching...
No Matches
dart::dynamics::UniversalJoint Class Reference

class UniversalJoint More...

#include <UniversalJoint.hpp>

Inheritance diagram for dart::dynamics::UniversalJoint:
dart::common::EmbedPropertiesOnTopOf< DerivedT, PropertiesDataT, CompositeBases > dart::common::CompositeJoiner< EmbedProperties< DerivedT, PropertiesDataT >, CompositeBases... >

Public Types

using UniqueProperties = detail::UniversalJointUniqueProperties
 
using Properties = detail::UniversalJointProperties
 
using Base = detail::UniversalJointBase
 
using Impl = EmbedProperties< DerivedT, PropertiesDataT >
 
using Derived = typename Impl::Derived
 
using AspectPropertiesData = typename Impl::AspectPropertiesData
 
using AspectProperties = typename Impl::AspectProperties
 
using Aspect = typename Impl::Aspect
 

Public Member Functions

bool hasUniversalJointAspect () const
 Check if this Composite currently has UniversalJointAspect .
 
Aspect * getUniversalJointAspect ()
 Get a(an) UniversalJointAspect from this Composite.
 
const Aspect * getUniversalJointAspect () const
 Get a(an) UniversalJointAspect from this Composite.
 
Aspect * getUniversalJointAspect (const bool createIfNull)
 Get a(an) UniversalJointAspect from this Composite.
 
void setUniversalJointAspect (const Aspect *aspect)
 Make a clone of UniversalJointAspect and place the clone into this Composite.
 
void setUniversalJointAspect (std::unique_ptr< Aspect > &&aspect)
 Use move semantics to place UniversalJointAspect into this Composite.
 
template<typename... Args>
Aspect * createUniversalJointAspect (Args &&... args)
 Construct a(an) UniversalJointAspect inside of this Composite.
 
void removeUniversalJointAspect ()
 Remove a(an) UniversalJointAspect from this Composite.
 
std::unique_ptr< Aspect > releaseUniversalJointAspect ()
 Remove a(an) UniversalJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted.
 
 UniversalJoint (const UniversalJoint &)=delete
 
virtual ~UniversalJoint ()
 Destructor.
 
void setProperties (const Properties &_properties)
 Set the Properties of this UniversalJoint.
 
void setProperties (const UniqueProperties &_properties)
 Set the Properties of this UniversalJoint.
 
void setAspectProperties (const AspectProperties &properties)
 Set the AspectProperties of this UniversalJoint.
 
Properties getUniversalJointProperties () const
 Get the Properties of this UniversalJoint.
 
void copy (const UniversalJoint &_otherJoint)
 Copy the Properties of another UniversalJoint.
 
void copy (const UniversalJoint *_otherJoint)
 Copy the Properties of another UniversalJoint.
 
UniversalJoint & operator= (const UniversalJoint &_otherJoint)
 Copy the Properties of another UniversalJoint.
 
const std::string & getType () const override
 
bool isCyclic (std::size_t _index) const override
 
void setAxis1 (const Eigen::Vector3d &_axis)
 
void setAxis2 (const Eigen::Vector3d &_axis)
 
const Eigen::Vector3d & getAxis1 () const
 
const Eigen::Vector3d & getAxis2 () const
 
Eigen::Matrix< double, 6, 2 > getRelativeJacobianStatic (const Eigen::Vector2d &_positions) const override
 
const AspectProperties & getAspectProperties () const
 

Static Public Member Functions

static const std::string & getStaticType ()
 Get joint type for this class.
 

Protected Member Functions

 UniversalJoint (const Properties &properties)
 Constructor called by Skeleton class.
 
Joint * clone () const override
 
void updateDegreeOfFreedomNames () override
 
void updateRelativeTransform () const override
 
void updateRelativeJacobian (bool=true) const override
 
void updateRelativeJacobianTimeDeriv () const override
 

Protected Attributes

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

Friends

class Skeleton
 

Detailed Description

Member Typedef Documentation

◆ Aspect

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

◆ AspectProperties

template<class DerivedT , typename PropertiesDataT , typename... CompositeBases>
using dart::common::EmbedPropertiesOnTopOf< DerivedT, PropertiesDataT, CompositeBases >::AspectProperties = typename Impl::AspectProperties
inherited

◆ AspectPropertiesData

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

◆ Base

◆ Derived

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

◆ Impl

template<class DerivedT , typename PropertiesDataT , typename... CompositeBases>
using dart::common::EmbedPropertiesOnTopOf< DerivedT, PropertiesDataT, CompositeBases >::Impl = EmbedProperties<DerivedT, PropertiesDataT>
inherited

◆ Properties

◆ UniqueProperties

Constructor & Destructor Documentation

◆ UniversalJoint() [1/2]

dart::dynamics::UniversalJoint::UniversalJoint ( const UniversalJoint &  )
delete

◆ ~UniversalJoint()

dart::dynamics::UniversalJoint::~UniversalJoint ( )
virtual

Destructor.

◆ UniversalJoint() [2/2]

dart::dynamics::UniversalJoint::UniversalJoint ( const Properties &  properties)
protected

Constructor called by Skeleton class.

Member Function Documentation

◆ clone()

Joint * dart::dynamics::UniversalJoint::clone ( ) const
overrideprotected

◆ copy() [1/2]

void dart::dynamics::UniversalJoint::copy ( const UniversalJoint &  _otherJoint)

Copy the Properties of another UniversalJoint.

◆ copy() [2/2]

void dart::dynamics::UniversalJoint::copy ( const UniversalJoint *  _otherJoint)

Copy the Properties of another UniversalJoint.

◆ createUniversalJointAspect()

template<typename... Args>
Aspect * dart::dynamics::UniversalJoint::createUniversalJointAspect ( Args &&...  args)
inline

Construct a(an) UniversalJointAspect inside of this Composite.

◆ getAspectProperties()

template<class DerivedT , typename PropertiesDataT , typename... CompositeBases>
const AspectProperties & dart::common::EmbedProperties< DerivedT, PropertiesDataT >::getAspectProperties ( ) const
inlineinherited

◆ getAxis1()

const Eigen::Vector3d & dart::dynamics::UniversalJoint::getAxis1 ( ) const

◆ getAxis2()

const Eigen::Vector3d & dart::dynamics::UniversalJoint::getAxis2 ( ) const

◆ getRelativeJacobianStatic()

Eigen::Matrix< double, 6, 2 > dart::dynamics::UniversalJoint::getRelativeJacobianStatic ( const Eigen::Vector2d &  _positions) const
override

◆ getStaticType()

const std::string & dart::dynamics::UniversalJoint::getStaticType ( )
static

Get joint type for this class.

◆ getType()

const std::string & dart::dynamics::UniversalJoint::getType ( ) const
override

◆ getUniversalJointAspect() [1/3]

Aspect * dart::dynamics::UniversalJoint::getUniversalJointAspect ( )
inline

Get a(an) UniversalJointAspect from this Composite.

◆ getUniversalJointAspect() [2/3]

const Aspect * dart::dynamics::UniversalJoint::getUniversalJointAspect ( ) const
inline

Get a(an) UniversalJointAspect from this Composite.

◆ getUniversalJointAspect() [3/3]

Aspect * dart::dynamics::UniversalJoint::getUniversalJointAspect ( const bool  createIfNull)
inline

Get a(an) UniversalJointAspect from this Composite.

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

◆ getUniversalJointProperties()

UniversalJoint::Properties dart::dynamics::UniversalJoint::getUniversalJointProperties ( ) const

Get the Properties of this UniversalJoint.

◆ hasUniversalJointAspect()

bool dart::dynamics::UniversalJoint::hasUniversalJointAspect ( ) const
inline

Check if this Composite currently has UniversalJointAspect .

◆ isCyclic()

bool dart::dynamics::UniversalJoint::isCyclic ( std::size_t  _index) const
override

◆ operator=()

UniversalJoint & dart::dynamics::UniversalJoint::operator= ( const UniversalJoint &  _otherJoint)

Copy the Properties of another UniversalJoint.

◆ releaseUniversalJointAspect()

std::unique_ptr< Aspect > dart::dynamics::UniversalJoint::releaseUniversalJointAspect ( )
inline

Remove a(an) UniversalJointAspect 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) UniversalJointAspect between two Composites.

◆ removeUniversalJointAspect()

void dart::dynamics::UniversalJoint::removeUniversalJointAspect ( )
inline

Remove a(an) UniversalJointAspect from this Composite.

◆ setAspectProperties()

void dart::dynamics::UniversalJoint::setAspectProperties ( const AspectProperties &  properties)

Set the AspectProperties of this UniversalJoint.

◆ setAxis1()

void dart::dynamics::UniversalJoint::setAxis1 ( const Eigen::Vector3d &  _axis)

◆ setAxis2()

void dart::dynamics::UniversalJoint::setAxis2 ( const Eigen::Vector3d &  _axis)

◆ setProperties() [1/2]

void dart::dynamics::UniversalJoint::setProperties ( const Properties &  _properties)

Set the Properties of this UniversalJoint.

◆ setProperties() [2/2]

void dart::dynamics::UniversalJoint::setProperties ( const UniqueProperties &  _properties)

Set the Properties of this UniversalJoint.

◆ setUniversalJointAspect() [1/2]

void dart::dynamics::UniversalJoint::setUniversalJointAspect ( const Aspect *  aspect)
inline

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

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

◆ setUniversalJointAspect() [2/2]

void dart::dynamics::UniversalJoint::setUniversalJointAspect ( std::unique_ptr< Aspect > &&  aspect)
inline

Use move semantics to place UniversalJointAspect into this Composite.

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

◆ updateDegreeOfFreedomNames()

void dart::dynamics::UniversalJoint::updateDegreeOfFreedomNames ( )
overrideprotected

◆ updateRelativeJacobian()

void dart::dynamics::UniversalJoint::updateRelativeJacobian ( bool  = true) const
overrideprotected

◆ updateRelativeJacobianTimeDeriv()

void dart::dynamics::UniversalJoint::updateRelativeJacobianTimeDeriv ( ) const
overrideprotected

◆ updateRelativeTransform()

void dart::dynamics::UniversalJoint::updateRelativeTransform ( ) const
overrideprotected

Friends And Related Symbol Documentation

◆ Skeleton

friend class Skeleton
friend

Member Data Documentation

◆ mAspectProperties

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

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