Public Types | List of all members
gtsam::traits< QUATERNION_TYPE > Struct Template Reference

#include <Quaternion.h>

Public Types

typedef multiplicative_group_tag group_flavor
 
typedef QUATERNION_TYPE ManifoldType
 
typedef QUATERNION_TYPE Q
 
typedef lie_group_tag structure_category
 
Basic manifold traits
enum  { dimension = 3 }
 
typedef OptionalJacobian< 3, 3 > ChartJacobian
 
typedef Eigen::Matrix< _Scalar, 3, 1, _Options, 3, 1 > TangentVector
 

Static Public Member Functions

Group traits
static Q Identity ()
 
Lie group traits
static Q Compose (const Q &g, const Q &h, ChartJacobian Hg={}, ChartJacobian Hh={})
 
static Q Between (const Q &g, const Q &h, ChartJacobian Hg={}, ChartJacobian Hh={})
 
static Q Inverse (const Q &g, ChartJacobian H={})
 
static Q Expmap (const Eigen::Ref< const TangentVector > &omega, ChartJacobian H={})
 Exponential map, using the inlined code from Eigen's conversion from axis/angle. More...
 
static TangentVector Logmap (const Q &q, ChartJacobian H={})
 We use our own Logmap, as there is a slight bug in Eigen. More...
 
Manifold traits
static TangentVector Local (const Q &g, const Q &h, ChartJacobian H1={}, ChartJacobian H2={})
 
static Q Retract (const Q &g, const TangentVector &v, ChartJacobian H1={}, ChartJacobian H2={})
 
Testable
static void Print (const Q &q, const std::string &str="")
 
static bool Equals (const Q &q1, const Q &q2, double tol=1e-8)
 

Detailed Description

template<typename _Scalar, int _Options>
struct gtsam::traits< QUATERNION_TYPE >

Definition at line 32 of file geometry/Quaternion.h.

Member Typedef Documentation

◆ ChartJacobian

template<typename _Scalar , int _Options>
typedef OptionalJacobian<3, 3> gtsam::traits< QUATERNION_TYPE >::ChartJacobian

Definition at line 51 of file geometry/Quaternion.h.

◆ group_flavor

template<typename _Scalar , int _Options>
typedef multiplicative_group_tag gtsam::traits< QUATERNION_TYPE >::group_flavor

Definition at line 37 of file geometry/Quaternion.h.

◆ ManifoldType

template<typename _Scalar , int _Options>
typedef QUATERNION_TYPE gtsam::traits< QUATERNION_TYPE >::ManifoldType

Definition at line 33 of file geometry/Quaternion.h.

◆ Q

template<typename _Scalar , int _Options>
typedef QUATERNION_TYPE gtsam::traits< QUATERNION_TYPE >::Q

Definition at line 34 of file geometry/Quaternion.h.

◆ structure_category

template<typename _Scalar , int _Options>
typedef lie_group_tag gtsam::traits< QUATERNION_TYPE >::structure_category

Definition at line 36 of file geometry/Quaternion.h.

◆ TangentVector

template<typename _Scalar , int _Options>
typedef Eigen::Matrix<_Scalar, 3, 1, _Options, 3, 1> gtsam::traits< QUATERNION_TYPE >::TangentVector

Definition at line 52 of file geometry/Quaternion.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename _Scalar , int _Options>
anonymous enum
Enumerator
dimension 

Definition at line 48 of file geometry/Quaternion.h.

Member Function Documentation

◆ Between()

template<typename _Scalar , int _Options>
static Q gtsam::traits< QUATERNION_TYPE >::Between ( const Q g,
const Q h,
ChartJacobian  Hg = {},
ChartJacobian  Hh = {} 
)
inlinestatic

Definition at line 64 of file geometry/Quaternion.h.

◆ Compose()

template<typename _Scalar , int _Options>
static Q gtsam::traits< QUATERNION_TYPE >::Compose ( const Q g,
const Q h,
ChartJacobian  Hg = {},
ChartJacobian  Hh = {} 
)
inlinestatic

Definition at line 57 of file geometry/Quaternion.h.

◆ Equals()

template<typename _Scalar , int _Options>
static bool gtsam::traits< QUATERNION_TYPE >::Equals ( const Q q1,
const Q q2,
double  tol = 1e-8 
)
inlinestatic

Definition at line 176 of file geometry/Quaternion.h.

◆ Expmap()

template<typename _Scalar , int _Options>
static Q gtsam::traits< QUATERNION_TYPE >::Expmap ( const Eigen::Ref< const TangentVector > &  omega,
ChartJacobian  H = {} 
)
inlinestatic

Exponential map, using the inlined code from Eigen's conversion from axis/angle.

Definition at line 79 of file geometry/Quaternion.h.

◆ Identity()

template<typename _Scalar , int _Options>
static Q gtsam::traits< QUATERNION_TYPE >::Identity ( )
inlinestatic

Definition at line 41 of file geometry/Quaternion.h.

◆ Inverse()

template<typename _Scalar , int _Options>
static Q gtsam::traits< QUATERNION_TYPE >::Inverse ( const Q g,
ChartJacobian  H = {} 
)
inlinestatic

Definition at line 72 of file geometry/Quaternion.h.

◆ Local()

template<typename _Scalar , int _Options>
static TangentVector gtsam::traits< QUATERNION_TYPE >::Local ( const Q g,
const Q h,
ChartJacobian  H1 = {},
ChartJacobian  H2 = {} 
)
inlinestatic

Definition at line 147 of file geometry/Quaternion.h.

◆ Logmap()

template<typename _Scalar , int _Options>
static TangentVector gtsam::traits< QUATERNION_TYPE >::Logmap ( const Q q,
ChartJacobian  H = {} 
)
inlinestatic

We use our own Logmap, as there is a slight bug in Eigen.

Definition at line 98 of file geometry/Quaternion.h.

◆ Print()

template<typename _Scalar , int _Options>
static void gtsam::traits< QUATERNION_TYPE >::Print ( const Q q,
const std::string &  str = "" 
)
inlinestatic

Definition at line 169 of file geometry/Quaternion.h.

◆ Retract()

template<typename _Scalar , int _Options>
static Q gtsam::traits< QUATERNION_TYPE >::Retract ( const Q g,
const TangentVector v,
ChartJacobian  H1 = {},
ChartJacobian  H2 = {} 
)
inlinestatic

Definition at line 157 of file geometry/Quaternion.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:47:13