OSVR-Core
Public Types | Public Member Functions | Static Public Attributes | List of all members
osvr::kalman::AugmentedState< StateA, StateB > Class Template Reference

State type that consists entirely of references to two independent sub-states. More...

#include <AugmentedState.h>

Public Types

using StateTypeA = StateA
 
using StateTypeB = StateB
 
using SquareMatrix = types::SquareMatrix< DIMENSION >
 
using StateVector = types::Vector< DIMENSION >
 

Public Member Functions

 AugmentedState (StateA &a, StateB &b)
 Constructor.
 
 AugmentedState (AugmentedState const &other)=default
 Copy constructor.
 
 AugmentedState (AugmentedState &&other)
 Move constructor.
 
AugmentedStateoperator= (AugmentedState const &other)=delete
 non-assignable
 
Methods required of State types
template<typename Derived >
void setStateVector (Eigen::MatrixBase< Derived > const &state)
 
StateVector stateVector () const
 
SquareMatrix errorCovariance () const
 
template<typename Derived >
void setErrorCovariance (Eigen::MatrixBase< Derived > const &P)
 
void postCorrect ()
 
Access to the components of the state

Access the first part of the state

StateTypeA & a ()
 
StateTypeA const & a () const
 Access the first part of the state.
 
StateTypeB & b ()
 Access the second part of the state.
 
StateTypeB const & b () const
 Access the second part of the state.
 

Static Public Attributes

static const types::DimensionType DIM_A
 
static const types::DimensionType DIM_B
 
static const types::DimensionType DIMENSION = DIM_A + DIM_B
 

Detailed Description

template<typename StateA, typename StateB>
class osvr::kalman::AugmentedState< StateA, StateB >

State type that consists entirely of references to two independent sub-states.

Member Function Documentation

§ setErrorCovariance()

template<typename StateA , typename StateB >
template<typename Derived >
void osvr::kalman::AugmentedState< StateA, StateB >::setErrorCovariance ( Eigen::MatrixBase< Derived > const &  P)
inline

template used here to avoid evaluating elements we'll never access to a temporary.

§ setStateVector()

template<typename StateA , typename StateB >
template<typename Derived >
void osvr::kalman::AugmentedState< StateA, StateB >::setStateVector ( Eigen::MatrixBase< Derived > const &  state)
inline

template used here to avoid a temporary

Member Data Documentation

§ DIM_A

template<typename StateA , typename StateB >
const types::DimensionType osvr::kalman::AugmentedState< StateA, StateB >::DIM_A
static
Initial value:
=
types::Dimension<StateA>::value

§ DIM_B

template<typename StateA , typename StateB >
const types::DimensionType osvr::kalman::AugmentedState< StateA, StateB >::DIM_B
static
Initial value:
=
types::Dimension<StateB>::value

The documentation for this class was generated from the following file: