#include <matrix4x4-sse.h>
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< Matrix4x4 > | Transpose () const |
void | Print (ostream &os) const |
boost::shared_ptr< Matrix4x4 > | Inverse () 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< Matrix4x4 > | Transpose () const |
float | Determinant () const |
void | Print (ostream &os) const |
boost::shared_ptr< Matrix4x4 > | Inverse () 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 |
Definition at line 36 of file matrix4x4-sse.h.
lux::Matrix4x4::Matrix4x4 | ( | ) | [inline] |
Definition at line 39 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 54 of file matrix4x4-sse.h.
lux::Matrix4x4::Matrix4x4 | ( | const __m128 & | l1, | |
const __m128 & | l2, | |||
const __m128 & | l3, | |||
const __m128 & | l4 | |||
) | [inline] |
Definition at line 58 of file matrix4x4-sse.h.
lux::Matrix4x4::Matrix4x4 | ( | float | mat[4][4] | ) |
Definition at line 33 of file matrix4x4.cpp.
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 32 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 | |||
) |
float lux::Matrix4x4::Determinant | ( | ) | const |
Definition at line 71 of file matrix4x4.cpp.
References lux::Det3x3(), and m.
boost::shared_ptr<Matrix4x4> lux::Matrix4x4::Inverse | ( | ) | const |
boost::shared_ptr< Matrix4x4 > lux::Matrix4x4::Inverse | ( | ) | const |
Definition at line 109 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 60 of file matrix4x4.h.
References Matrix4x4(), and lux::r.
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 80 of file matrix4x4-sse.h.
References B1, B2, B3, B4, Matrix4x4(), r1, and r2.
Referenced by lux::Transform::operator*().
void lux::Matrix4x4::operator delete | ( | void * | ptr, | |
size_t | t | |||
) | [inline] |
Definition at line 134 of file matrix4x4-sse.h.
void lux::Matrix4x4::operator delete[] | ( | void * | ptr | ) | [inline] |
Definition at line 136 of file matrix4x4-sse.h.
void* lux::Matrix4x4::operator new | ( | size_t | t | ) | [inline] |
Definition at line 133 of file matrix4x4-sse.h.
void* lux::Matrix4x4::operator new[] | ( | size_t | t | ) | [inline] |
Definition at line 135 of file matrix4x4-sse.h.
float* lux::Matrix4x4::operator[] | ( | int | i | ) | const [inline, private] |
Definition at line 140 of file matrix4x4-sse.h.
References _L1.
void lux::Matrix4x4::Print | ( | ostream & | os | ) | const [inline] |
Definition at line 47 of file matrix4x4.h.
References m.
void lux::Matrix4x4::Print | ( | ostream & | os | ) | const [inline] |
Definition at line 67 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().
union { ... } |
float lux::Matrix4x4::_11 |
Definition at line 120 of file matrix4x4-sse.h.
Referenced by Matrix4x4().
float lux::Matrix4x4::_12 |
Definition at line 120 of file matrix4x4-sse.h.
float lux::Matrix4x4::_13 |
Definition at line 120 of file matrix4x4-sse.h.
float lux::Matrix4x4::_14 |
Definition at line 120 of file matrix4x4-sse.h.
float lux::Matrix4x4::_21 |
Definition at line 121 of file matrix4x4-sse.h.
float lux::Matrix4x4::_22 |
Definition at line 121 of file matrix4x4-sse.h.
float lux::Matrix4x4::_23 |
Definition at line 121 of file matrix4x4-sse.h.
float lux::Matrix4x4::_24 |
Definition at line 121 of file matrix4x4-sse.h.
float lux::Matrix4x4::_31 |
Definition at line 122 of file matrix4x4-sse.h.
float lux::Matrix4x4::_32 |
Definition at line 122 of file matrix4x4-sse.h.
float lux::Matrix4x4::_33 |
Definition at line 122 of file matrix4x4-sse.h.
float lux::Matrix4x4::_34 |
Definition at line 122 of file matrix4x4-sse.h.
float lux::Matrix4x4::_41 |
Definition at line 123 of file matrix4x4-sse.h.
float lux::Matrix4x4::_42 |
Definition at line 123 of file matrix4x4-sse.h.
float lux::Matrix4x4::_43 |
Definition at line 123 of file matrix4x4-sse.h.
float lux::Matrix4x4::_44 |
Definition at line 123 of file matrix4x4-sse.h.
__m128 lux::Matrix4x4::_L1 |
Definition at line 117 of file matrix4x4-sse.h.
Referenced by operator[]().
__m128 lux::Matrix4x4::_L2 |
Definition at line 117 of file matrix4x4-sse.h.
__m128 lux::Matrix4x4::_L3 |
Definition at line 117 of file matrix4x4-sse.h.
__m128 lux::Matrix4x4::_L4 |
Definition at line 117 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t11 |
Definition at line 126 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t12 |
Definition at line 127 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t13 |
Definition at line 128 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t14 |
Definition at line 129 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t21 |
Definition at line 126 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t22 |
Definition at line 127 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t23 |
Definition at line 128 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t24 |
Definition at line 129 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t31 |
Definition at line 126 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t32 |
Definition at line 127 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t33 |
Definition at line 128 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t34 |
Definition at line 129 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t41 |
Definition at line 126 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t42 |
Definition at line 127 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t43 |
Definition at line 128 of file matrix4x4-sse.h.
float lux::Matrix4x4::_t44 |
Definition at line 129 of file matrix4x4-sse.h.
float lux::Matrix4x4::m[4][4] |
Definition at line 73 of file matrix4x4.h.
Referenced by Determinant(), Inverse(), Matrix4x4(), Print(), and Transpose().