Aikido
aikido::statespace::SO3StateHandle< _QualifiedState > Class Template Reference

StateHandle for a SO3. More...

#include <aikido/statespace/detail/SO3-impl.hpp>

Inheritance diagram for aikido::statespace::SO3StateHandle< _QualifiedState >:
aikido::statespace::StateHandle< SO3, _QualifiedState >

Public Types

using Quaternion = typename State::Quaternion
 
- Public Types inherited from aikido::statespace::StateHandle< SO3, _QualifiedState >
using StateSpace = SO3
 
using QualifiedState = _QualifiedState
 
using State = typename StateSpace::State
 
using ConstState = typename std::conditional< std::is_const< QualifiedState >::value, QualifiedState, const QualifiedState >::type
 

Public Member Functions

 SO3StateHandle ()
 Construct and initialize to nullptr. More...
 
 SO3StateHandle (const StateSpace *_space, QualifiedState *_state)
 Construct a handle for _state in _space. More...
 
const QuaterniongetQuaternion ()
 Constructs a point in SO(3) from a unit quaternion. More...
 
void setQuaternion (const Quaternion &_quaternion)
 Sets a state to a unit quaternion. More...
 
- Public Member Functions inherited from aikido::statespace::StateHandle< SO3, _QualifiedState >
 StateHandle ()
 Constructs a nullptr handle. More...
 
 StateHandle (const StateSpace *space, QualifiedState *state)
 Wrap state, which must be form the provided StateSpace. More...
 
 StateHandle (const StateHandle &)=default
 
 StateHandle (StateHandle &&)=default
 
StateHandleoperator= (StateHandle &&)=default
 
StateHandleoperator= (const StateHandle &)=default
 
 operator QualifiedState * () const
 Implicitly convert to a State pointer. More...
 
void reset ()
 Resets StateHandle to nullptr. More...
 
void reset (const StateSpace *space, QualifiedState *state)
 Resets the state, which must be from the provided StateSpace. More...
 
auto getState () -> typename std::enable_if<!std::is_const< Q >::value, Q * >::type
 Returns the State. More...
 
auto getState () const -> typename std::conditional< std::is_const< Q >::value, Q *, const Q * >::type
 Returns the State. More...
 
const StateSpacegetStateSpace () const
 Returns the state space that created this state. More...
 

Additional Inherited Members

- Protected Attributes inherited from aikido::statespace::StateHandle< SO3, _QualifiedState >
const StateSpacemSpace
 State space of the sate that is managed by this handler. More...
 
QualifiedStatemState
 State managed by this handler. This can be either const or non-const type. More...
 

Detailed Description

template<class _QualifiedState>
class aikido::statespace::SO3StateHandle< _QualifiedState >

StateHandle for a SO3.

The template parameter is necessary to support both const and non-const states.

Template Parameters
_QualifiedStatetype of State being wrapped

Member Typedef Documentation

◆ Quaternion

template<class _QualifiedState >
using aikido::statespace::SO3StateHandle< _QualifiedState >::Quaternion = typename State::Quaternion

Constructor & Destructor Documentation

◆ SO3StateHandle() [1/2]

template<class _QualifiedState >
aikido::statespace::SO3StateHandle< _QualifiedState >::SO3StateHandle ( )
inline

Construct and initialize to nullptr.

◆ SO3StateHandle() [2/2]

template<class _QualifiedState >
aikido::statespace::SO3StateHandle< _QualifiedState >::SO3StateHandle ( const StateSpace _space,
QualifiedState _state 
)
inline

Construct a handle for _state in _space.

Parameters
_spacestate space that created _state
_statestate created by _space

Member Function Documentation

◆ getQuaternion()

template<class _QualifiedState >
const Quaternion& aikido::statespace::SO3StateHandle< _QualifiedState >::getQuaternion ( )
inline

Constructs a point in SO(3) from a unit quaternion.

◆ setQuaternion()

template<class _QualifiedState >
void aikido::statespace::SO3StateHandle< _QualifiedState >::setQuaternion ( const Quaternion _quaternion)
inline

Sets a state to a unit quaternion.

Parameters
_quaternionunit quaternion representing orientation