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

TranslationalJoint2D represents a 2-dof joint, which has two orthogonal translational axes. More...

#include <TranslationalJoint2D.hpp>

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

Public Types

using PlaneType = detail::PlaneType
 
using UniqueProperties = detail::TranslationalJoint2DUniqueProperties
 
using Properties = detail::TranslationalJoint2DProperties
 
using Base = detail::TranslationalJoint2DBase
 
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 hasTranslationalJoint2DAspect () const
 Check if this Composite currently has TranslationalJoint2DAspect .
 
Aspect * getTranslationalJoint2DAspect ()
 Get a(an) TranslationalJoint2DAspect from this Composite.
 
const Aspect * getTranslationalJoint2DAspect () const
 Get a(an) TranslationalJoint2DAspect from this Composite.
 
Aspect * getTranslationalJoint2DAspect (const bool createIfNull)
 Get a(an) TranslationalJoint2DAspect from this Composite.
 
void setTranslationalJoint2DAspect (const Aspect *aspect)
 Make a clone of TranslationalJoint2DAspect and place the clone into this Composite.
 
void setTranslationalJoint2DAspect (std::unique_ptr< Aspect > &&aspect)
 Use move semantics to place TranslationalJoint2DAspect into this Composite.
 
template<typename... Args>
Aspect * createTranslationalJoint2DAspect (Args &&... args)
 Construct a(an) TranslationalJoint2DAspect inside of this Composite.
 
void removeTranslationalJoint2DAspect ()
 Remove a(an) TranslationalJoint2DAspect from this Composite.
 
std::unique_ptr< Aspect > releaseTranslationalJoint2DAspect ()
 Remove a(an) TranslationalJoint2DAspect from this Composite, but return its unique_ptr instead of letting it be deleted.
 
 TranslationalJoint2D (const TranslationalJoint2D &)=delete
 
virtual ~TranslationalJoint2D ()
 Destructor.
 
void setProperties (const Properties &properties)
 Sets the Properties of this TranslationalJoint2D.
 
void setProperties (const UniqueProperties &properties)
 Sets the Properties of this TranslationalJoint2D.
 
void setAspectProperties (const AspectProperties &properties)
 Sets the AspectProperties of this TranslationalJoint2D.
 
Properties getTranslationalJoint2DProperties () const
 Returns the Properties of this TranslationalJoint2D.
 
void copy (const TranslationalJoint2D &otherJoint)
 Copies the Properties of another TranslationalJoint2D.
 
void copy (const TranslationalJoint2D *otherJoint)
 Copies the Properties of another TranslationalJoint2D.
 
TranslationalJoint2D & operator= (const TranslationalJoint2D &otherJoint)
 Copies the Properties of another TranslationalJoint2D.
 
const std::string & getType () const override
 
bool isCyclic (std::size_t index) const override
 
void setXYPlane (bool renameDofs=true)
 Sets plane type as XY-plane.
 
void setYZPlane (bool renameDofs=true)
 Sets plane type as YZ-plane.
 
void setZXPlane (bool renameDofs=true)
 Sets plane type as ZX-plane.
 
void setArbitraryPlane (const Eigen::Vector3d &transAxis1, const Eigen::Vector3d &transAxis2, bool renameDofs=true)
 Sets plane type as arbitrary plane with two orthogonal translational axes.
 
PlaneType getPlaneType () const
 Returns plane type.
 
Eigen::Vector3d getTranslationalAxis1 () const
 Returns first translational axis.
 
Eigen::Vector3d getTranslationalAxis2 () const
 Returns second translational axis.
 
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 ()
 Returns joint type for this class.
 

