AI_TMatrix33SSE Class Reference
[Mathematics]
#include <AI_TMatrix33_sse.h>
Detailed Description
An SSE based AI_Matrix33 class.(C) 2002 RadonLabs GmbH
Public Member Functions | |
AI_TMatrix33SSE () | |
constructor 1 | |
AI_TMatrix33SSE (const AI_TVector3SSE &v1, const AI_TVector3SSE &v2, const AI_TVector3SSE &v3) | |
constructor 2 | |
AI_TMatrix33SSE (const AI_TMatrix33SSE &mx) | |
constructor 3 | |
AI_TMatrix33SSE (float _m11, float _m12, float _m13, float _m21, float _m22, float _m23, float _m31, float _m32, float _m33) | |
constructor 4 | |
AI_TMatrix33SSE (const AI_Quaternion &q) | |
constructor 5 | |
AI_TMatrix33SSE (const __m128 &_m1, const __m128 &_m2, const __m128 &_m3) | |
constructor 6 | |
AI_Quaternion | get_quaternion () const |
get as AI_Quaternion | |
AI_TVector3SSE | to_euler () const |
get as euler representation | |
void | from_euler (const AI_TVector3SSE &ea) |
set as euler | |
void | lookat (const AI_TVector3SSE &from, const AI_TVector3SSE &to, const AI_TVector3SSE &up) |
unrestricted lookat | |
void | billboard (const AI_TVector3SSE &from, const AI_TVector3SSE &to, const AI_TVector3SSE &up) |
restricted lookat (billboard) | |
void | set (float m11, float m12, float m13, float m21, float m22, float m23, float m31, float m32, float m33) |
set 1 | |
void | set (const AI_TVector3SSE &v1, const AI_TVector3SSE &v2, const AI_TVector3SSE &v3) |
set 2 | |
void | set (const AI_TMatrix33SSE &mx) |
set 3 | |
void | ident () |
set to identity | |
void | transpose () |
set to transpose | |
bool | orthonorm (float limit) |
is orthonormal? | |
void | scale (const AI_TVector3SSE &s) |
scale | |
void | rotate_x (const float a) |
rotate about global x | |
void | rotate_y (const float a) |
rotates matrix about global y | |
void | rotate_z (const float a) |
rotate about global z | |
void | rotate_local_x (const float a) |
rotate about local x (not very fast) | |
void | rotate_local_y (const float a) |
rotate about local y (not very fast) | |
void | rotate_local_z (const float a) |
rotate about local z (not very fast) | |
void | rotate (const AI_TVector3SSE &vec, float a) |
rotate about any axis | |
AI_TVector3SSE | x_component (void) const |
get x component | |
AI_TVector3SSE | y_component (void) const |
get y component | |
AI_TVector3SSE | z_component (void) const |
get z component | |
void | operator *= (const AI_TMatrix33SSE &m1) |
void | mult (const AI_TVector3SSE &src, AI_TVector3SSE &dst) const |
multiply source vector into target vector | |
Public Attributes | |
union { | |
struct { | |
__m128 m1 | |
__m128 m2 | |
__m128 m3 | |
} | |
struct { | |
float m [3][4] | |
} | |
}; |
Constructor & Destructor Documentation
AI_TMatrix33SSE::AI_TMatrix33SSE | ( | ) | [inline] |
constructor 1
AI_TMatrix33SSE::AI_TMatrix33SSE | ( | const AI_TVector3SSE & | v1, | |
const AI_TVector3SSE & | v2, | |||
const AI_TVector3SSE & | v3 | |||
) | [inline] |
constructor 2
AI_TMatrix33SSE::AI_TMatrix33SSE | ( | const AI_TMatrix33SSE & | mx | ) | [inline] |
constructor 3
AI_TMatrix33SSE::AI_TMatrix33SSE | ( | float | _m11, | |
float | _m12, | |||
float | _m13, | |||
float | _m21, | |||
float | _m22, | |||
float | _m23, | |||
float | _m31, | |||
float | _m32, | |||
float | _m33 | |||
) | [inline] |
constructor 4
AI_TMatrix33SSE::AI_TMatrix33SSE | ( | const AI_Quaternion & | q | ) | [inline] |
constructor 5
FIXME: SSE OPTIMIZATION!
AI_TMatrix33SSE::AI_TMatrix33SSE | ( | const __m128 & | _m1, | |
const __m128 & | _m2, | |||
const __m128 & | _m3 | |||
) | [inline] |
constructor 6
Member Function Documentation
AI_Quaternion AI_TMatrix33SSE::get_quaternion | ( | ) | const [inline] |
get as AI_Quaternion
FIXME: SSE OPTIMIZATION!
AI_TVector3SSE AI_TMatrix33SSE::to_euler | ( | ) | const [inline] |
get as euler representation
FIXME: SSE OPTIMIZATION!
void AI_TMatrix33SSE::from_euler | ( | const AI_TVector3SSE & | ea | ) | [inline] |
set as euler
FIXME: SSE OPTIMIZATION!
void AI_TMatrix33SSE::lookat | ( | const AI_TVector3SSE & | from, | |
const AI_TVector3SSE & | to, | |||
const AI_TVector3SSE & | up | |||
) | [inline] |
unrestricted lookat
void AI_TMatrix33SSE::billboard | ( | const AI_TVector3SSE & | from, | |
const AI_TVector3SSE & | to, | |||
const AI_TVector3SSE & | up | |||
) | [inline] |
restricted lookat (billboard)
void AI_TMatrix33SSE::set | ( | float | m11, | |
float | m12, | |||
float | m13, | |||
float | m21, | |||
float | m22, | |||
float | m23, | |||
float | m31, | |||
float | m32, | |||
float | m33 | |||
) | [inline] |
set 1
void AI_TMatrix33SSE::set | ( | const AI_TVector3SSE & | v1, | |
const AI_TVector3SSE & | v2, | |||
const AI_TVector3SSE & | v3 | |||
) | [inline] |
set 2
void AI_TMatrix33SSE::set | ( | const AI_TMatrix33SSE & | mx | ) | [inline] |
set 3
void AI_TMatrix33SSE::ident | ( | void | ) | [inline] |
set to identity
void AI_TMatrix33SSE::transpose | ( | ) | [inline] |
set to transpose
FIXME: SSE OPTIMIZATION
bool AI_TMatrix33SSE::orthonorm | ( | float | limit | ) | [inline] |
is orthonormal?
FIXME: SSE OPTIMIZATION
void AI_TMatrix33SSE::scale | ( | const AI_TVector3SSE & | s | ) | [inline] |
scale
void AI_TMatrix33SSE::rotate_x | ( | const float | a | ) | [inline] |
rotate about global x
FIXME: SSE OPTIMIZATION
void AI_TMatrix33SSE::rotate_y | ( | const float | a | ) | [inline] |
rotates matrix about global y
FIXME: SSE OPTIMIZATION
void AI_TMatrix33SSE::rotate_z | ( | const float | a | ) | [inline] |
rotate about global z
FIXME: SSE OPTIMIZATION
void AI_TMatrix33SSE::rotate_local_x | ( | const float | a | ) | [inline] |
rotate about local x (not very fast)
FIXME: SSE OPTIMIZATION
void AI_TMatrix33SSE::rotate_local_y | ( | const float | a | ) | [inline] |
rotate about local y (not very fast)
FIXME: SSE OPTIMIZATION
void AI_TMatrix33SSE::rotate_local_z | ( | const float | a | ) | [inline] |
rotate about local z (not very fast)
FIXME: SSE OPTIMIZATION
void AI_TMatrix33SSE::rotate | ( | const AI_TVector3SSE & | vec, | |
float | a | |||
) | [inline] |
rotate about any axis
FIXME: SSE OPTIMIZATION
AI_TVector3SSE AI_TMatrix33SSE::x_component | ( | void | ) | const [inline] |
get x component
AI_TVector3SSE AI_TMatrix33SSE::y_component | ( | void | ) | const [inline] |
get y component
AI_TVector3SSE AI_TMatrix33SSE::z_component | ( | void | ) | const [inline] |
get z component
void AI_TMatrix33SSE::operator *= | ( | const AI_TMatrix33SSE & | m1 | ) | [inline] |
void AI_TMatrix33SSE::mult | ( | const AI_TVector3SSE & | src, | |
AI_TVector3SSE & | dst | |||
) | const [inline] |
multiply source vector into target vector
multiply source vector with matrix and store in destination vector this eliminates the construction of a temp AI_TVector3SSE object
Member Data Documentation
__m128 AI_TMatrix33SSE::m1 |
__m128 AI_TMatrix33SSE::m2 |
__m128 AI_TMatrix33SSE::m3 |
float AI_TMatrix33SSE::m[3][4] |
union { ... } |
The documentation for this class was generated from the following file: