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: