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 const ScalarTypeconst_iterator
 
typedef ScalarTypeiterator
 
typedef T ScalarType
 
typedef MatrixXX< 1, D, TSuperType
 
typedef VectorXD< D, TThisType
 
typedef T value_type
 
- Public Types inherited from MatrixXX< 1, D, T >
typedef Internal::BaseMatrixXX< C, R, TSuperType
 
typedef MatrixXX< C, R, TThisType
 
typedef MatrixXX< R, C, TTransposedType
 
- Public Types inherited from BaseMatrixXX< C, R, T >
enum  { Rows = R , Cols = C , Entries = C * R }
 
typedef T ScalarType
 
typedef BaseMatrixXX< C, R, 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 ()
 
ScalarTypebegin ()
 
const ScalarTypebegin () const
 
const ScalarTypebegin () const
 
ScalarType Distance (const VectorXD< D, T > &v) const
 
ScalarType Distance (const VectorXD< D, T > &v) const
 
ScalarTypeend ()
 
ScalarTypeend ()
 
const ScalarTypeend () const
 
const ScalarTypeend () const
 
VectorXD< Dim+1, THomogene () const
 
VectorXD< Dim+1, THomogene () const
 
ScalarType L1Distance (const VectorXD< D, T > &v) const
 
ScalarType L1Distance (const VectorXD< D, T > &v) const
 
ScalarType L1Length () const
 
ScalarType L1Length () const
 
ScalarType Length () const
 
ScalarType Length () const
 
ScalarType MaxDistance (const VectorXD< D, T > &v) const
 
ScalarType MaxDistance (const VectorXD< D, T > &v) const
 
VectorXD< D, T > & operator*= (S s)
 
VectorXD< D, T > & operator*= (S s)
 
VectorXD< D, T > & operator+= (const MatrixXX< 1, D, T > &a)
 
VectorXD< D, T > & operator+= (const MatrixXX< 1, D, T > &a)
 
VectorXD< D, Toperator- () const
 
VectorXD< D, Toperator- () const
 
VectorXD< D, T > & operator-= (const MatrixXX< 1, D, T > &a)
 
VectorXD< D, T > & operator-= (const MatrixXX< 1, D, T > &a)
 
VectorXD< D, T > & operator/= (S s)
 
VectorXD< D, T > & operator/= (S s)
 
ThisTypeoperator= (const MatrixXX< 1, D, S > &v)
 
ThisTypeoperator= (const MatrixXX< 1, D, S > &v)
 
ThisTypeoperator= (const SuperType &s)
 
ThisTypeoperator= (const SuperType &s)
 
ThisTypeoperator= (const ThisType &v)
 
ThisTypeoperator= (const ThisType &v)
 
bool operator== (const VectorXD< D, T > &a) const
 
bool operator== (const VectorXD< D, T > &a) const
 
ScalarTypeoperator[] (unsigned int i)
 
ScalarTypeoperator[] (unsigned int i)
 
ScalarType operator[] (unsigned int i) const
 
ScalarType operator[] (unsigned int i) const
 
ScalarType SqrDistance (const VectorXD< D, T > &v) const
 
ScalarType SqrDistance (const VectorXD< D, T > &v) const
 
ScalarType SqrLength () const
 
ScalarType SqrLength () const
 
 VectorXD ()
 
 VectorXD ()
 
 VectorXD (const S *v)
 
 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 S x, typename std::enable_if< std::is_convertible< S, ScalarType >::value, NullClass >::type &dummy=*((NullClass *) 0))
 
 VectorXD (const SuperType &s)
 
 VectorXD (const SuperType &s)
 
 VectorXD (const T *v)
 
 VectorXD (const T *v)
 
 VectorXD (const VectorXD< D - 1, T > &v, T s)
 
 VectorXD (const VectorXD< D - 1, T > &v, T s)
 
 VectorXD (const VectorXD< D - 2, T > &v, T s, T s2)
 
 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 - 3, T > &v, T s, T s2, T s3)
 
 VectorXD (const VectorXD< D, S > &v)
 
 VectorXD (const VectorXD< D, S > &v)
 
 VectorXD (const VectorXD< D, T > &v)
 
 VectorXD (const VectorXD< D, T > &v)
 
 VectorXD (const VectorXD< X, T > &vec)
 
 VectorXD (const VectorXD< X, T > &vec)
 
 VectorXD (T x)
 
 VectorXD (T x)
 
 VectorXD (T x, T y)
 
 VectorXD (T x, T y)
 
 VectorXD (T x, T y, T z)
 
 VectorXD (T x, T y, T z)
 
 VectorXD (T x, T y, T z, T w)
 
 VectorXD (T x, T y, T z, T w)
 
void Zero ()
 
void Zero ()
 
- Public Member Functions inherited from MatrixXX< 1, D, T >
MatrixXX< C, R, T > & ComponentMul (const MatrixXX< C, R, T > &a)
 
