lux::Matrix4x4 Class Reference

#include <matrix4x4-sse.h>

List of all members.

Public Member Functions

 Matrix4x4 ()
 Matrix4x4 (const Matrix4x4 &m)
 Matrix4x4 (const __m128 &l1, const __m128 &l2, const __m128 &l3, const __m128 &l4)
 Matrix4x4 (float mat[4][4])
 Matrix4x4 (float t00, float t01, float t02, float t03, float t10, float t11, float t12, float t13, float t20, float t21, float t22, float t23, float t30, float t31, float t32, float t33)
boost::shared_ptr< Matrix4x4Transpose () const
void Print (ostream &os) const
boost::shared_ptr< Matrix4x4Inverse () const
void * operator new (size_t t)
void operator delete (void *ptr, size_t t)
void * operator new[] (size_t t)
void operator delete[] (void *ptr)
 Matrix4x4 ()
 Matrix4x4 (float mat[4][4])
 Matrix4x4 (float t00, float t01, float t02, float t03, float t10, float t11, float t12, float t13, float t20, float t21, float t22, float t23, float t30, float t31, float t32, float t33)
boost::shared_ptr< Matrix4x4Transpose () const
void Print (ostream &os) const
boost::shared_ptr< Matrix4x4Inverse () const

Static Public Member Functions

static boost::shared_ptr
< Matrix4x4
Mul (const boost::shared_ptr< Matrix4x4 > &A, const boost::shared_ptr< Matrix4x4 > &B)
static boost::shared_ptr
< Matrix4x4
Mul (const boost::shared_ptr< Matrix4x4 > &m1, const boost::shared_ptr< Matrix4x4 > &m2)

Public Attributes

union {
   struct {
      __m128   _L1
      __m128   _L2
      __m128   _L3
      __m128   _L4
   } 
   struct {
      float   _11
      float   _12
      float   _13
      float   _14
      float   _21
      float   _22
      float   _23
      float   _24
      float   _31
      float   _32
      float   _33
      float   _34
      float   _41
      float   _42
      float   _43
      float   _44
   } 
   struct {
      float   _t11
      float   _t21
      float   _t31
      float   _t41
      float   _t12
      float   _t22
      float   _t32
      float   _t42
      float   _t13
      float   _t23
      float   _t33
      float   _t43
      float   _t14
      float   _t24
      float   _t34
      float   _t44
   } 
}; 
float m [4][4]

Private Member Functions

float * operator[] (int i) const


Detailed Description

Definition at line 37 of file matrix4x4-sse.h.


Constructor & Destructor Documentation

lux::Matrix4x4::Matrix4x4 (  )  [inline]

Definition at line 40 of file matrix4x4-sse.h.

References _11, lux::_matrix44_sse_ident, and memcpy().

Referenced by Inverse(), Mul(), and Transpose().

lux::Matrix4x4::Matrix4x4 ( const Matrix4x4 m  )  [inline]

Definition at line 55 of file matrix4x4-sse.h.

lux::Matrix4x4::Matrix4x4 ( const __m128 &  l1,
const __m128 &  l2,
const __m128 &  l3,
const __m128 &  l4 
) [inline]

Definition at line 59 of file matrix4x4-sse.h.

lux::Matrix4x4::Matrix4x4 ( float  mat[4][4]  ) 

Definition at line 33 of file matrix4x4.cpp.

References m, and memcpy().

lux::Matrix4x4::Matrix4x4 ( float  t00,
float  t01,
float  t02,
float  t03,
float  t10,
float  t11,
float  t12,
float  t13,
float  t20,
float  t21,
float  t22,
float  t23,
float  t30,
float  t31,
float  t32,
float  t33 
)

Definition at line 38 of file matrix4x4.cpp.

References m.

lux::Matrix4x4::Matrix4x4 (  )  [inline]

Definition at line 33 of file matrix4x4.h.

References m.

lux::Matrix4x4::Matrix4x4 ( float  mat[4][4]  ) 

lux::Matrix4x4::Matrix4x4 ( float  t00,
float  t01,
float  t02,
float  t03,
float  t10,
float  t11,
float  t12,
float  t13,
float  t20,
float  t21,
float  t22,
float  t23,
float  t30,
float  t31,
float  t32,
float  t33 
)


Member Function Documentation

boost::shared_ptr<Matrix4x4> lux::Matrix4x4::Inverse (  )  const

boost::shared_ptr< Matrix4x4 > lux::Matrix4x4::Inverse (  )  const

Definition at line 58 of file matrix4x4.cpp.

