Aikido
aikido::statespace::dart::MetaSkeletonStateSaver Class Reference

RAII class to save and restore a MetaSkeleton's state. More...

#include <aikido/statespace/dart/MetaSkeletonStateSaver.hpp>

Public Types

enum  Options { POSITIONS = 1 << 0, POSITION_LIMITS = 1 << 1 }
 Options to specify what MetaSkeletonStateSaver should save. More...
 

Public Member Functions

 MetaSkeletonStateSaver (::dart::dynamics::MetaSkeletonPtr metaskeleton, int options=POSITIONS|POSITION_LIMITS)
 Construct a MetaSkeletonStateSaver and save the current state of the MetaSkeleton. More...
 
virtual ~MetaSkeletonStateSaver ()
 
 MetaSkeletonStateSaver (const MetaSkeletonStateSaver &)=delete
 
MetaSkeletonStateSaveroperator= (const MetaSkeletonStateSaver &)=delete
 
 MetaSkeletonStateSaver (MetaSkeletonStateSaver &&)=default
 
MetaSkeletonStateSaveroperator= (MetaSkeletonStateSaver &&)=default
 

Private Attributes

::dart::dynamics::MetaSkeletonPtr mMetaSkeleton
 MetaSkeleton to save the state of. More...
 
int mOptions
 Options to specify what should be saved. More...
 
Eigen::VectorXd mPositions
 Saved positions. More...
 
Eigen::VectorXd mPositionLowerLimits
 Saved position lower limits. More...
 
Eigen::VectorXd mPositionUpperLimits
 Saved position upper limits. More...
 

Detailed Description

RAII class to save and restore a MetaSkeleton's state.

FIXME: currently only saves position and joint limits.

Member Enumeration Documentation

◆ Options

Options to specify what MetaSkeletonStateSaver should save.

Enumerator
POSITIONS 
POSITION_LIMITS 

Constructor & Destructor Documentation

◆ MetaSkeletonStateSaver() [1/3]

aikido::statespace::dart::MetaSkeletonStateSaver::MetaSkeletonStateSaver ( ::dart::dynamics::MetaSkeletonPtr  metaskeleton,
int  options = POSITIONS|POSITION_LIMITS 
)
explicit

Construct a MetaSkeletonStateSaver and save the current state of the MetaSkeleton.

This state will be restored when MetaSkeletonStateSaver is destructed.

Parameters
[in]metaskeletonMetaSkeleton to save/restore
[in]optionsOptions to specify what should be saved

◆ ~MetaSkeletonStateSaver()

virtual aikido::statespace::dart::MetaSkeletonStateSaver::~MetaSkeletonStateSaver ( )
virtual

◆ MetaSkeletonStateSaver() [2/3]

aikido::statespace::dart::MetaSkeletonStateSaver::MetaSkeletonStateSaver ( const MetaSkeletonStateSaver )
delete

◆ MetaSkeletonStateSaver() [3/3]

aikido::statespace::dart::MetaSkeletonStateSaver::MetaSkeletonStateSaver ( MetaSkeletonStateSaver &&  )
default

Member Function Documentation

◆ operator=() [1/2]

MetaSkeletonStateSaver& aikido::statespace::dart::MetaSkeletonStateSaver::operator= ( const MetaSkeletonStateSaver )
delete

◆ operator=() [2/2]

MetaSkeletonStateSaver& aikido::statespace::dart::MetaSkeletonStateSaver::operator= ( MetaSkeletonStateSaver &&  )
default

Member Data Documentation

◆ mMetaSkeleton

::dart::dynamics::MetaSkeletonPtr aikido::statespace::dart::MetaSkeletonStateSaver::mMetaSkeleton
private

MetaSkeleton to save the state of.

◆ mOptions

int aikido::statespace::dart::MetaSkeletonStateSaver::mOptions
private

Options to specify what should be saved.

◆ mPositionLowerLimits

Eigen::VectorXd aikido::statespace::dart::MetaSkeletonStateSaver::mPositionLowerLimits
private

Saved position lower limits.

◆ mPositions

Eigen::VectorXd aikido::statespace::dart::MetaSkeletonStateSaver::mPositions
private

Saved positions.

◆ mPositionUpperLimits

Eigen::VectorXd aikido::statespace::dart::MetaSkeletonStateSaver::mPositionUpperLimits
private

Saved position upper limits.