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:
