gtsam  4.0.0 gtsam
gtsam::traits< QUATERNION_TYPE > Struct Template Reference

## Static Public Member Functions

Group traits
static Q Identity ()

Lie group traits
static Q Compose (const Q &g, const Q &h, ChartJacobian Hg=boost::none, ChartJacobian Hh=boost::none)

static Q Between (const Q &g, const Q &h, ChartJacobian Hg=boost::none, ChartJacobian Hh=boost::none)

static Q Inverse (const Q &g, ChartJacobian H=boost::none)

static Q Expmap (const Eigen::Ref< const TangentVector > &omega, ChartJacobian H=boost::none)
Exponential map, using the inlined code from Eigen's conversion from axis/angle.

static TangentVector Logmap (const Q &q, ChartJacobian H=boost::none)
We use our own Logmap, as there is a slight bug in Eigen.

Manifold traits
static TangentVector Local (const Q &g, const Q &h, ChartJacobian H1=boost::none, ChartJacobian H2=boost::none)

static Q Retract (const Q &g, const TangentVector &v, ChartJacobian H1=boost::none, ChartJacobian H2=boost::none)

Testable
static void Print (const Q &q, const std::string &str="")

static bool Equals (const Q &q1, const Q &q2, double tol=1e-8)

## Public Types

typedef QUATERNION_TYPE ManifoldType

typedef QUATERNION_TYPE Q

typedef lie_group_tag structure_category

typedef multiplicative_group_tag group_flavor

Basic manifold traits
enum  { dimension = 3 }

typedef OptionalJacobian< 3, 3 > ChartJacobian

typedef Eigen::Matrix< _Scalar, 3, 1, _Options, 3, 1 > TangentVector

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