MatrixXX< C, R, T > & ComponentMul (const MatrixXX< C, R, T > &a)
 
 MatrixXX ()
 
 MatrixXX ()
 
 MatrixXX (const MatrixXX< 1, R, T > &a, const MatrixXX< 1, R, T > &b)
 
 MatrixXX (const MatrixXX< 1, R, T > &a, const MatrixXX< 1, R, T > &b)
 
 MatrixXX (const MatrixXX< 1, R, T > &a, const MatrixXX< 1, R, T > &b, const MatrixXX< 1, R, T > &c)
 
 MatrixXX (const MatrixXX< 1, R, T > &a, const MatrixXX< 1, R, T > &b, const MatrixXX< 1, R, T > &c)
 
 MatrixXX (const MatrixXX< 1, R, T > &a, const MatrixXX< 1, R, T > &b, const MatrixXX< 1, R, T > &c, const MatrixXX< 1, R, T > &d)
 
 MatrixXX (const MatrixXX< 1, R, T > &a, const MatrixXX< 1, R, T > &b, const MatrixXX< 1, R, T > &c, const MatrixXX< 1, R, T > &d)
 
 MatrixXX (const SuperType &mat)
 
 MatrixXX (const SuperType &mat)
 
 MatrixXX (const T *m)
 
 MatrixXX (const T *m)
 
 MatrixXX (const ThisType &mat)
 
 MatrixXX (const ThisType &mat)
 
 MatrixXX (T v)
 
 MatrixXX (T v)
 
ThisTypeoperator= (const ThisType &v)
 
ThisTypeoperator= (const ThisType &v)
 
ThisTypeoperator= (T v)
 
ThisTypeoperator= (T v)
 
TransposedType Transposed ()
 
TransposedType Transposed ()
 
- Public Member Functions inherited from BaseMatrixXX< C, R, T >
TData ()
 
const TData () const
 
T Normalize ()
 
VectorXD< R, T > & operator[] (unsigned int col)
 
const VectorXD< R, T > & operator[] (unsigned int col) const
 
void Transpose (BaseMatrixXX< R, C, T > *t) const
 
void Zero ()
 

Additional Inherited Members

- Protected Attributes inherited from BaseMatrixXX< C, R, T >
T _m [Entries]
 

Detailed Description

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

Definition at line 749 of file VectorXD.h.

Member Typedef Documentation

◆ ScalarType

template<class T>
typedef T ScalarType

Definition at line 752 of file VectorXD.h.

◆ SuperType

template<class T>
typedef VectorXD<4, T> SuperType

Definition at line 753 of file VectorXD.h.

Constructor & Destructor Documentation

◆ Quaternion() [1/2]

template<class T>
Quaternion ( )
inline

Definition at line 755 of file VectorXD.h.

+ Here is the caller graph for this function:

◆ Quaternion() [2/2]

template<class T>
Quaternion ( T w,
T x,
T y,
T z )
inline

Definition at line 759 of file VectorXD.h.

+ Here is the call graph for this function:

Member Function Documentation

◆ Conjugate()

template<class T>
Quaternion< T > Conjugate ( ) const
inline

Definition at line 849 of file VectorXD.h.

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

◆ Inverse()

template<class T>
Quaternion< T > Inverse ( ) const
inline

Definition at line 855 of file VectorXD.h.

+ Here is the call graph for this function:

◆ operator*=()

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

Definition at line 764 of file VectorXD.h.

+ Here is the call graph for this function:

◆ Rotate()

template<class T>
template<class V>
void Rotate ( const V & p,
V * r ) const
inline

Definition at line 839 of file VectorXD.h.

+ Here is the call graph for this function:

◆ Rotation() [1/4]

template<class T>
void Rotation ( T * deg,
T * a0,
T * a1,
T * a2 ) const
inline

Definition at line 802 of file VectorXD.h.

◆ Rotation() [2/4]

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

Definition at line 832 of file VectorXD.h.

+ Here is the call graph for this function:

◆ Rotation() [3/4]

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

Definition at line 795 of file VectorXD.h.

+ Here is the call graph for this function:

◆ Rotation() [4/4]

template<class T>
void Rotation ( T deg,
T a0,
T a1,
T a2 )
inline

Definition at line 772 of file VectorXD.h.

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

◆ RotationMatrix()

template<class T>
template<class M>
void RotationMatrix ( M * mat)
inline

Definition at line 868 of file VectorXD.h.

+ Here is the call graph for this function:

◆ RotationRad() [1/2]

template<class T>
void RotationRad ( T * rad,
T * a0,
T * a1,
T * a2 ) const
inline

Definition at line 817 of file VectorXD.h.

◆ RotationRad() [2/2]

template<class T>
void RotationRad ( T rad,
T a0,
T a1,
T a2 )
inline

Definition at line 784 of file VectorXD.h.

+ Here is the call graph for this function:

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