Quaternion< T > Class Template Reference

#include <VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/GfxTL/VectorXD.h>

+ Inheritance diagram for Quaternion< T >:

Public Types

typedef T ScalarType
 
typedef VectorXD< 4, TSuperType
 
- Public Types inherited from VectorXD< 4, T >
enum  
 
typedef ScalarTypeiterator
 
typedef T ScalarType
 
typedef MatrixXX< 1, D, TSuperType
 
typedef VectorXD< D, TThisType
 
typedef T value_type
 

Public Member Functions

Quaternion< TConjugate () const
 
Quaternion< TInverse () const
 
Quaternion< T > & operator*= (const Quaternion< T > &b)
 
 Quaternion ()
 
 Quaternion (T w, T x, T y, T z)
 
template<class V >
void Rotate (const V &p, V *r) const
 
void Rotation (T *deg, T *a0, T *a1, T *a2) const
 
void Rotation (T *deg, VectorXD< 3, T > *axis) const
 
void Rotation (T deg, const VectorXD< 3, T > &a)
 
void Rotation (T deg, T a0, T a1, T a2)
 
template<class M >
void RotationMatrix (M *mat)
 
void RotationRad (T *rad, T *a0, T *a1, T *a2) const
 
void RotationRad (T rad, T a0, T a1, T a2)
 
- Public Member Functions inherited from VectorXD< 4, T >
ScalarTypebegin ()
 
const ScalarTypebegin () const
 
ScalarType Distance (const VectorXD< D, T > &v) const
 
ScalarTypeend ()
 
const ScalarTypeend () const
 
VectorXD< Dim+1, THomogene () const
 
ScalarType L1Distance (const VectorXD< D, T > &v) const
 
ScalarType L1Length () const
 
ScalarType Length () const
 
ScalarType MaxDistance (const VectorXD< D, T > &v) const
 
VectorXD< D, T > & operator*= (S s)
 
VectorXD< D, T > & operator+= (const MatrixXX< 1, D, T > &a)
 
VectorXD< D, Toperator- () const
 
VectorXD< D, T > & operator-= (const MatrixXX< 1, D, T > &a)
 
VectorXD< D, T > & operator/= (S s)
 
ThisTypeoperator= (const MatrixXX< 1, D, S > &v)
 
ThisTypeoperator= (const SuperType &s)
 
ThisTypeoperator= (const ThisType &v)
 
bool operator== (const VectorXD< D, T > &a) const
 
ScalarTypeoperator[] (unsigned int i)
 
ScalarType operator[] (unsigned int i) const
 
ScalarType SqrDistance (const VectorXD< D, T > &v) const
 
ScalarType SqrLength () const
 
 VectorXD ()
 
 VectorXD (const S *v)
 
 VectorXD (const S x, typename std::enable_if< std::is_convertible< S, ScalarType >::value, NullClass >::type &dummy=*((NullClass *) 0))
 
 VectorXD (const SuperType &s)
 
 VectorXD (const T *v)
 
 VectorXD (const VectorXD< D - 1, T > &v, T s)
 
 VectorXD (const VectorXD< D - 2, T > &v, T s, T s2)
 
 VectorXD (const VectorXD< D - 3, T > &v, T s, T s2, T s3)
 
 VectorXD (const VectorXD< D, S > &v)
 
 VectorXD (const VectorXD< D, T > &v)
 
 VectorXD (const VectorXD< X, T > &vec)
 
 VectorXD (T x)
 
 VectorXD (T x, T y)
 
 VectorXD (T x, T y, T z)
 
 VectorXD (T x, T y, T z, T w)
 
void Zero ()
 

Additional Inherited Members

- Public Attributes inherited from VectorXD< 4, T >
const typedef ScalarTypeconst_iterator
 

Detailed Description

template<class T>
class GfxTL::Quaternion< T >

Definition at line 707 of file VectorXD.h.

Member Typedef Documentation

◆ ScalarType

typedef T ScalarType

Definition at line 711 of file VectorXD.h.

◆ SuperType

typedef VectorXD< 4, T > SuperType

Definition at line 712 of file VectorXD.h.

Constructor & Destructor Documentation

◆ Quaternion() [1/2]

Quaternion ( )
inline

Definition at line 714 of file VectorXD.h.

◆ Quaternion() [2/2]

Quaternion ( T  w,
T  x,
T  y,
T  z 
)
inline

Definition at line 717 of file VectorXD.h.

Member Function Documentation

◆ Conjugate()

Quaternion< T > Conjugate ( ) const
inline

Definition at line 798 of file VectorXD.h.

+ Here is the caller graph for this function:

◆ Inverse()

Quaternion< T > Inverse ( ) const
inline

Definition at line 804 of file VectorXD.h.

+ Here is the call graph for this function:

◆ operator*=()

Quaternion< T >& operator*= ( const Quaternion< T > &  b)
inline

Definition at line 721 of file VectorXD.h.

◆ Rotate()

void Rotate ( const V &  p,
V *  r 
) const
inline

Definition at line 789 of file VectorXD.h.

+ Here is the call graph for this function:

◆ Rotation() [1/4]

void Rotation ( T deg,
T a0,
T a1,
T a2 
) const
inline

Definition at line 755 of file VectorXD.h.

+ Here is the call graph for this function:

◆ Rotation() [2/4]

void Rotation ( T deg,
VectorXD< 3, T > *  axis 
) const
inline

Definition at line 783 of file VectorXD.h.

+ Here is the call graph for this function:

◆ Rotation() [3/4]

void Rotation ( T  deg,
const VectorXD< 3, T > &  a 
)
inline

Definition at line 749 of file VectorXD.h.

+ Here is the call graph for this function:

◆ Rotation() [4/4]

void Rotation ( T  deg,
T  a0,
T  a1,
T  a2 
)
inline

Definition at line 728 of file VectorXD.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RotationMatrix()

void RotationMatrix ( M *  mat)
inline

Definition at line 816 of file VectorXD.h.

◆ RotationRad() [1/2]

void RotationRad ( T rad,
T a0,
T a1,
T a2 
) const
inline

Definition at line 769 of file VectorXD.h.

+ Here is the call graph for this function:

◆ RotationRad() [2/2]

void RotationRad ( T  rad,
T  a0,
T  a1,
T  a2 
)
inline

Definition at line 739 of file VectorXD.h.

+ Here is the call graph for this function:

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