DART  6.10.1
dart::dynamics::EndEffector Class Referencefinal

#include <EndEffector.hpp>

Inheritance diagram for dart::dynamics::EndEffector:
dart::common::EmbedPropertiesOnTopOf< EndEffector, detail::EndEffectorProperties, detail::EndEffectorCompositeBase > dart::common::CompositeJoiner< OtherBases >

Public Types

using UniqueProperties = detail::EndEffectorProperties
 
using BasicProperties = common::Composite::MakeProperties< NameAspect, FixedFrame, EndEffector >
 
using Properties = common::Composite::Properties
 
using Impl = EmbedProperties< EndEffector, detail::EndEffectorProperties >
 
using Derived = typename Impl::Derived
 
using AspectPropertiesData = typename Impl::AspectPropertiesData
 
using AspectProperties = typename Impl::AspectProperties
 
using Aspect = typename Impl::Aspect
 
using Base = CompositeJoiner< Impl, CompositeBases... >
 

Public Member Functions

virtual ~EndEffector ()=default
 Destructor. More...
 
const AspectPropertiesgetAspectProperties () const
 
Structural Properties
void setProperties (const BasicProperties &_properties)
 Set the Properties of this EndEffector. More...
 
void setProperties (const UniqueProperties &properties, bool useNow=false)
 Set the Properties of this EndEffector. More...
 
void setAspectProperties (const AspectProperties &properties)
 Set the AspectProperties of this EndEffector. More...
 
Properties getEndEffectorProperties () const
 Get the Properties of this EndEffector. More...
 
void copy (const EndEffector &_otherEndEffector)
 Copy the State and Properties of another EndEffector. More...
 
void copy (const EndEffector *_otherEndEffector)
 Copy the State and Properties of another EndEffector. More...
 
EndEffectoroperator= (const EndEffector &_otherEndEffector)
 Copy the State and Properties of another EndEffector. More...
 
void setDefaultRelativeTransform (const Eigen::Isometry3d &_newDefaultTf, bool _useNow=false)
 Set the default relative transform of this EndEffector. More...
 
void resetRelativeTransform ()
 Set the current relative transform of this EndEffector to the default relative transform of this EndEffector. More...
 
bool hasSupport () const
 Check if this Composite currently has Support . More...
 
SupportgetSupport ()
 Get a(an) Support from this Composite. More...
 
const SupportgetSupport () const
 Get a(an) Support from this Composite. More...
 
SupportgetSupport (const bool createIfNull)
 Get a(an) Support from this Composite. More...
 
void setSupport (const Support *aspect)
 Make a clone of Support and place the clone into this Composite. More...
 
void setSupport (std::unique_ptr< Support > &&aspect)
 Use move semantics to place Support into this Composite. More...
 
template<typename... Args>
SupportcreateSupport (Args &&... args)
 Construct a(an) Support inside of this Composite. More...
 
void removeSupport ()
 Remove a(an) Support from this Composite. More...
 
std::unique_ptr< SupportreleaseSupport ()
 Remove a(an) Support from this Composite, but return its unique_ptr instead of letting it be deleted. More...
 
Notifications
void dirtyTransform () override
 

Protected Member Functions

 EndEffector (BodyNode *parent, const BasicProperties &properties)
 Constructor used by the Skeleton class. More...
 
NodecloneNode (BodyNode *_parent) const override
 

Protected Attributes

AspectProperties mAspectProperties
 Aspect::Properties data, directly accessible to your derived class. More...
 

Friends

class Skeleton
 
class BodyNode
 

Member Typedef Documentation

◆ Aspect

◆ AspectProperties

using dart::common::EmbedPropertiesOnTopOf< EndEffector , detail::EndEffectorProperties , CompositeBases >::AspectProperties = typename Impl::AspectProperties
inherited

◆ AspectPropertiesData

◆ Base

using dart::common::EmbedPropertiesOnTopOf< EndEffector , detail::EndEffectorProperties , CompositeBases >::Base = CompositeJoiner<Impl, CompositeBases...>
inherited

◆ BasicProperties

◆ Derived

◆ Impl

◆ Properties

◆ UniqueProperties

Constructor & Destructor Documentation

