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)
 
Mat4< float > to_matrix () const
 Convert the quaternion to a rotation matrix. More...
 
float magnitude () const
 Get the quaternion magnitude. More...
 
Quaternionx< float > operator* (const Quaternionx< float > &mult) const
 Multiplication operator. More...
 
Quaternionx< float > operator* (const Mat4< float > &matrix) const
 
bool operator< (const Quaternionx< float > &other) const
 Less operator. More...
 
bool operator> (const Quaternionx< float > &other) const
 Greater operator. More...
 
bool operator<= (const Quaternionx< float > &other) const
 Less equal operator. More...
 
bool operator>= (const Quaternionx< float > &other) const
 Greater equal operator. More...
 
bool operator== (const Quaternionx< float > &other) const
 Equal operator. More...
 
bool operator!= (const Quaternionx< float > &other) const
 Not equal operator. More...
 
void set (float euler_x, float euler_y, float euler_z, AngleUnit unit, EulerOrder order)
 
void set (const Vec3< float > &euler, AngleUnit unit, EulerOrder order)
 
void set (const Angle &euler_x, const Angle &euler_y, const Angle &euler_z, EulerOrder order)
 
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)
 
Quaternionx< float > & normalize ()
 Normalizes this quaternion. More...
 
Quaternionx< float > & inverse ()
 Inverse this quaternion. More...
 
Vec3< float > rotate_vector (const Vec3< float > &v) const
 Rotates vector by this quaternion. More...
 
Vec4< float > rotate_vector (const Vec4< float > &v) const
 

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. More...
 
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. More...
 
static Quaternionx< float > rotation_between (Vec4< float > v0, Vec4< float > v1)
 Calculates the shortest arc quaternion between two vectors. More...
 
static Quaternionx< float > slerp (const Quaternionx< float > &quaternion_initial, const Quaternionx< float > &quaternion_final, float slerp_time)
 Spherical Quaternion Interpolation. More...
 
static Quaternionx< float > normalize (Quaternionx< float > q)
 Normalizes this quaternion. More...
 
static Quaternionx< float > inverse (Quaternionx< float > q)
 Inverse this quaternion. More...
 
- Public Attributes inherited from clan::Quaternionx< float >
union {
   Type   clan::Quaternionx< Type >::i
 
   Type   clan::Quaternionx< Type >::x
 
}; 
 The imaginary vector part. More...
 
union {
   Type   clan::Quaternionx< Type >::j
 
   Type   clan::Quaternionx< Type >::y
 
}; 
 
union {
   Type   clan::Quaternionx< Type >::k
 
   Type   clan::Quaternionx< Type >::z
 
}; 
 
float i
 
float j
 
float k
 
float w
 The real scalar part. More...
 
float x
 
float y
 
float z
 

Detailed Description

Quaternion - Float.


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