clan::Quaternionf Class Reference

Quaternion - Float. More...

#include <quaternion.h>

+ Inheritance diagram for clan::Quaternionf:

Public Member Functions

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

Additional Inherited Members

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

Detailed Description

Quaternion - Float.

Constructor & Destructor Documentation

◆ Quaternionf() [1/8]

clan::Quaternionf::Quaternionf ( )
inline

◆ Quaternionf() [2/8]

clan::Quaternionf::Quaternionf ( const Quaternionx< float > & copy)
inline

◆ Quaternionf() [3/8]

clan::Quaternionf::Quaternionf ( const Mat4< float > & rotation_matrix)
inlineexplicit

◆ Quaternionf() [4/8]

clan::Quaternionf::Quaternionf ( float real,
float i,
float j,
float k )
inlineexplicit

◆ Quaternionf() [5/8]

clan::Quaternionf::Quaternionf ( float real,
const Vec3< float > & imag )
inlineexplicit

◆ Quaternionf() [6/8]

clan::Quaternionf::Quaternionf ( float euler_x,
float euler_y,
float euler_z,
AngleUnit unit,
EulerOrder order )
inlineexplicit

◆ Quaternionf() [7/8]

clan::Quaternionf::Quaternionf ( const Vec3< float > & euler,
AngleUnit unit,
EulerOrder order )
inlineexplicit

◆ Quaternionf() [8/8]

clan::Quaternionf::Quaternionf ( 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: