DART 6.10.1
Loading...
Searching...
No Matches
dart::dynamics::ScrewJoint Class Reference

class ScrewJoint More...

#include <ScrewJoint.hpp>

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

Public Types

using UniqueProperties = detail::ScrewJointUniqueProperties
 
using Properties = detail::ScrewJointProperties
 
using Base = detail::ScrewJointBase
 
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 hasScrewJointAspect () const
 Check if this Composite currently has ScrewJointAspect .
 
Aspect * getScrewJointAspect ()
 Get a(an) ScrewJointAspect from this Composite.
 
const Aspect * getScrewJointAspect () const
 Get a(an) ScrewJointAspect from this Composite.
 
Aspect * getScrewJointAspect (const bool createIfNull)
 Get a(an) ScrewJointAspect from this Composite.
 
void setScrewJointAspect (const Aspect *aspect)
 Make a clone of ScrewJointAspect and place the clone into this Composite.
 
void setScrewJointAspect (std::unique_ptr< Aspect > &&aspect)
 Use move semantics to place ScrewJointAspect into this Composite.
 
template<typename... Args>
Aspect * createScrewJointAspect (Args &&... args)
 Construct a(an) ScrewJointAspect inside of this Composite.
 
void removeScrewJointAspect ()
 Remove a(an) ScrewJointAspect from this Composite.
 
std::unique_ptr< Aspect > releaseScrewJointAspect ()
 Remove a(an) ScrewJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted.
 
 ScrewJoint (const ScrewJoint &)=delete
 
virtual ~ScrewJoint ()
 Destructor.
 
void setProperties (const Properties &_properties)
 Set the Properties of this ScrewJoint.
 
void setProperties (const UniqueProperties &_properties)
 Set the Properties of this ScrewJoint.
 
void setAspectProperties (const AspectProperties &properties)
 Set the AspectProperties of this ScrewJoint.
 
Properties getScrewJointProperties () const
 Get the Properties of this ScrewJoint.
 
void copy (const ScrewJoint &_otherJoint)
 Copy the Properties of another ScrewJoint.
 
void copy (const ScrewJoint *_otherJoint)
 Copy the Properties of another ScrewJoint.
 
ScrewJoint & operator= (const ScrewJoint &_otherJoint)
 Copy the Properties of another ScrewJoint.
 
const std::string & getType () const override
 
bool isCyclic (std::size_t _index) const override
 
void setAxis (const Eigen::Vector3d &_axis)
 
const Eigen::Vector3d & getAxis () const
 
void setPitch (double _pitch)
 
double getPitch () const
 
GenericJoint< math::R1Space >::JacobianMatrix getRelativeJacobianStatic (const GenericJoint< math::R1Space >::Vector &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

 ScrewJoint (const Properties &properties)
 Constructor called by Skeleton class.
 
Joint * clone () const override
 
void updateDegreeOfFreedomNames () override
 
void updateRelativeTransform () const override
 
void updateRelativeJacobian (bool _mandatory=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

class ScrewJoint

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

◆ ScrewJoint() [1/2]

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

◆ ~ScrewJoint()

dart::dynamics::ScrewJoint::~ScrewJoint ( )
virtual

Destructor.

◆ ScrewJoint() [2/2]

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

Constructor called by Skeleton class.

Member Function Documentation

◆ clone()

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

◆ copy() [1/2]

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

Copy the Properties of another ScrewJoint.

◆ copy() [2/2]

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

Copy the Properties of another ScrewJoint.

◆ createScrewJointAspect()

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

Construct a(an) ScrewJointAspect inside of this Composite.

◆ getAspectProperties()

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

◆ getAxis()

const Eigen::Vector3d & dart::dynamics::ScrewJoint::getAxis ( ) const

◆ getPitch()

double dart::dynamics::ScrewJoint::getPitch ( ) const

◆ getRelativeJacobianStatic()

GenericJoint< math::R1Space >::JacobianMatrix dart::dynamics::ScrewJoint::getRelativeJacobianStatic ( const GenericJoint< math::R1Space >::Vector &  positions) const
override

◆ getScrewJointAspect() [1/3]

Aspect * dart::dynamics::ScrewJoint::getScrewJointAspect ( )
inline

Get a(an) ScrewJointAspect from this Composite.

◆ getScrewJointAspect() [2/3]

const Aspect * dart::dynamics::ScrewJoint::getScrewJointAspect ( ) const
inline

Get a(an) ScrewJointAspect from this Composite.

◆ getScrewJointAspect() [3/3]

Aspect * dart::dynamics::ScrewJoint::getScrewJointAspect ( const bool  createIfNull)
inline

Get a(an) ScrewJointAspect from this Composite.

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

◆ getScrewJointProperties()

ScrewJoint::Properties dart::dynamics::ScrewJoint::getScrewJointProperties ( ) const

Get the Properties of this ScrewJoint.

◆ getStaticType()

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

Get joint type for this class.

◆ getType()

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

◆ hasScrewJointAspect()

bool dart::dynamics::ScrewJoint::hasScrewJointAspect ( ) const
inline

Check if this Composite currently has ScrewJointAspect .

◆ isCyclic()

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

◆ operator=()

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

Copy the Properties of another ScrewJoint.

◆ releaseScrewJointAspect()

std::unique_ptr< Aspect > dart::dynamics::ScrewJoint::releaseScrewJointAspect ( )
inline

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

◆ removeScrewJointAspect()

void dart::dynamics::ScrewJoint::removeScrewJointAspect ( )
inline

Remove a(an) ScrewJointAspect from this Composite.

◆ setAspectProperties()

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

Set the AspectProperties of this ScrewJoint.

◆ setAxis()

void dart::dynamics::ScrewJoint::setAxis ( const Eigen::Vector3d &  _axis)

◆ setPitch()

void dart::dynamics::ScrewJoint::setPitch ( double  _pitch)

◆ setProperties() [1/2]

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

Set the Properties of this ScrewJoint.

◆ setProperties() [2/2]

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

Set the Properties of this ScrewJoint.

◆ setScrewJointAspect() [1/2]

void dart::dynamics::ScrewJoint::setScrewJointAspect ( const Aspect *  aspect)
inline

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

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

◆ setScrewJointAspect() [2/2]

void dart::dynamics::ScrewJoint::setScrewJointAspect ( std::unique_ptr< Aspect > &&  aspect)
inline

Use move semantics to place ScrewJointAspect into this Composite.

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

◆ updateDegreeOfFreedomNames()

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

◆ updateRelativeJacobian()

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

◆ updateRelativeJacobianTimeDeriv()

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

◆ updateRelativeTransform()

void dart::dynamics::ScrewJoint::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.