clan::Quaterniond Class Reference

Quaternion - Double. More...

#include <quaternion.h>

+ Inheritance diagram for clan::Quaterniond:

Public Member Functions

 Quaterniond ()
 
 Quaterniond (const Quaternionx< double > &copy)
 
 Quaterniond (const Mat4< double > &rotation_matrix)
 
 Quaterniond (double real, double i, double j, double k)
 
 Quaterniond (double real, const Vec3< double > &imag)
 
 Quaterniond (double euler_x, double euler_y, double euler_z, AngleUnit unit, EulerOrder order)
 
 Quaterniond (const Vec3< double > &euler, AngleUnit unit, EulerOrder order)
 
 Quaterniond (const Angle &euler_x, const Angle &euler_y, const Angle &euler_z, EulerOrder order)
 
- Public Member Functions inherited from clan::Quaternionx< double >
 Quaternionx ()
 
 Quaternionx (doublereal, doublei, doublej, doublek)
 
 Quaternionx (doublereal, const Vec3< double > &imag)
 
 Quaternionx (const Quaternionx< double > &copy)
 
 Quaternionx (doubleeuler_x, doubleeuler_y, doubleeuler_z, AngleUnit unit, EulerOrder order)
 
 Quaternionx (const Vec3< double > &euler, AngleUnit unit, EulerOrder order)
 
 Quaternionx (const Angle &euler_x, const Angle &euler_y, const Angle &euler_z, EulerOrder order)
 
 Quaternionx (const Mat4< double > &rotation_matrix)
 
Quaternionx< double > & inverse ()
 Inverse this quaternion. More...
 
double magnitude () const
 Get the quaternion magnitude. More...
 
Quaternionx< double > & normalize ()
 Normalizes this quaternion. More...
 
bool operator!= (const Quaternionx< double > &other) const
 Not equal operator. More...
 
Quaternionx< double > operator* (const Quaternionx< double > &mult) const
 Multiplication operator. More...
 
Quaternionx< double > operator* (const Mat4< double > &matrix) const
 
bool operator< (const Quaternionx< double > &other) const
 Less operator. More...
 
bool operator<= (const Quaternionx< double > &other) const
 Less equal operator. More...
 
bool operator== (const Quaternionx< double > &other) const
 Equal operator. More...
 
bool operator> (const Quaternionx< double > &other) const
 Greater operator. More...
 
bool operator>= (const Quaternionx< double > &other) const
 Greater equal operator. More...
 
Quaternionx< double > & rotate (const Angle &angle, const Vec3f &axis)
 
Quaternionx< double > & rotate (const Angle &euler_x, const Angle &euler_y, const Angle &euler_z, EulerOrder order)
 
Vec3< double > rotate_vector (const Vec3< double > &v) const
 Rotates vector by this quaternion. More...
 
Vec4< double > rotate_vector (const Vec4< double > &v) const
 
void set (doubleeuler_x, doubleeuler_y, doubleeuler_z, AngleUnit unit, EulerOrder order)
 
void set (const Vec3< double > &euler, AngleUnit unit, EulerOrder order)
 
void set (const Angle &euler_x, const Angle &euler_y, const Angle &euler_z, EulerOrder order)
 
Mat4< double > to_matrix () const
 Convert the quaternion to a rotation matrix. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from clan::Quaternionx< double >
static Quaternionx< double > axis_angle (const Angle &angle, const Vec3f &axis)
 
static Quaternionx< double > inverse (Quaternionx< double > q)
 Inverse this quaternion. More...
 
static Quaternionx< double > lerp (const Quaternionx< double > &quaternion_initial, const Quaternionx< double > &quaternion_final, doublelerp_time)
 Linear Quaternion Interpolation. More...
 
static Quaternionx< double > multiply (const Quaternionx< double > &quaternion_1, const Quaternionx< double > &quaternion_2)
 
static Quaternionx< double > normalize (Quaternionx< double > q)
 Normalizes this quaternion. More...
 
static Quaternionx< double > rotation_between (Vec3< double > v0, Vec3< double > v1)
 Calculates the shortest arc quaternion between two vectors. More...
 
static Quaternionx< double > rotation_between (Vec4< double > v0, Vec4< double > v1)
 Calculates the shortest arc quaternion between two vectors. More...
 
static Quaternionx< double > slerp (const Quaternionx< double > &quaternion_initial, const Quaternionx< double > &quaternion_final, doubleslerp_time)
 Spherical Quaternion Interpolation. More...
 
- Public Attributes inherited from clan::Quaternionx< double >
union {
   Type   i
 
   Type   x
 
}; 
 The imaginary vector part. More...
 
union {
   Type   j
 
   Type   y
 
}; 
 
union {
   Type   k
 
   Type   z
 
}; 
 
double i
 
double j
 
double k
 
double w
 The real scalar part. More...
 
double x
 
double y
 
double z
 

Detailed Description

Quaternion - Double.

Constructor & Destructor Documentation

clan::Quaterniond::Quaterniond ( )
inline
clan::Quaterniond::Quaterniond ( const Quaternionx< double > &  copy)
inline
clan::Quaterniond::Quaterniond ( const Mat4< double > &  rotation_matrix)
inlineexplicit
clan::Quaterniond::Quaterniond ( double  real,
double  i,
double  j,
double  k 
)
inlineexplicit
clan::Quaterniond::Quaterniond ( double  real,
const Vec3< double > &  imag 
)
inlineexplicit
clan::Quaterniond::Quaterniond ( double  euler_x,
double  euler_y,
double  euler_z,
AngleUnit  unit,
EulerOrder  order 
)
inlineexplicit
clan::Quaterniond::Quaterniond ( const Vec3< double > &  euler,
AngleUnit  unit,
EulerOrder  order 
)
inlineexplicit
clan::Quaterniond::Quaterniond ( const Angle euler_x,
const Angle euler_y,
const Angle euler_z,
EulerOrder  order 
)
inlineexplicit

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