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=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. More...
 
static TangentVector Logmap (const Q &q, ChartJacobian H=boost::none)
 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=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)
 

Detailed Description

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

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

Member Typedef Documentation

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

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

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

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

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

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

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

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

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

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

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

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

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

Member Function Documentation

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

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

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

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

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 166 of file geometry/Quaternion.h.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:58:32