ClanLib
2.3.7
|
Quaternion - Float. More...
#include <quaternion.h>
Public Member Functions | |
CL_Quaternionf () | |
CL_Quaternionf (const CL_Quaternionx< float > ©) | |
CL_Quaternionf (float real, float i, float j, float k) | |
CL_Quaternionf (float real, const CL_Vec3< float > &imag) | |
CL_Quaternionf (float euler_x, float euler_y, float euler_z, CL_AngleUnit unit, CL_EulerOrder order) | |
CL_Quaternionf (const CL_Vec3< float > &euler, CL_AngleUnit unit, CL_EulerOrder order) | |
CL_Quaternionf (const CL_Angle &euler_x, const CL_Angle &euler_y, const CL_Angle &euler_z, CL_EulerOrder order) | |
Operations | |
CL_Quaternionx< float > & | multiply (const CL_Mat4< float > &matrix) |
Multiply this quaternion by a specified matrix. More... | |
CL_Quaternionx< float > & | multiply (const CL_Quaternionx< float > &quaternion) |
Multiply this quaternion by another quaternion. More... | |
void | set (floateuler_x, floateuler_y, floateuler_z, CL_AngleUnit unit, CL_EulerOrder order) |
void | set (const CL_Vec3< float > &euler, CL_AngleUnit unit, CL_EulerOrder order) |
void | set (const CL_Angle &euler_x, const CL_Angle &euler_y, const CL_Angle &euler_z, CL_EulerOrder order) |
CL_Quaternionx< float > & | rotate (const CL_Angle &angle, const CL_Vec3f &axis) |
CL_Quaternionx< float > & | rotate (const CL_Angle &euler_x, const CL_Angle &euler_y, const CL_Angle &euler_z, CL_EulerOrder order) |
CL_Quaternionx< float > & | normalize () |
Normalizes this quaternion. More... | |
CL_Quaternionx< float > & | inverse () |
Inverse this quaternion. More... | |
CL_Vec3< float > | rotate_vector (const CL_Vec3< float > &v) |
Rotates vector by this quaternion. More... | |
CL_Vec4< float > | rotate_vector (const CL_Vec4< float > &v) |
Attributes | |
CL_Mat4< float > | to_matrix () const |
Convert the quaternion to a rotation matrix. More... | |
float | magnitude () const |
Get the quaternion magnitude. More... | |
Operators | |
CL_Quaternionx< float > | operator* (const CL_Quaternionx< float > &mult) const |
Multiplication operator. More... | |
Static Public Member Functions | |
static CL_Quaternionx< float > | axis_angle (const CL_Angle &angle, const CL_Vec3f &axis) |
static CL_Quaternionx< float > | lerp (const CL_Quaternionx< float > &quaternion_initial, const CL_Quaternionx< float > &quaternion_final, floatlerp_time) |
Linear Quaternion Interpolation. More... | |
static CL_Quaternionx< float > | multiply (const CL_Quaternionx< float > &quaternion_1, const CL_Quaternionx< float > &quaternion_2) |
static CL_Quaternionx< float > | slerp (const CL_Quaternionx< float > &quaternion_initial, const CL_Quaternionx< float > &quaternion_final, floatslerp_time) |
Spherical Quaternion Interpolation. More... | |
Public Attributes | |
union { | |
Type i | |
Type x | |
}; | |
The imaginary vector part. More... | |
union { | |
Type j | |
Type y | |
}; | |
union { | |
Type k | |
Type z | |
}; | |
float | i |
float | j |
float | k |
float | w |
The real scalar part. More... | |
float | x |
float | y |
float | z |
Quaternion - Float.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticinherited |
|
inherited |
Inverse this quaternion.
This is the same as the conjugate of a quaternion
|
staticinherited |
Linear Quaternion Interpolation.
quaternion_initial | = Source quaternion |
quaternion_final | = Destination quaternion |
lerp_time | = Time in the range of 0.0 to 1.0 |
|
inherited |
Get the quaternion magnitude.
|
staticinherited |
|
inherited |
Multiply this quaternion by a specified matrix.
matrix | = Matrix to multiply |
|
inherited |
Multiply this quaternion by another quaternion.
This multiplies the quaternion as follows: this = quaternion * this
quaternion | = Quaternion to multiply |
|
inherited |
Normalizes this quaternion.
|
inlineinherited |
Multiplication operator.
References CL_Quaternionx< Type >::multiply().
|
inherited |
|
inherited |
|
inherited |
Rotates vector by this quaternion.
v | = Vertex to rotate |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
staticinherited |
Spherical Quaternion Interpolation.
quaternion_initial | = Source quaternion |
quaternion_final | = Destination quaternion |
slerp_time | = Time in the range of 0.0 to 1.0 |
|
inherited |
Convert the quaternion to a rotation matrix.
This function assumes that the quarternion is normalized.
union { ... } |
The imaginary vector part.
union { ... } |
union { ... } |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
The real scalar part.
|
inherited |
|
inherited |
|
inherited |