AI_TVector3SSE Class Reference
[Mathematics]

#include <AI_TVector3_sse.h>

List of all members.


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

union { ... }


The documentation for this class was generated from the following file: