DART  6.6.2
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 . More...
 
AspectgetTranslationalJoint2DAspect ()
 Get a(an) TranslationalJoint2DAspect from this Composite. More...
 
const AspectgetTranslationalJoint2DAspect () const
 Get a(an) TranslationalJoint2DAspect from this Composite. More...
 
AspectgetTranslationalJoint2DAspect (const bool createIfNull)
 Get a(an) TranslationalJoint2DAspect from this Composite. More...
 
void setTranslationalJoint2DAspect (const Aspect *aspect)
 Make a clone of TranslationalJoint2DAspect and place the clone into this Composite. More...
 
void setTranslationalJoint2DAspect (std::unique_ptr< Aspect > &&aspect)
 Use move semantics to place TranslationalJoint2DAspect into this Composite. More...
 
template<typename ... Args>
AspectcreateTranslationalJoint2DAspect (Args &&... args)
 Construct a(an) TranslationalJoint2DAspect inside of this Composite. More...
 
void removeTranslationalJoint2DAspect ()
 Remove a(an) TranslationalJoint2DAspect from this Composite. More...
 
std::unique_ptr< AspectreleaseTranslationalJoint2DAspect ()
 Remove a(an) TranslationalJoint2DAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More...
 
 TranslationalJoint2D (const TranslationalJoint2D &)=delete
 
virtual ~TranslationalJoint2D ()
 Destructor. More...
 
void setProperties (const Properties &properties)
 Sets the Properties of this TranslationalJoint2D. More...
 
void setProperties (const UniqueProperties &properties)
 Sets the Properties of this TranslationalJoint2D. More...
 
void setAspectProperties (const AspectProperties &properties)
 Sets the AspectProperties of this TranslationalJoint2D. More...
 
Properties getTranslationalJoint2DProperties () const
 Returns the Properties of this TranslationalJoint2D. More...
 
void copy (const TranslationalJoint2D &otherJoint)
 Copies the Properties of another TranslationalJoint2D. More...
 
void copy (const TranslationalJoint2D *otherJoint)
 Copies the Properties of another TranslationalJoint2D. More...
 
TranslationalJoint2Doperator= (const TranslationalJoint2D &otherJoint)
 Copies the Properties of another TranslationalJoint2D. More...
 
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. More...
 
void setYZPlane (bool renameDofs=true)
 Sets plane type as YZ-plane. More...
 
void setZXPlane (bool renameDofs=true)
 Sets plane type as ZX-plane. More...
 
void setArbitraryPlane (const Eigen::Vector3d &transAxis1, const Eigen::Vector3d &transAxis2, bool renameDofs=true)
 Sets plane type as arbitrary plane with two orthogonal translational axes. More...
 
PlaneType getPlaneType () const
 Returns plane type. More...
 
Eigen::Vector3d getTranslationalAxis1 () const
 Returns first translational axis. More...
 
Eigen::Vector3d getTranslationalAxis2 () const
 Returns second translational axis. More...
 
Eigen::Matrix< double, 6, 2 > getRelativeJacobianStatic (const Eigen::Vector2d &positions) const override
 
const AspectPropertiesgetAspectProperties () const
 

Static Public Member Functions

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

Protected Member Functions

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

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