Aikido
SO3-impl.hpp
Go to the documentation of this file.
1 namespace aikido {
2 namespace statespace {
3 
8 template <class _QualifiedState>
9 class SO3StateHandle : public statespace::StateHandle<SO3, _QualifiedState>
10 {
11 public:
15 
16  using Quaternion = typename State::Quaternion;
17 
20  {
21  // Do nothing
22  }
23 
28  SO3StateHandle(const StateSpace* _space, QualifiedState* _state)
29  : statespace::StateHandle<StateSpace, QualifiedState>(_space, _state)
30  {
31  // Do nothing
32  }
33 
36  {
37  return this->getStateSpace()->getQuaternion(this->getState());
38  }
39 
43  void setQuaternion(const Quaternion& _quaternion)
44  {
45  this->getStateSpace()->setQuaternion(this->getState(), _quaternion);
46  }
47 };
48 
49 } // namespace statespace
50 } // namespace aikido
aikido::statespace::SO3::getQuaternion
const Quaternion & getQuaternion(const State *_state) const
Gets a state as a unit quaternion.
aikido::statespace::SO3StateHandle::setQuaternion
void setQuaternion(const Quaternion &_quaternion)
Sets a state to a unit quaternion.
Definition: SO3-impl.hpp:43
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::statespace::StateHandle< SO3, _QualifiedState >::getState
auto getState() -> typename std::enable_if<!std::is_const< Q >::value, Q * >::type
Returns the State.
Definition: StateHandle-impl.hpp:49
aikido::statespace::SO3
The two-dimensional special orthogonal group SO(3), i.e.
Definition: SO3.hpp:17
aikido::statespace::SO3StateHandle
StateHandle for a SO3.
Definition: SO3-impl.hpp:9
aikido::statespace::SO3StateHandle::getQuaternion
const Quaternion & getQuaternion()
Constructs a point in SO(3) from a unit quaternion.
Definition: SO3-impl.hpp:35
aikido::statespace::SO3::setQuaternion
void setQuaternion(State *_state, const Quaternion &_quaternion) const
Sets a state to a unit quaternion.
aikido::statespace::StateHandle< SO3, _QualifiedState >::getStateSpace
const StateSpace * getStateSpace() const
Returns the state space that created this state.
Definition: StateHandle-impl.hpp:66
aikido::statespace::SE2
The two-dimensional special Euclidean group SE(2), i.e.
Definition: SE2.hpp:19
aikido::statespace::StateHandle
Wrap a State with its StateSpace to provide convenient accessor methods.
Definition: StateHandle.hpp:16
aikido::statespace::SO3StateHandle::SO3StateHandle
SO3StateHandle(const StateSpace *_space, QualifiedState *_state)
Construct a handle for _state in _space.
Definition: SO3-impl.hpp:28
aikido::statespace::SO3StateHandle::SO3StateHandle
SO3StateHandle()
Construct and initialize to nullptr.
Definition: SO3-impl.hpp:19
aikido::statespace::StateHandle::QualifiedState
_QualifiedState QualifiedState
Definition: StateHandle.hpp:20
aikido::statespace::SO3StateHandle::Quaternion
typename State::Quaternion Quaternion
Definition: SO3-impl.hpp:16
aikido::statespace::StateHandle::State
typename StateSpace::State State
Definition: StateHandle.hpp:22