OSVR-Core  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
osvr::kalman::matrix_exponential_map::ExponentialMapData Class Reference

Contained cached computed values. More...

#include <osvr/Kalman/MatrixExponentialMap.h>

Public Member Functions

template<typename Derived >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ExponentialMapData (Eigen::MatrixBase< Derived > const &omega)
 
ExponentialMapDataoperator= (ExponentialMapData const &other)
 assignment operator - its presence is an optimization only.
 
ExponentialMapDataoperator= (ExponentialMapData &&other)
 move-assignment operator - its presence is an optimization only.
 
template<typename Derived >
void reset (Eigen::MatrixBase< Derived > const &omega)
 
Eigen::Matrix3d const & getBigOmega ()
 
double getTheta ()
 
Eigen::Matrix3d const & getRotationMatrix ()
 

Detailed Description

Contained cached computed values.

Definition at line 108 of file MatrixExponentialMap.h.

Constructor & Destructor Documentation

template<typename Derived >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW osvr::kalman::matrix_exponential_map::ExponentialMapData::ExponentialMapData ( Eigen::MatrixBase< Derived > const &  omega)
inlineexplicit

Construct from a matrixy-thing: should be a 3d vector containing a matrix-exponential-map rotation formalism.

Definition at line 114 of file MatrixExponentialMap.h.

Member Function Documentation

template<typename Derived >
void osvr::kalman::matrix_exponential_map::ExponentialMapData::reset ( Eigen::MatrixBase< Derived > const &  omega)
inline

Using assignment operator to be sure I didn't miss a flag.

Definition at line 168 of file MatrixExponentialMap.h.

Eigen::Matrix3d const& osvr::kalman::matrix_exponential_map::ExponentialMapData::getBigOmega ( )
inline

Gets the "capital omega" skew-symmetrix matrix.

(computation is cached)

Definition at line 176 of file MatrixExponentialMap.h.

double osvr::kalman::matrix_exponential_map::ExponentialMapData::getTheta ( )
inline

Gets the rotation angle of a rotation vector.

(computation is cached)

Definition at line 187 of file MatrixExponentialMap.h.

Eigen::Matrix3d const& osvr::kalman::matrix_exponential_map::ExponentialMapData::getRotationMatrix ( )
inline

Converts a rotation vector to a rotation matrix: Uses Rodrigues' formula, and the first two terms of the Taylor expansions of the trig functions (so as to be nonsingular as the angle goes to zero).

(computation is cached)

two-term taylor approx of sin(theta)/theta

two-term taylor approx of (1-cos(theta))/theta

Definition at line 201 of file MatrixExponentialMap.h.


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