Aikido
StateHandle-impl.hpp
Go to the documentation of this file.
2 
3 namespace aikido {
4 namespace statespace {
5 
6 //==============================================================================
7 template <class StateSpace, class QualifiedState>
9  : StateHandle(nullptr, nullptr)
10 {
11  // Do nothing
12 }
13 
14 //==============================================================================
15 template <class StateSpace, class QualifiedState>
17  const StateSpace* space, QualifiedState* state)
18  : mSpace(space), mState(state)
19 {
20  // Do nothing
21 }
22 
23 //==============================================================================
24 template <class StateSpace, class QualifiedState>
26 {
27  return mState;
28 }
29 
30 //==============================================================================
31 template <class StateSpace, class QualifiedState>
33 {
34  reset(nullptr, nullptr);
35 }
36 
37 //==============================================================================
38 template <class StateSpace, class QualifiedState>
40  const StateSpace* space, QualifiedState* state)
41 {
42  mSpace = space;
43  mState = state;
44 }
45 
46 //==============================================================================
47 template <class StateSpace, class QualifiedState>
48 template <typename Q>
50  typename std::enable_if<!std::is_const<Q>::value, Q*>::type
51 {
52  return mState;
53 }
54 
55 //==============================================================================
56 template <class StateSpace, class QualifiedState>
57 template <typename Q>
59  typename std::conditional<std::is_const<Q>::value, Q*, const Q*>::type
60 {
61  return mState;
62 }
63 
64 //==============================================================================
65 template <class _StateSpace, class _QualifiedState>
67  -> const StateSpace*
68 {
69  return mSpace;
70 }
71 
72 } // namespace statespace
73 } // namespace aikido
aikido::statespace::StateHandle::StateHandle
StateHandle()
Constructs a nullptr handle.
Definition: StateHandle-impl.hpp:8
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
StateHandle.hpp
mSpace
std::shared_ptr< const statespace::R< N > > mSpace
Definition: RnConstantSampler-impl.hpp:46
aikido::statespace::StateHandle
Wrap a State with its StateSpace to provide convenient accessor methods.
Definition: StateHandle.hpp:16
aikido::statespace::SE3
The three-dimensional special Euclidean group SE(3), i.e.
Definition: SE3.hpp:19
aikido::statespace::StateHandle< SE3, _QualifiedState >::QualifiedState
_QualifiedState QualifiedState
Definition: StateHandle.hpp:20