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< 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 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)
Vec3< float > rotate_vector (const Vec3< float > &v) const
 Rotates vector by this quaternion.
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 > 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 > rotation_between (Vec3< float > v0, Vec3< 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   j 
   Type   y 
}; 
union { 
   Type   i 
   Type   x 
}; 
 The imaginary vector part.
union { 
   Type   k 
   Type   z 
}; 
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: