Aikido
StateHandle-impl.hpp
Go to the documentation of this file.
1
#include "
aikido/statespace/StateHandle.hpp
"
2
3
namespace
aikido
{
4
namespace
statespace {
5
6
//==============================================================================
7
template
<
class
StateSpace,
class
QualifiedState>
8
StateHandle<StateSpace, QualifiedState>::StateHandle
()
9
:
StateHandle
(nullptr, nullptr)
10
{
11
// Do nothing
12
}
13
14
//==============================================================================
15
template
<
class
StateSpace,
class
QualifiedState>
16
StateHandle<StateSpace, QualifiedState>::StateHandle
(
17
const
StateSpace
* space,
QualifiedState
* state)
18
:
mSpace
(space), mState(state)
19
{
20
// Do nothing
21
}
22
23
//==============================================================================
24
template
<
class
StateSpace,
class
QualifiedState>
25
StateHandle<StateSpace, QualifiedState>::operator
QualifiedState
*()
const
26
{
27
return
mState;
28
}
29
30
//==============================================================================
31
template
<
class
StateSpace,
class
QualifiedState>
32
void
StateHandle<StateSpace, QualifiedState>::reset
()
33
{
34
reset(
nullptr
,
nullptr
);
35
}
36
37
//==============================================================================
38
template
<
class
StateSpace,
class
QualifiedState>
39
void
StateHandle<StateSpace, QualifiedState>::reset
(
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>
49
auto
StateHandle<StateSpace, QualifiedState>::getState
() ->
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>
58
auto
StateHandle<StateSpace, QualifiedState>::getState
() const ->
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>
66
auto
StateHandle<_StateSpace, _QualifiedState>::getStateSpace
() const
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
include
aikido
statespace
detail
StateHandle-impl.hpp
Generated on Fri Mar 10 2023 20:07:57 for Aikido by
1.8.17