OSVR-Core
Public Member Functions | List of all members
osvr::kalman::matrix_exponential_map::ExponentialMapData Class Reference

Contained cached computed values. More...

#include <MatrixExponentialMap.h>

Public Member Functions

template<typename Derived >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ExponentialMapData (Eigen::MatrixBase< Derived > const &omega)
 Construct from a matrixy-thing: should be a 3d vector containing a matrix-exponential-map rotation formalism. More...
 
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 ()
 Gets the "capital omega" skew-symmetrix matrix. More...
 
double getTheta ()
 Gets the rotation angle of a rotation vector. More...
 
Eigen::Matrix3d const & getRotationMatrix ()
 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). More...
 
Eigen::Quaterniond const & getQuaternion ()
 

Detailed Description

Contained cached computed values.

Constructor & Destructor Documentation

§ ExponentialMapData()

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.

Member Function Documentation

§ getBigOmega()

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

Gets the "capital omega" skew-symmetrix matrix.

(computation is cached)

§ getRotationMatrix()

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

§ getTheta()

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

Gets the rotation angle of a rotation vector.

(computation is cached)

§ reset()

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.


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