Protected Member Functions

 TranslationalJoint2D (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

TranslationalJoint2D represents a 2-dof joint, which has two orthogonal translational axes.

First and second coordiantes represent the translations along first and second translational axes, respectively.

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

◆ PlaneType

◆ Properties

◆ UniqueProperties

Constructor & Destructor Documentation

◆ TranslationalJoint2D() [1/2]

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

◆ ~TranslationalJoint2D()

dart::dynamics::TranslationalJoint2D::~TranslationalJoint2D ( )
virtual

Destructor.

◆ TranslationalJoint2D() [2/2]

dart::dynamics::TranslationalJoint2D::TranslationalJoint2D ( const Properties &  properties)
explicitprotected

Constructor called by Skeleton class.

Member Function Documentation

◆ clone()

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

◆ copy() [1/2]

void dart::dynamics::TranslationalJoint2D::copy ( const TranslationalJoint2D &  otherJoint)

Copies the Properties of another TranslationalJoint2D.

◆ copy() [2/2]

void dart::dynamics::TranslationalJoint2D::copy ( const TranslationalJoint2D *  otherJoint)

Copies the Properties of another TranslationalJoint2D.

◆ createTranslationalJoint2DAspect()

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

Construct a(an) TranslationalJoint2DAspect inside of this Composite.

◆ getAspectProperties()

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

◆ getPlaneType()

TranslationalJoint2D::PlaneType dart::dynamics::TranslationalJoint2D::getPlaneType ( ) const

Returns plane type.

◆ getRelativeJacobianStatic()

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

◆ getStaticType()

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

Returns joint type for this class.

◆ getTranslationalAxis1()

Eigen::Vector3d dart::dynamics::TranslationalJoint2D::getTranslationalAxis1 ( ) const

Returns first translational axis.

◆ getTranslationalAxis2()

Eigen::Vector3d dart::dynamics::TranslationalJoint2D::getTranslationalAxis2 ( ) const

Returns second translational axis.

◆ getTranslationalJoint2DAspect() [1/3]

Aspect * dart::dynamics::TranslationalJoint2D::getTranslationalJoint2DAspect ( )
inline

Get a(an) TranslationalJoint2DAspect from this Composite.

◆ getTranslationalJoint2DAspect() [2/3]

const Aspect * dart::dynamics::TranslationalJoint2D::getTranslationalJoint2DAspect ( ) const
inline

Get a(an) TranslationalJoint2DAspect from this Composite.

◆ getTranslationalJoint2DAspect() [3/3]

Aspect * dart::dynamics::TranslationalJoint2D::getTranslationalJoint2DAspect ( const bool  createIfNull)
inline

Get a(an) TranslationalJoint2DAspect from this Composite.

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

◆ getTranslationalJoint2DProperties()

TranslationalJoint2D::Properties dart::dynamics::TranslationalJoint2D::getTranslationalJoint2DProperties ( ) const

Returns the Properties of this TranslationalJoint2D.

◆ getType()

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

◆ hasTranslationalJoint2DAspect()

bool dart::dynamics::TranslationalJoint2D::hasTranslationalJoint2DAspect ( ) const
inline

Check if this Composite currently has TranslationalJoint2DAspect .

◆ isCyclic()

bool dart::dynamics::TranslationalJoint2D::isCyclic ( std::size_t  index) const
override

◆ operator=()

TranslationalJoint2D & dart::dynamics::TranslationalJoint2D::operator= ( const TranslationalJoint2D &  otherJoint)

Copies the Properties of another TranslationalJoint2D.

◆ releaseTranslationalJoint2DAspect()

std::unique_ptr< Aspect > dart::dynamics::TranslationalJoint2D::releaseTranslationalJoint2DAspect ( )
inline

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

◆ removeTranslationalJoint2DAspect()

void dart::dynamics::TranslationalJoint2D::removeTranslationalJoint2DAspect ( )
inline

Remove a(an) TranslationalJoint2DAspect from this Composite.

◆ setArbitraryPlane()

void dart::dynamics::TranslationalJoint2D::setArbitraryPlane ( const Eigen::Vector3d &  transAxis1,
const Eigen::Vector3d &  transAxis2,
bool  renameDofs = true 
)

Sets plane type as arbitrary plane with two orthogonal translational axes.

Parameters
[in]transAxis1First translational axis
[in]transAxis2Second translational axis
[in]renameDofsIf true, the names of dofs in this joint will be renmaed according to the plane type.

◆ setAspectProperties()

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

Sets the AspectProperties of this TranslationalJoint2D.

◆ setProperties() [1/2]

void dart::dynamics::TranslationalJoint2D::setProperties ( const Properties &  properties)

Sets the Properties of this TranslationalJoint2D.

◆ setProperties() [2/2]

void dart::dynamics::TranslationalJoint2D::setProperties ( const UniqueProperties &  properties)

Sets the Properties of this TranslationalJoint2D.

◆ setTranslationalJoint2DAspect() [1/2]

void dart::dynamics::TranslationalJoint2D::setTranslationalJoint2DAspect ( const Aspect *  aspect)
inline

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

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

◆ setTranslationalJoint2DAspect() [2/2]

void dart::dynamics::TranslationalJoint2D::setTranslationalJoint2DAspect ( std::unique_ptr< Aspect > &&  aspect)
inline

Use move semantics to place TranslationalJoint2DAspect into this Composite.

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

◆ setXYPlane()

void dart::dynamics::TranslationalJoint2D::setXYPlane ( bool  renameDofs = true)

Sets plane type as XY-plane.

Parameters
[in]renameDofsIf true, the names of dofs in this joint will be renmaed according to the plane type.

◆ setYZPlane()

void dart::dynamics::TranslationalJoint2D::setYZPlane ( bool  renameDofs = true)

Sets plane type as YZ-plane.

Parameters
[in]renameDofsIf true, the names of dofs in this joint will be renmaed according to the plane type.

◆ setZXPlane()

void dart::dynamics::TranslationalJoint2D::setZXPlane ( bool  renameDofs = true)

Sets plane type as ZX-plane.

Parameters
[in]renameDofsIf true, the names of dofs in this joint will be renmaed according to the plane type.

◆ updateDegreeOfFreedomNames()

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

◆ updateRelativeJacobian()

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

◆ updateRelativeJacobianTimeDeriv()

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

◆ updateRelativeTransform()

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