AI_TVector3SSE Class Reference
[Mathematics]
#include <AI_TVector3_sse.h>
Detailed Description
SSE based AI_Vector3 class.(C) 2002 RadonLabs GmbH
Public Member Functions | |
| AI_TVector3SSE () | |
| constructor 1 | |
| AI_TVector3SSE (const float _x, const float _y, const float _z) | |
| constructor 2 | |
| AI_TVector3SSE (const AI_TVector3SSE &vec) | |
| constructor 3 | |
| AI_TVector3SSE (const float *p) | |
| constructor 4 | |
| AI_TVector3SSE (const __m128 &m) | |
| private constructor | |
| void | set (const float _x, const float _y, const float _z) |
| set elements 1 | |
| void | set (const AI_TVector3SSE &vec) |
| set elements 2 | |
| void | set (const float *p) |
| set elements 3 | |
| float | len () const |
| return length | |
| float | lensquared () const |
| return length squared | |
| void | norm () |
| normalize | |
| void | operator+= (const AI_TVector3SSE &v0) |
| inplace add | |
| void | operator-= (const AI_TVector3SSE &v0) |
| inplace sub | |
| void | operator *= (float s) |
| inplace scalar multiplication | |
| bool | isequal (const AI_TVector3SSE &v, float tol) const |
| fuzzy compare | |
| int | compare (const AI_TVector3SSE &v, float tol) const |
| fuzzy compare, returns -1, 0, +1 | |
| void | rotate (const AI_TVector3SSE &axis, float angle) |
| rotate around axis | |
| void | lerp (const AI_TVector3SSE &v0, float lerpVal) |
| inplace linear interpolation | |
| void | lerp (const AI_TVector3SSE &v0, const AI_TVector3SSE &v1, float lerpVal) |
| linear interpolation between v0 and v1 | |
| AI_TVector3SSE | findortho () const |
| returns a vector orthogonal to self, not normalized | |
Public Attributes | |
| union { | |
| __m128 m128 | |
| struct { | |
| float x | |
| float y | |
| float z | |
| float pad | |
| } | |
| }; | |
Constructor & Destructor Documentation
| AI_TVector3SSE::AI_TVector3SSE | ( | ) | [inline] |
constructor 1
| AI_TVector3SSE::AI_TVector3SSE | ( | const float | _x, | |
| const float | _y, | |||
| const float | _z | |||
| ) | [inline] |
constructor 2
| AI_TVector3SSE::AI_TVector3SSE | ( | const AI_TVector3SSE & | vec | ) | [inline] |
constructor 3
| AI_TVector3SSE::AI_TVector3SSE | ( | const float * | p | ) |
constructor 4
| AI_TVector3SSE::AI_TVector3SSE | ( | const __m128 & | m | ) | [inline] |
private constructor
Member Function Documentation
| void AI_TVector3SSE::set | ( | const float | _x, | |
| const float | _y, | |||
| const float | _z | |||
| ) | [inline] |
set elements 1
| void AI_TVector3SSE::set | ( | const AI_TVector3SSE & | vec | ) | [inline] |
set elements 2
| void AI_TVector3SSE::set | ( | const float * | p | ) |
set elements 3
| float AI_TVector3SSE::len | ( | void | ) | const [inline] |
return length
| float AI_TVector3SSE::lensquared | ( | ) | const [inline] |
return length squared
| void AI_TVector3SSE::norm | ( | void | ) | [inline] |
normalize
| void AI_TVector3SSE::operator+= | ( | const AI_TVector3SSE & | v0 | ) | [inline] |
inplace add
| void AI_TVector3SSE::operator-= | ( | const AI_TVector3SSE & | v0 | ) | [inline] |
inplace sub
| void AI_TVector3SSE::operator *= | ( | float | s | ) | [inline] |
inplace scalar multiplication
| bool AI_TVector3SSE::isequal | ( | const AI_TVector3SSE & | v, | |
| float | tol | |||
| ) | const [inline] |
fuzzy compare
| int AI_TVector3SSE::compare | ( | const AI_TVector3SSE & | v, | |
| float | tol | |||
| ) | const [inline] |
fuzzy compare, returns -1, 0, +1
| void AI_TVector3SSE::rotate | ( | const AI_TVector3SSE & | axis, | |
| float | angle | |||
| ) | [inline] |
rotate around axis
| void AI_TVector3SSE::lerp | ( | const AI_TVector3SSE & | v0, | |
| float | lerpVal | |||
| ) | [inline] |
inplace linear interpolation
| void AI_TVector3SSE::lerp | ( | const AI_TVector3SSE & | v0, | |
| const AI_TVector3SSE & | v1, | |||
| float | lerpVal | |||
| ) | [inline] |
linear interpolation between v0 and v1
| AI_TVector3SSE AI_TVector3SSE::findortho | ( | ) | const [inline] |
returns a vector orthogonal to self, not normalized
Find a vector that is orthogonal to self. Self should not be (0,0,0). Return value is not normalized.
Member Data Documentation
| __m128 AI_TVector3SSE::m128 |
| float AI_TVector3SSE::x |
| float AI_TVector3SSE::y |
| float AI_TVector3SSE::z |
| float AI_TVector3SSE::pad |
| union { ... } |
The documentation for this class was generated from the following file:
