Class Orientation3DLocalParameterization

Inheritance Relationships

Base Type

  • public fuse_core::LocalParameterization

Class Documentation

class Orientation3DLocalParameterization : public fuse_core::LocalParameterization

A LocalParameterization class for 3D Orientations.

3D orientations add and subtract nonlinearly. Additionally, the typcial 3D orientation representation is a quaternion, which has 4 degrees of freedom to parameterize a 3D space. This local parameterization uses the Rodrigues/angle-axis formulas to combine 3D rotations, along with the appropriate “analytic” derivatives.

Public Functions

inline int GlobalSize() const override
inline int LocalSize() const override
inline bool Plus(const double *x, const double *delta, double *x_plus_delta) const override
inline bool ComputeJacobian(const double *x, double *jacobian) const override
inline bool Minus(const double *x1, const double *x2, double *delta) const override
inline bool ComputeMinusJacobian(const double *x, double *jacobian) const override

Public Static Functions

template<typename T>
static inline void QuaternionInverse(const T in[4], T out[4])

Create the inverse quaternion.

ceres/rotation.h is missing this function for some reason.

Friends

friend class boost::serialization::access