# opentl::core::State Class Reference

Class for storing object related state data. More...

Inherits opentl::core::TrackingData.

List of all members.

## Public Member Functions
State * | clone () const
| Create new instance of this class.
int | getMaxOrder () const
| Returns Order of the auto-regressive model (>=0).
void | getPoseData (math::Vector &poseData) const
| Return finite pose data in vector format.
void | getStateData (math::Vector &stateData) const
| Return (0-order absolute data + higher order incremental data) in vector format.
void | getStateIncData (math::Vector &stateIncData, int order=-1) const
| Return state data (of a given order) in vector format.
State & | operator= (const State &state)
| Assignment operator. Applicable to state instances using the same data representation.
opentl::core::cvdata::Pose & | pose () const
| Function returns the full pose class.
int | poseDimension () const
| Returns absolute pose dimension NOTE: It may also include absolute velocities or not, depending on the update rule!
int | poseDoF () const
| Returns incremental pose dimension.
void | resetAll ()
| Reset all state data (pose, increment and temporal derivatives).
void | resetIncData ()
| Reset only the temporal derivatives.
void | setDataFromVector (const math::Vector &stateData, int order=-1)
| Function to set the absolute pose information (and incremental derivatives) as single vector.
void | setIncDataFromVector (const math::Vector &stateIncData, int order=-1)
| Function to set the incremental pose information (and incremental derivatives) as single vector.
void | setPoseData (const math::Vector &poseData)
| Set finite state data (Pose).
| State (const State &state)
| Copy constructor. Initialize object with existing state object.
| State (opentl::core::cvdata::Pose &poseTemplType, int maxOrder=1)
| Constructor for creating state instance with specific pose, velocity (optional), acceleration (optional) (degree of freedom) representation. The state has to have at least a pose definition.
int | stateDimension () const
| Returns (absolute + incremental) state dimension.
int | stateIncDimension () const
| Returns overall incremental state dimension.
| ~State ()
| Destructor.

## Detailed Description

Class for storing object related state data.

Authors:
  erwin.roth@weihenstephan.org, panin@in.tum.de

The state class can hold information about object position, velocity (1st derivative) and acceleration (2nd derivative).

Make use of the ENUM constant mDataReprType of this class, instead of using time consuming if-else-if constructs with Run-Time Type Information (RTTI).

IMPORTANT: The state class shall store the ACTUAL degrees of freedom (DOFs) of the object to be tracked ONLY. Otherwise it will lead to problems when using optimization algorithms.

## Constructor & Destructor Documentation

opentl::core::State::State | ( | opentl::core::cvdata::Pose & | poseTemplType,
|  | int | maxOrder = `1` |
| ) |  |  |

Constructor for creating state instance with specific pose, velocity (optional), acceleration (optional) (degree of freedom) representation. The state has to have at least a pose definition.

Parameters:

  | poseTemplType | Pose representation instance for defining the internal representation.
  | maxOrder | Order of the auto-regressive model (= number of previous Pose incremental values inside the state)

opentl::core::State::State | ( | const State & | state | ) |

Copy constructor. Initialize object with existing state object.

opentl::core::State::~State | ( |  | ) |

Destructor.

## Member Function Documentation

State* opentl::core::State::clone | ( |  | ) | const`[inline, virtual]`

Create new instance of this class.

Implements opentl::core::TrackingData.

int opentl::core::State::getMaxOrder | ( |  | ) | const`[inline]`

Returns Order of the auto-regressive model (>=0).

void opentl::core::State::getPoseData | ( | math::Vector & | poseData | ) | const

Return finite pose data in vector format.

Parameters:

  | poseData | Finite pose data (0-order, absolute variables).

void opentl::core::State::getStateData | ( | math::Vector & | stateData | ) | const

Return (0-order absolute data + higher order incremental data) in vector format.

Parameters:

  | stateData | Finite state data.

void opentl::core::State::getStateIncData | ( | math::Vector & | stateIncData,
|  | int | order = `-1` |
| ) |  |  | const

Return state data (of a given order) in vector format.

Parameters:

  | stateIncData | Incremental state data (output).
  | order | Which AR order to use (-1 = ALL (default), 0 = incremental pose dp(t), 1 = first time derivative d/dt(dp(t)), etc.)

State& opentl::core::State::operator= | ( | const State & | state | ) |

Assignment operator. Applicable to state instances using the same data representation.

Parameters:

  | state | Source state instance

opentl::core::cvdata::Pose& opentl::core::State::pose | ( |  | ) | const`[inline]`

Function returns the full pose class.

Returns:
  Pose Pointer to the internal pose class.

int opentl::core::State::poseDimension | ( |  | ) | const`[inline]`

Returns absolute pose dimension NOTE: It may also include absolute velocities or not, depending on the update rule!

int opentl::core::State::poseDoF | ( |  | ) | const`[inline]`

Returns incremental pose dimension.

void opentl::core::State::resetAll | ( |  | ) |

Reset all state data (pose, increment and temporal derivatives).

void opentl::core::State::resetIncData | ( |  | ) |

Reset only the temporal derivatives.

void opentl::core::State::setDataFromVector | ( | const math::Vector & | stateData,
|  | int | order = `-1` |
| ) |  |  |

Function to set the absolute pose information (and incremental derivatives) as single vector.

Parameters:

  | stateData | Pointer to vector.
  | order | Which AR order to use (-1 = ALL (default), 0 = absolute pose p(t), 1 = first time derivative of incremental pose d/dt(dp(t)), etc.)

void opentl::core::State::setIncDataFromVector | ( | const math::Vector & | stateIncData,
|  | int | order = `-1` |
| ) |  |  |

Function to set the incremental pose information (and incremental derivatives) as single vector.

Parameters:

  | stateIncData | Pointer to vector.
  | order | Which AR order to use (-1 = ALL (default), 0 = pose increment dp(t), 1 = first time derivative of incremental pose d/dt(dp(t)), etc.)

void opentl::core::State::setPoseData | ( | const math::Vector & | poseData | ) |

Set finite state data (Pose).

Parameters:

  | poseData | Pointer to vector.

int opentl::core::State::stateDimension | ( |  | ) | const`[inline]`

Returns (absolute + incremental) state dimension.

int opentl::core::State::stateIncDimension | ( |  | ) | const`[inline]`

Returns overall incremental state dimension.