AI_Quaternion Class Reference
[Mathematics]
#include <AI_Quaternion.h>
Detailed Description
AI_Quaternion class with some basic operators.
- 08-Dec-00 floh extended, ATTENTION: argument ordering in constructor has changed!
(C) 2004 RadonLabs GmbH
Public Member Functions | |
AI_Quaternion () | |
AI_Quaternion (float _x, float _y, float _z, float _w) | |
AI_Quaternion (const AI_Quaternion &q) | |
void | set (float _x, float _y, float _z, float _w) |
void | set (const AI_Quaternion &q) |
void | ident (void) |
void | conjugate (void) |
void | scale (float s) |
float | norm (void) |
float | magnitude (void) |
void | invert (void) |
void | normalize (void) |
bool | operator== (const AI_Quaternion &q) |
bool | operator!= (const AI_Quaternion &q) |
const AI_Quaternion & | operator+= (const AI_Quaternion &q) |
const AI_Quaternion & | operator-= (const AI_Quaternion &q) |
const AI_Quaternion & | operator *= (const AI_Quaternion &q) |
AI_Vector3 | rotate (const AI_Vector3 &v) |
rotate vector by AI_Quaternion | |
void | set_from_axes (const AI_Vector3 &from, const AI_Vector3 &to) |
void | set_from_axes2 (const AI_Vector3 &from, const AI_Vector3 &to) |
void | set_rotate_axis_angle (const AI_Vector3 &v, float a) |
void | set_rotate_x (float a) |
void | set_rotate_y (float a) |
void | set_rotate_z (float a) |
void | set_rotate_xyz (float ax, float ay, float az) |
bool | isequal (const AI_Quaternion &v, float tol) const |
void | slerp (const AI_Quaternion &q0, const AI_Quaternion &q1, float l) |
void | lerp (const AI_Quaternion &q0, const AI_Quaternion &q1, float l) |
Public Attributes | |
float | x |
float | y |
float | z |
float | w |
Constructor & Destructor Documentation
AI_Quaternion::AI_Quaternion | ( | ) | [inline] |
AI_Quaternion::AI_Quaternion | ( | float | _x, | |
float | _y, | |||
float | _z, | |||
float | _w | |||
) | [inline] |
AI_Quaternion::AI_Quaternion | ( | const AI_Quaternion & | q | ) | [inline] |
Member Function Documentation
void AI_Quaternion::set | ( | float | _x, | |
float | _y, | |||
float | _z, | |||
float | _w | |||
) | [inline] |
void AI_Quaternion::set | ( | const AI_Quaternion & | q | ) | [inline] |
void AI_Quaternion::ident | ( | void | ) | [inline] |
void AI_Quaternion::conjugate | ( | void | ) | [inline] |
void AI_Quaternion::scale | ( | float | s | ) | [inline] |
float AI_Quaternion::norm | ( | void | ) | [inline] |
float AI_Quaternion::magnitude | ( | void | ) | [inline] |
void AI_Quaternion::invert | ( | void | ) | [inline] |
void AI_Quaternion::normalize | ( | void | ) | [inline] |
bool AI_Quaternion::operator== | ( | const AI_Quaternion & | q | ) | [inline] |
bool AI_Quaternion::operator!= | ( | const AI_Quaternion & | q | ) | [inline] |
const AI_Quaternion& AI_Quaternion::operator+= | ( | const AI_Quaternion & | q | ) | [inline] |
const AI_Quaternion& AI_Quaternion::operator-= | ( | const AI_Quaternion & | q | ) | [inline] |
const AI_Quaternion& AI_Quaternion::operator *= | ( | const AI_Quaternion & | q | ) | [inline] |
AI_Vector3 AI_Quaternion::rotate | ( | const AI_Vector3 & | v | ) | [inline] |
rotate vector by AI_Quaternion
void AI_Quaternion::set_from_axes | ( | const AI_Vector3 & | from, | |
const AI_Vector3 & | to | |||
) | [inline] |
Create a rotation from one vector to an other. Works only with unit vectors.
See http://www.martinb.com/maths/algebra/vectors/angleBetween/index.htm for more information.
- Parameters:
-
from source unit vector to destination unit vector
void AI_Quaternion::set_from_axes2 | ( | const AI_Vector3 & | from, | |
const AI_Vector3 & | to | |||
) | [inline] |
Create a rotation from one vector to an other. Works with non unit vectors.
See http://www.martinb.com/maths/algebra/vectors/angleBetween/index.htm for more information.
- Parameters:
-
from source vector to destination vector
void AI_Quaternion::set_rotate_axis_angle | ( | const AI_Vector3 & | v, | |
float | a | |||
) | [inline] |
void AI_Quaternion::set_rotate_x | ( | float | a | ) | [inline] |
void AI_Quaternion::set_rotate_y | ( | float | a | ) | [inline] |
void AI_Quaternion::set_rotate_z | ( | float | a | ) | [inline] |
void AI_Quaternion::set_rotate_xyz | ( | float | ax, | |
float | ay, | |||
float | az | |||
) | [inline] |
bool AI_Quaternion::isequal | ( | const AI_Quaternion & | v, | |
float | tol | |||
) | const [inline] |
void AI_Quaternion::slerp | ( | const AI_Quaternion & | q0, | |
const AI_Quaternion & | q1, | |||
float | l | |||
) | [inline] |
void AI_Quaternion::lerp | ( | const AI_Quaternion & | q0, | |
const AI_Quaternion & | q1, | |||
float | l | |||
) | [inline] |
Member Data Documentation
float AI_Quaternion::x |
float AI_Quaternion::y |
float AI_Quaternion::z |
float AI_Quaternion::w |
The documentation for this class was generated from the following file: