DART  6.7.3
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 . More...
 
AspectgetScrewJointAspect ()
 Get a(an) ScrewJointAspect from this Composite. More...
 
const AspectgetScrewJointAspect () const
 Get a(an) ScrewJointAspect from this Composite. More...
 
AspectgetScrewJointAspect (const bool createIfNull)
 Get a(an) ScrewJointAspect from this Composite. More...
 
void setScrewJointAspect (const Aspect *aspect)
 Make a clone of ScrewJointAspect and place the clone into this Composite. More...
 
void setScrewJointAspect (std::unique_ptr< Aspect > &&aspect)
 Use move semantics to place ScrewJointAspect into this Composite. More...
 
template<typename ... Args>
AspectcreateScrewJointAspect (Args &&... args)
 Construct a(an) ScrewJointAspect inside of this Composite. More...
 
void removeScrewJointAspect ()
 Remove a(an) ScrewJointAspect from this Composite. More...
 
std::unique_ptr< AspectreleaseScrewJointAspect ()
 Remove a(an) ScrewJointAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More...
 
 ScrewJoint (const ScrewJoint &)=delete
 
virtual ~ScrewJoint ()
 Destructor. More...
 
void setProperties (const Properties &_properties)
 Set the Properties of this ScrewJoint. More...
 
void setProperties (const UniqueProperties &_properties)
 Set the Properties of this ScrewJoint. More...
 
void setAspectProperties (const AspectProperties &properties)
 Set the AspectProperties of this ScrewJoint. More...
 
Properties getScrewJointProperties () const
 Get the Properties of this ScrewJoint. More...
 
void copy (const ScrewJoint &_otherJoint)
 Copy the Properties of another ScrewJoint. More...
 
void copy (const ScrewJoint *_otherJoint)
 Copy the Properties of another ScrewJoint. More...
 
ScrewJointoperator= (const ScrewJoint &_otherJoint)
 Copy the Properties of another ScrewJoint. More...
 
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 AspectPropertiesgetAspectProperties () const
 

Static Public Member Functions

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

Protected Member Functions

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

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