aikido
SO3-impl.hpp
1 namespace aikido {
2 namespace statespace {
3 
8 template <class _QualifiedState>
9 class SO3StateHandle : public statespace::StateHandle<SO3, _QualifiedState>
10 {
11 public:
12  using typename statespace::StateHandle<SO3, _QualifiedState>::State;
14  using typename statespace::StateHandle<SO3, _QualifiedState>::QualifiedState;
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 
35  const Quaternion& getQuaternion()
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
Wrap a State with its StateSpace to provide convenient accessor methods.
Definition: StateHandle.hpp:16
const Quaternion & getQuaternion()
Constructs a point in SO(3) from a unit quaternion.
Definition: SO3-impl.hpp:35
The two-dimensional special orthogonal group SO(3), i.e.
Definition: SO3.hpp:17
const Quaternion & getQuaternion(const State *_state) const
Gets a state as a unit quaternion.
Definition: SO3.cpp:49
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
The two-dimensional special Euclidean group SE(2), i.e.
Definition: SE2.hpp:19
void setQuaternion(State *_state, const Quaternion &_quaternion) const
Sets a state to a unit quaternion.
Definition: SO3.cpp:55
const StateSpace * getStateSpace() const
Returns the state space that created this state.
Definition: StateHandle-impl.hpp:66
void setQuaternion(const Quaternion &_quaternion)
Sets a state to a unit quaternion.
Definition: SO3-impl.hpp:43
StateHandle for a SO3.
Definition: SO3-impl.hpp:9
SO3StateHandle(const StateSpace *_space, QualifiedState *_state)
Construct a handle for _state in _space.
Definition: SO3-impl.hpp:28
auto getState() -> typename std::enable_if<!std::is_const< Q >::value, Q * >::type
Returns the State.
Definition: StateHandle-impl.hpp:49
SO3StateHandle()
Construct and initialize to nullptr.
Definition: SO3-impl.hpp:19