DART  6.6.2
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 . More...
 
AspectgetUniversalJointAspect ()
 Get a(an) UniversalJointAspect from this Composite. More...
 
const AspectgetUniversalJointAspect () const
 Get a(an) UniversalJointAspect from this Composite. More...
 
AspectgetUniversalJointAspect (const bool createIfNull)
 Get a(an) UniversalJointAspect from this Composite. More...
 
void setUniversalJointAspect (const Aspect *aspect)
 Make a clone of UniversalJointAspect and place the clone into this Composite. More...
 
void setUniversalJointAspect (std::unique_ptr< Aspect > &&aspect)
 Use move semantics to place UniversalJointAspect into this Composite. More...
 
template<typename ... Args>
AspectcreateUniversalJointAspect (Args &&... args)
 Construct a(an) UniversalJointAspect inside of this Composite. More...
 
void removeUniversalJointAspect ()
 Remove a(an) UniversalJointAspect from this Composite. More...
 
std::unique_ptr< AspectreleaseUniversalJointAspect ()
 Remove a(an) UniversalJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More...
 
 UniversalJoint (const UniversalJoint &)=delete
 
virtual ~UniversalJoint ()
 Destructor. More...
 
void setProperties (const Properties &_properties)
 Set the Properties of this UniversalJoint. More...
 
void setProperties (const UniqueProperties &_properties)
 Set the Properties of this UniversalJoint. More...
 
void setAspectProperties (const AspectProperties &properties)
 Set the AspectProperties of this UniversalJoint. More...
 
Properties getUniversalJointProperties () const
 Get the Properties of this UniversalJoint. More...
 
void copy (const UniversalJoint &_otherJoint)
 Copy the Properties of another UniversalJoint. More...
 
void copy (const UniversalJoint *_otherJoint)
 Copy the Properties of another UniversalJoint. More...
 
UniversalJointoperator= (const UniversalJoint &_otherJoint)
 Copy the Properties of another UniversalJoint. More...
 
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 AspectPropertiesgetAspectProperties () const
 

Static Public Member Functions

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

Protected Member Functions

 UniversalJoint (const Properties &properties)
 Constructor called by Skeleton class. More...
 
Jointclone () 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. More...
 

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
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 Function 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.