References LUX_ERROR, LUX_MATH, luxError, m, Matrix4x4(), memcpy(), and cimg_library::cimg::swap().

static boost::shared_ptr<Matrix4x4> lux::Matrix4x4::Mul ( const boost::shared_ptr< Matrix4x4 > &  m1,
const boost::shared_ptr< Matrix4x4 > &  m2 
) [inline, static]

Definition at line 58 of file matrix4x4.h.

References Matrix4x4().

static boost::shared_ptr<Matrix4x4> lux::Matrix4x4::Mul ( const boost::shared_ptr< Matrix4x4 > &  A,
const boost::shared_ptr< Matrix4x4 > &  B 
) [inline, static]

Definition at line 81 of file matrix4x4-sse.h.

References Matrix4x4().

Referenced by lux::Transform::operator*().

void lux::Matrix4x4::operator delete ( void *  ptr,
size_t  t 
) [inline]

Definition at line 135 of file matrix4x4-sse.h.

void lux::Matrix4x4::operator delete[] ( void *  ptr  )  [inline]

Definition at line 137 of file matrix4x4-sse.h.

void* lux::Matrix4x4::operator new ( size_t  t  )  [inline]

Definition at line 134 of file matrix4x4-sse.h.

void* lux::Matrix4x4::operator new[] ( size_t  t  )  [inline]

Definition at line 136 of file matrix4x4-sse.h.

float* lux::Matrix4x4::operator[] ( int  i  )  const [inline, private]

Definition at line 141 of file matrix4x4-sse.h.

References _L1.

void lux::Matrix4x4::Print ( ostream &  os  )  const [inline]

Definition at line 45 of file matrix4x4.h.

References m.

void lux::Matrix4x4::Print ( ostream &  os  )  const [inline]

Definition at line 68 of file matrix4x4-sse.h.

boost::shared_ptr<Matrix4x4> lux::Matrix4x4::Transpose (  )  const

boost::shared_ptr< Matrix4x4 > lux::Matrix4x4::Transpose (  )  const

Definition at line 49 of file matrix4x4.cpp.

References m, and Matrix4x4().


Member Data Documentation

union { ... }

Definition at line 121 of file matrix4x4-sse.h.

Referenced by Matrix4x4().

Definition at line 121 of file matrix4x4-sse.h.

Definition at line 121 of file matrix4x4-sse.h.

Definition at line 121 of file matrix4x4-sse.h.

Definition at line 122 of file matrix4x4-sse.h.

Definition at line 122 of file matrix4x4-sse.h.

Definition at line 122 of file matrix4x4-sse.h.

Definition at line 122 of file matrix4x4-sse.h.

Definition at line 123 of file matrix4x4-sse.h.

Definition at line 123 of file matrix4x4-sse.h.

Definition at line 123 of file matrix4x4-sse.h.

Definition at line 123 of file matrix4x4-sse.h.

Definition at line 124 of file matrix4x4-sse.h.

Definition at line 124 of file matrix4x4-sse.h.

Definition at line 124 of file matrix4x4-sse.h.

Definition at line 124 of file matrix4x4-sse.h.

Definition at line 118 of file matrix4x4-sse.h.

Referenced by operator[]().

Definition at line 118 of file matrix4x4-sse.h.

Definition at line 118 of file matrix4x4-sse.h.

Definition at line 118 of file matrix4x4-sse.h.

Definition at line 127 of file matrix4x4-sse.h.

Definition at line 128 of file matrix4x4-sse.h.

Definition at line 129 of file matrix4x4-sse.h.

Definition at line 130 of file matrix4x4-sse.h.

Definition at line 127 of file matrix4x4-sse.h.

Definition at line 128 of file matrix4x4-sse.h.

Definition at line 129 of file matrix4x4-sse.h.

Definition at line 130 of file matrix4x4-sse.h.

Definition at line 127 of file matrix4x4-sse.h.

Definition at line 128 of file matrix4x4-sse.h.

Definition at line 129 of file matrix4x4-sse.h.

Definition at line 130 of file matrix4x4-sse.h.

Definition at line 127 of file matrix4x4-sse.h.

Definition at line 128 of file matrix4x4-sse.h.

Definition at line 129 of file matrix4x4-sse.h.

Definition at line 130 of file matrix4x4-sse.h.

float lux::Matrix4x4::m[4][4]

Definition at line 71 of file matrix4x4.h.

Referenced by Inverse(), Matrix4x4(), Print(), and Transpose().


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

Generated on Mon May 18 07:14:54 2009 for lux by  doxygen 1.5.7.1