◆ ~EndEffector()

virtual dart::dynamics::EndEffector::~EndEffector ( )
virtualdefault

Destructor.

◆ EndEffector()

dart::dynamics::EndEffector::EndEffector ( BodyNode parent,
const BasicProperties properties 
)
explicitprotected

Constructor used by the Skeleton class.

Member Function Documentation

◆ cloneNode()

Node * dart::dynamics::EndEffector::cloneNode ( BodyNode _parent) const
overrideprotected

◆ copy() [1/2]

void dart::dynamics::EndEffector::copy ( const EndEffector _otherEndEffector)

Copy the State and Properties of another EndEffector.

◆ copy() [2/2]

void dart::dynamics::EndEffector::copy ( const EndEffector _otherEndEffector)

Copy the State and Properties of another EndEffector.

◆ createSupport()

template<typename... Args>
Support* dart::dynamics::EndEffector::createSupport ( Args &&...  args)
inline

Construct a(an) Support inside of this Composite.

◆ dirtyTransform()

void dart::dynamics::EndEffector::dirtyTransform ( )
override

◆ getAspectProperties()

◆ getEndEffectorProperties()

EndEffector::Properties dart::dynamics::EndEffector::getEndEffectorProperties ( ) const

Get the Properties of this EndEffector.

◆ getSupport() [1/3]

Support* dart::dynamics::EndEffector::getSupport ( )
inline

Get a(an) Support from this Composite.

◆ getSupport() [2/3]

const Support* dart::dynamics::EndEffector::getSupport ( ) const
inline

Get a(an) Support from this Composite.

◆ getSupport() [3/3]

Support* dart::dynamics::EndEffector::getSupport ( const bool  createIfNull)
inline

Get a(an) Support from this Composite.

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

◆ hasSupport()

bool dart::dynamics::EndEffector::hasSupport ( ) const
inline

Check if this Composite currently has Support .

◆ operator=()

EndEffector & dart::dynamics::EndEffector::operator= ( const EndEffector _otherEndEffector)

Copy the State and Properties of another EndEffector.

◆ releaseSupport()

std::unique_ptr< Support > dart::dynamics::EndEffector::releaseSupport ( )
inline

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

◆ removeSupport()

void dart::dynamics::EndEffector::removeSupport ( )
inline

Remove a(an) Support from this Composite.

◆ resetRelativeTransform()

void dart::dynamics::EndEffector::resetRelativeTransform ( )

Set the current relative transform of this EndEffector to the default relative transform of this EndEffector.

The default relative transform can be set with setDefaultRelativeTransform()

◆ setAspectProperties()

void dart::dynamics::EndEffector::setAspectProperties ( const AspectProperties properties)

Set the AspectProperties of this EndEffector.

◆ setDefaultRelativeTransform()

void dart::dynamics::EndEffector::setDefaultRelativeTransform ( const Eigen::Isometry3d &  _newDefaultTf,
bool  _useNow = false 
)

Set the default relative transform of this EndEffector.

The relative transform of this EndEffector will be set to _newDefaultTf the next time resetRelativeTransform() is called. If _useNow is set to true, then resetRelativeTransform() will be called at the end of this function.

◆ setProperties() [1/2]

void dart::dynamics::EndEffector::setProperties ( const BasicProperties _properties)

Set the Properties of this EndEffector.

If _useNow is true, the current Transform will be set to the new default transform.

◆ setProperties() [2/2]

void dart::dynamics::EndEffector::setProperties ( const UniqueProperties properties,
bool  useNow = false 
)

Set the Properties of this EndEffector.

If _useNow is true, the current Transform will be set to the new default transform.

◆ setSupport() [1/2]

void dart::dynamics::EndEffector::setSupport ( const Support aspect)
inline

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

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

◆ setSupport() [2/2]

void dart::dynamics::EndEffector::setSupport ( std::unique_ptr< Support > &&  aspect)
inline

Use move semantics to place Support into this Composite.

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

Friends And Related Function Documentation

◆ BodyNode

friend class BodyNode
friend

◆ Skeleton

friend class Skeleton
friend

Member Data Documentation

◆ mAspectProperties

Aspect::Properties data, directly accessible to your derived class.