iLab Neuromorphic Robotics Toolkit
0.1
|
#include <nrt/Probabilistic/Types/StateVector.H>
A StateVector is a wrapper around an Eigen::Vector which provides methods to access elements by a StateDefinition.
StateDef | The StateDefinition which defines the fields of this vector The only method provided by this class is access(), which is used to access various fields or field groups of the internal Eigen::Vector |
Definition at line 70 of file StateVector.H.
Public Member Functions | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW constexpr size_t | size () |
StateVector () | |
Default constructor. More... | |
StateVector (Vector const &vector) | |
Conversion constructor. More... | |
template<class Field > | |
std::enable_if< is_state_field < Field >), double & >::type | access () |
Access the value of a single field. More... | |
template<class Field > | |
std::enable_if< is_state_field < Field >), double >::type | access () const |
Const field access. | |
template<class FieldGroup > | |
std::enable_if < is_state_field_group < FieldGroup >), Eigen::Block < Vector, FieldGroup::num_fields, 1 > >::type | access () |
Access the sub-vector of a field group. More... | |
template<class FieldGroup > | |
std::enable_if < is_state_field_group < FieldGroup >), Eigen::Block < Vector const, FieldGroup::num_fields, 1 > >::type | access () const |
Const field group access. | |
template<typename Void = void> | |
std::enable_if< std::is_void < Void >::value, Vector & > ::type | access () |
Access the entire vector. More... | |
template<typename Void = void> | |
std::enable_if< std::is_void < Void >::value, Vector > ::type | access () const |
Const access to the entire vector. | |
template<class Field > | |
std::enable_if < nrt::is_state_field< Field > ), double & >::type | access () |
template<class Field > | |
std::enable_if < nrt::is_state_field< Field > ), double >::type | access () const |
template<class FieldGroup > | |
std::enable_if < nrt::is_state_field_group < FieldGroup >), Eigen::Block < typename nrt::StateVector < StateDef >::Vector, FieldGroup::num_fields, 1 > >::type | access () |
template<class FieldGroup > | |
std::enable_if < nrt::is_state_field_group < FieldGroup >), Eigen::Block < typename nrt::StateVector < StateDef >::Vector const, FieldGroup::num_fields, 1 > >::type | access () const |
template<typename Void > | |
std::enable_if< std::is_void < Void >::value, typename nrt::StateVector< StateDef > ::Vector & >::type | access () |
template<typename Void > | |
std::enable_if< std::is_void < Void >::value, typename nrt::StateVector< StateDef > ::Vector >::type | access () const |
nrt::StateVector< StateDef >::StateVector | ( | ) |
Default constructor.
The internal vector is set to 0
Definition at line 38 of file StateVectorImpl.H.
nrt::StateVector< StateDef >::StateVector | ( | Vector const & | vector) |
Conversion constructor.
Copy the given Eigen::Matrix into our internal vector
Definition at line 44 of file StateVectorImpl.H.
std::enable_if< is_state_field<Field>), double & >::type nrt::StateVector< StateDef >::access | ( | ) |
Access the value of a single field.
Field | The single field to access, e.g. Position2D::x |
std::enable_if< is_state_field_group<FieldGroup>), Eigen::Block<Vector, FieldGroup::num_fields, 1> >::type nrt::StateVector< StateDef >::access | ( | ) |
Access the sub-vector of a field group.
FieldGroup | The field group to access, e.g. Position2D |
std::enable_if< std::is_void<Void>::value, Vector & >::type nrt::StateVector< StateDef >::access | ( | ) |
Access the entire vector.
Void | Leave this template parameter empty to specify that you want the entire state vector |