AI_TVector4SSE Class Reference
[Mathematics]

#include <AI_TVector4_sse.h>

List of all members.


Detailed Description

A AI_Vector4 class using SSE.

(C) 2002 RadonLabs GmbH

Public Member Functions

 AI_TVector4SSE ()
 constructor 1
 AI_TVector4SSE (const float _x, const float _y, const float _z, const float _w)
 constructor 2
 AI_TVector4SSE (const AI_TVector4SSE &vec)
 constructor 3
void set (const float _x, const float _y, const float _z, const float _w)
 set elements 1
void set (const AI_TVector4SSE &v)
 set elements 2
float len () const
 return length
void norm ()
 normalize
void operator+= (const AI_TVector4SSE &v)
 inplace add
void operator-= (const AI_TVector4SSE &v)
 inplace sub
void operator *= (const float s)
 inplace scalar mul
bool isequal (const AI_TVector4SSE &v, float tol) const
 fuzzy compare
int compare (const AI_TVector4SSE &v, float tol) const
 fuzzy compare, return -1, 0, +1
void minimum (const AI_TVector4SSE &v)
 set own components to minimum
void maximum (const AI_TVector4SSE &v)
 set own components to maximum
void lerp (const AI_TVector4SSE &v0, float lerpVal)
 inplace linear interpolation
void lerp (const AI_TVector4SSE &v0, const AI_TVector4SSE &v1, float lerpVal)
 linear interpolation between v0 and v1
 AI_TVector4SSE (const __m128 &m)
 private constructor, takes _m128
float addhorizontal (const __m128 &a)
 add components

Public Attributes

union {
   __m128   m128
   struct {
      float   x
      float   y
      float   z
      float   w
   } 
}; 


Constructor & Destructor Documentation

AI_TVector4SSE::AI_TVector4SSE (  )  [inline]

constructor 1

AI_TVector4SSE::AI_TVector4SSE ( const float  _x,
const float  _y,
const float  _z,
const float  _w 
) [inline]

constructor 2

AI_TVector4SSE::AI_TVector4SSE ( const AI_TVector4SSE vec  )  [inline]

constructor 3

AI_TVector4SSE::AI_TVector4SSE ( const __m128 &  m  )  [inline]

private constructor, takes _m128


Member Function Documentation

void AI_TVector4SSE::set ( const float  _x,
const float  _y,
const float  _z,
const float  _w 
) [inline]

set elements 1

void AI_TVector4SSE::set ( const AI_TVector4SSE v  )  [inline]

set elements 2

float AI_TVector4SSE::len ( void   )  const [inline]

return length

void AI_TVector4SSE::norm ( void   )  [inline]

normalize

void AI_TVector4SSE::operator+= ( const AI_TVector4SSE v  )  [inline]

inplace add

void AI_TVector4SSE::operator-= ( const AI_TVector4SSE v  )  [inline]

inplace sub

void AI_TVector4SSE::operator *= ( const float  s  )  [inline]

inplace scalar mul

bool AI_TVector4SSE::isequal ( const AI_TVector4SSE v,
float  tol 
) const [inline]

fuzzy compare

int AI_TVector4SSE::compare ( const AI_TVector4SSE v,
float  tol 
) const [inline]

fuzzy compare, return -1, 0, +1

void AI_TVector4SSE::minimum ( const AI_TVector4SSE v  )  [inline]

set own components to minimum

void AI_TVector4SSE::maximum ( const AI_TVector4SSE v  )  [inline]

set own components to maximum

void AI_TVector4SSE::lerp ( const AI_TVector4SSE v0,
float  lerpVal 
) [inline]

inplace linear interpolation

void AI_TVector4SSE::lerp ( const AI_TVector4SSE v0,
const AI_TVector4SSE v1,
float  lerpVal 
) [inline]

linear interpolation between v0 and v1

float AI_TVector4SSE::addhorizontal ( const __m128 &  a  ) 

add components


Member Data Documentation

union { ... }


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