#include <_Matrix4.h>
Public Member Functions | |
_Matrix4 () | |
_Matrix4 (Type s) | |
_Matrix4 (Type m00, Type m01, Type m02=0.0, Type m03=0.0, Type m10=0.0, Type m11=0.0, Type m12=0.0, Type m13=0.0, Type m20=0.0, Type m21=0.0, Type m22=0.0, Type m23=0.0, Type m30=0.0, Type m31=0.0, Type m32=0.0, Type m33=0.0) | |
_Matrix4 (const _Matrix4< double > &m) | |
_Matrix4 (const _Matrix4< float > &m) | |
_Matrix4 (const Type v[16]) | |
void | add (Type d) |
void | add (Type d, const _Matrix4< Type > &m) |
void | add (const _Matrix4< Type > &m) |
void | add (const _Matrix4< Type > &m1, const _Matrix4< Type > &m2) |
void | adjoint () |
void | adjoint (const _Matrix4< Type > &m) |
Type | determinant () const |
Type | determinant3x3 () const |
bool | epsilonEquals (const _Matrix4< Type > &m, Type epsilon) const |
bool | equals (const _Matrix4< Type > &m) const |
void | get (double m[16]) const |
void | get (float m[16]) const |
void | get (_Matrix3< double > &m) const |
Type | get (_Matrix3< double > &m, _Vector3< double > &v) const |
void | get (_Matrix3< double > &m, _Vector3< double > &v, _Vector3< double > &s) const |
void | get (_Matrix3< float > &m) const |
Type | get (_Matrix3< float > &m, _Vector3< float > &v) const |
void | get (_Matrix3< float > &m, _Vector3< float > &v, _Vector3< float > &s) const |
void | get (_Quat4< double > &q) const |
void | get (_Quat4< float > &q) const |
void | get (_Vector3< double > &v) const |
void | get (_Vector3< float > &v) const |
void | get3x3 (double m[9]) const |
void | getColumn (int column, _Vector4< Type > &v) const |
void | getColumn (int column, Type c[]) const |
Type | getElement (int row, int column) const |
void | getEuler (_Vector3< Type >) const |
void | getRotationScale (_Matrix3< double > &m3d) const |
void | getRotationScale (_Matrix3< float > &m3f) const |
void | getRow (int row, _Vector4< Type > &v) const |
void | getRow (int row, Type r[]) const |
double | getScale () const |
void | getScaleRotate (double scale[3], double rot[9]) const |
void | invert () |
void | invert (const _Matrix4< Type > &m) |
void | mul (Type d) |
void | mul (Type d, const _Matrix4< Type > &m) |
void | mul (const _Matrix4< Type > &m) |
void | mul (const _Matrix4< Type > &m1, const _Matrix4< Type > &m2) |
void | mulTransposeBoth (const _Matrix4< Type > &m1, const _Matrix4< Type > &m2) |
void | mulTransposeLeft (const _Matrix4< Type > &m1, const _Matrix4< Type > &m2) |
void | mulTransposeRight (const _Matrix4< Type > &m1, const _Matrix4< Type > &m2) |
void | negate () |
void | negate (const _Matrix4< Type > &m) |
void | scale (Type s) |
void | scaleAdd (Type s, const _Matrix4< Type > &m) |
void | scaleAdd (Type s, const _Matrix4< Type > &m, const _Matrix4 &m1) |
void | set3x3 (Type mm00=0, Type mm01=0, Type mm02=0, Type mm10=0, Type mm11=0, Type mm12=0, Type mm20=0, Type mm21=0, Type mm22=0) |
void | set (Type mm00, Type mm01, Type mm02=0.0, Type mm03=0.0, Type mm10=0.0, Type mm11=0.0, Type mm12=0.0, Type mm13=0.0, Type mm20=0.0, Type mm21=0.0, Type mm22=0.0, Type mm23=0.0, Type mm30=0.0, Type mm31=0.0, Type mm32=0.0, Type mm33=0.0) |
void | set (const _Matrix4< double > &m) |
void | set (const _Matrix4< float > &m) |
void | set (const _Matrix3< double > &m) |
void | set (const _Matrix3< float > &m) |
void | set (const _Matrix3< double > &m, const _Vector3< double > &v, double s) |
void | set (const _Matrix3< float > &m, const _Vector3< double > &v, double s) |
void | set (const _Matrix3< double > &m, const _Vector3< double > &v, const _Vector3< double > &s) |
void | set (const _Matrix3< float > &m, const _Vector3< float > &v, const _Vector3< float > &s) |
void | set (const _Vector3< double > &v) |
void | set (const _Vector3< float > &v) |
void | set (const _Vector3< double > &v, double s) |
void | set (const _Vector3< float > &v, double s) |
void | set (const double at[16]) |
void | set (const float at[16]) |
void | setTranspose (const Type at[16]) |
void | setColumn (int column, Type x, Type y, Type z, Type w) |
void | setElement (int row, int column, Type value) |
void | setIdentity () |
void | setIdentity3x3 () |
void | setRotation (const _Matrix3< double > &m) |
void | setRotation (const _Matrix3< float > &m) |
void | setRotation (const _Quat4< double > &q) |
void | setRotation (const _Quat4< float > &q) |
void | setRotationScale (const _Matrix3< double > &m) |
void | setRotationScale (const _Matrix3< float > &m) |
void | setRow (int row, Type x, Type y, Type z, Type w) |
void | setScaleTranslate (Type scale, Type x=0.0, Type y=0.0, Type z=0.0) |
void | setTranslation (const _Vector3< Type > &trans) |
void | setZero () |
void | sub (const _Matrix4< Type > &m) |
void | sub (const _Matrix4< Type > &m1, const _Matrix4< Type > &m2) |
void | rotX (double angle) |
void | rotY (double angle) |
void | rotZ (double angle) |
void | rotationGL (double angle, const _Vector3< Type > &axis) |
void | transform (_Tuple3< double > &t) const |
void | transform (const _Tuple3< double > &t, _Tuple3< double > &t1) const |
void | transform (_Tuple3< float > &t) const |
void | transform (const _Tuple3< float > &t, _Tuple3< float > &t1) const |
void | transform (_Tuple4< double > &t) const |
void | transform (const _Tuple4< double > &t, _Tuple4< double > &t1) const |
void | transform (_Tuple4< float > &t) const |
void | transform (const _Tuple4< float > &t, _Tuple4< float > &t1) const |
void | transpose () |
void | transpose (const _Matrix4< Type > &m) |
_Matrix4< Type > & | operator+= (const _Matrix4< Type > &t) |
_Matrix4< Type > & | operator-= (const _Matrix4< Type > &t) |
operator const Type * () const | |
Type & | operator() (int row, int column) const |
Public Attributes | |
Type | m00 |
Type | m10 |
Type | m20 |
Type | m30 |
Type | m01 |
Type | m11 |
Type | m21 |
Type | m31 |
Type | m02 |
Type | m12 |
Type | m22 |
Type | m32 |
Type | m03 |
Type | m13 |
Type | m23 |
Type | m33 |
Private Member Functions | |
void | setRotationScale3x3 (double mm00, double mm01, double mm02, double mm10, double mm11, double mm12, double mm20, double mm21, double mm22) |
Static Private Member Functions | |
static bool | luDecomposition (Type ad[], int ai[]) |
static void | luBacksubstitution (Type ad[], int ai[], Type ad1[]) |
Definition at line 20 of file _Matrix4.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 74 of file _Matrix4.h. |
|
|
Definition at line 68 of file _Matrix4.h. |
|
|
Definition at line 80 of file _Matrix4.h. |
|
Definition at line 88 of file _Matrix4.h. References _Matrix3< Type >::determinant3x3(). Referenced by _Matrix4< Type >::adjoint(). |
|
Definition at line 112 of file _Matrix4.h. References _Matrix3< Type >::determinant3x3(). |
|
|
|
Definition at line 155 of file _Matrix4.h. References _Tuple3< Type >::set(). |
|
Definition at line 151 of file _Matrix4.h. References _Tuple3< Type >::set(). |
|
Definition at line 191 of file _Matrix4.cc. References _Matrix4< Type >::getScaleRotate(), and _Quat4< Type >::set(). |
|
Definition at line 182 of file _Matrix4.cc. References _Matrix4< Type >::getScaleRotate(), and _Quat4< Type >::set(). |
|
Definition at line 171 of file _Matrix4.cc. References _Matrix4< Type >::get(), _Matrix4< Type >::getScaleRotate(), _Tuple3< Type >::set(), and _Matrix3< Type >::set(). |
|
Definition at line 160 of file _Matrix4.cc. References _Matrix4< Type >::get(), _Matrix4< Type >::getScaleRotate(), Math::max3(), and _Matrix3< Type >::set(). |
|
Definition at line 151 of file _Matrix4.cc. References _Matrix4< Type >::getScaleRotate(), and _Matrix3< Type >::set(). |
|
Definition at line 140 of file _Matrix4.cc. References _Matrix4< Type >::get(), _Matrix4< Type >::getScaleRotate(), _Tuple3< Type >::set(), and _Matrix3< Type >::set(). |
|
Definition at line 129 of file _Matrix4.cc. References _Matrix4< Type >::get(), _Matrix4< Type >::getScaleRotate(), Math::max3(), and _Matrix3< Type >::set(). |
|
Definition at line 120 of file _Matrix4.cc. References _Matrix4< Type >::getScaleRotate(), and _Matrix3< Type >::set(). |
|
Definition at line 135 of file _Matrix4.h. |
|
Definition at line 128 of file _Matrix4.h. Referenced by _Matrix4< Type >::get(), _Matrix4< Type >::invert(), and _AxisAngle4< Type >::set(). |
|
Definition at line 159 of file _Matrix4.h. Referenced by _Matrix4< Type >::getScaleRotate(). |
|
Definition at line 212 of file _Matrix4.cc. References _Matrix4< Type >::m00, _Matrix4< Type >::m01, _Matrix4< Type >::m02, _Matrix4< Type >::m10, _Matrix4< Type >::m11, _Matrix4< Type >::m12, _Matrix4< Type >::m20, _Matrix4< Type >::m21, _Matrix4< Type >::m22, _Matrix4< Type >::m30, _Matrix4< Type >::m31, and _Matrix4< Type >::m32. |
|
|
Definition at line 223 of file _Matrix4.cc. References _Matrix4< Type >::operator()(). |
|
|
|
Definition at line 246 of file _Matrix4.cc. References _Matrix4< Type >::m00, _Matrix4< Type >::m01, _Matrix4< Type >::m02, _Matrix4< Type >::m10, _Matrix4< Type >::m11, _Matrix4< Type >::m12, _Matrix4< Type >::m20, _Matrix4< Type >::m21, _Matrix4< Type >::m22, and _Matrix3< Type >::set(). |
|
Definition at line 238 of file _Matrix4.cc. References _Matrix4< Type >::m00, _Matrix4< Type >::m01, _Matrix4< Type >::m02, _Matrix4< Type >::m10, _Matrix4< Type >::m11, _Matrix4< Type >::m12, _Matrix4< Type >::m20, _Matrix4< Type >::m21, _Matrix4< Type >::m22, and _Matrix3< Type >::set(). |
|
|
|
|
Definition at line 278 of file _Matrix4.cc. References _Matrix4< Type >::getScaleRotate(), and Math::max3(). |
|
Definition at line 286 of file _Matrix4.cc. References _Matrix3< Type >::compute_svd(), and _Matrix4< Type >::get3x3(). Referenced by _Matrix4< Type >::get(), and _Matrix4< Type >::getScale(). |
|
Definition at line 294 of file _Matrix4.cc. References _Matrix4< Type >::get(), _Matrix4< Type >::luBacksubstitution(), and _Matrix4< Type >::set(). |
|
Definition at line 180 of file _Matrix4.h. |
|
Referenced by _Matrix4< Type >::invert(). |
|
Definition at line 343 of file _Matrix4.cc. |
|
|
Definition at line 439 of file _Matrix4.cc. References _Matrix4< Type >::mul(). |
|
|
Definition at line 186 of file _Matrix4.h. Referenced by _Matrix4< Type >::mul(). |
|
|
|
|
|
Definition at line 197 of file _Matrix4.h. |
|
Definition at line 442 of file _Matrix4.h. |
|
Definition at line 447 of file _Matrix4.h. Referenced by _Matrix4< Type >::getElement(), and _Matrix4< Type >::setElement(). |
|
Definition at line 429 of file _Matrix4.h. References DEBUGTUPLE3. |
|
Definition at line 435 of file _Matrix4.h. References DEBUGTUPLE3. |
|
Definition at line 658 of file _Matrix4.cc. References _Vector3< Type >::normalize(), _Matrix4< Type >::set(), _Tuple3< Type >::x, _Tuple3< Type >::y, and _Tuple3< Type >::z. |
|
Definition at line 621 of file _Matrix4.cc. References _Matrix4< Type >::set(). |
|
Definition at line 633 of file _Matrix4.cc. References _Matrix4< Type >::set(). |
|
Definition at line 645 of file _Matrix4.cc. References _Matrix4< Type >::set(). |
|
Definition at line 208 of file _Matrix4.h. |
|
|
Definition at line 215 of file _Matrix4.h. |
|
Definition at line 327 of file _Matrix4.h. |
|
Definition at line 320 of file _Matrix4.h. |
|
Definition at line 315 of file _Matrix4.h. References _Tuple3< Type >::x, _Tuple3< Type >::y, and _Tuple3< Type >::z. |
|
Definition at line 310 of file _Matrix4.h. References _Tuple3< Type >::x, _Tuple3< Type >::y, and _Tuple3< Type >::z. |
|
Definition at line 305 of file _Matrix4.h. |
|
Definition at line 300 of file _Matrix4.h. |
|
Definition at line 293 of file _Matrix4.h. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, _Matrix3< Type >::m22, _Tuple3< Type >::x, _Tuple3< Type >::y, and _Tuple3< Type >::z. |
|
Definition at line 286 of file _Matrix4.h. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, _Matrix3< Type >::m22, _Tuple3< Type >::x, _Tuple3< Type >::y, and _Tuple3< Type >::z. |
|
Definition at line 279 of file _Matrix4.h. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, _Matrix3< Type >::m22, _Tuple3< Type >::x, _Tuple3< Type >::y, and _Tuple3< Type >::z. |
|
Definition at line 272 of file _Matrix4.h. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, _Matrix3< Type >::m22, _Tuple3< Type >::x, _Tuple3< Type >::y, and _Tuple3< Type >::z. |
|
Definition at line 265 of file _Matrix4.h. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, and _Matrix3< Type >::m22. |
|
Definition at line 258 of file _Matrix4.h. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, and _Matrix3< Type >::m22. |
|
|
|
|
Definition at line 226 of file _Matrix4.h. |
|
|
Definition at line 690 of file _Matrix4.cc. References _Matrix4< Type >::operator()(). |
|
Definition at line 344 of file _Matrix4.h. |
|
Definition at line 348 of file _Matrix4.h. |
|
Definition at line 759 of file _Matrix4.cc. References _Matrix4< Type >::setRotation(). |
|
Definition at line 751 of file _Matrix4.cc. References _Matrix4< Type >::setRotation(). |
|
Definition at line 743 of file _Matrix4.cc. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, _Matrix3< Type >::m22, and _Matrix4< Type >::setRotationScale3x3(). |
|
Definition at line 735 of file _Matrix4.cc. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, _Matrix3< Type >::m22, and _Matrix4< Type >::setRotationScale3x3(). Referenced by _Matrix4< Type >::setRotation(). |
|
Definition at line 367 of file _Matrix4.h. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, and _Matrix3< Type >::m22. |
|
Definition at line 361 of file _Matrix4.h. References _Matrix3< Type >::m00, _Matrix3< Type >::m01, _Matrix3< Type >::m02, _Matrix3< Type >::m10, _Matrix3< Type >::m11, _Matrix3< Type >::m12, _Matrix3< Type >::m20, _Matrix3< Type >::m21, and _Matrix3< Type >::m22. |
|
Definition at line 460 of file _Matrix4.h. Referenced by _Matrix4< Type >::setRotation(). |
|
|
Definition at line 377 of file _Matrix4.h. |
|
Definition at line 384 of file _Matrix4.h. References _Tuple3< Type >::x, _Tuple3< Type >::y, and _Tuple3< Type >::z. |
|
Definition at line 334 of file _Matrix4.h. |
|
Definition at line 390 of file _Matrix4.h. |
|
|
Definition at line 395 of file _Matrix4.h. |
|
|
Definition at line 421 of file _Matrix4.h. |
|
|
Definition at line 416 of file _Matrix4.h. |
|
|
Definition at line 411 of file _Matrix4.h. |
|
|
Definition at line 406 of file _Matrix4.h. |
|
|
Definition at line 811 of file _Matrix4.cc. References _Matrix4< Type >::m01, _Matrix4< Type >::m02, _Matrix4< Type >::m03, _Matrix4< Type >::m10, _Matrix4< Type >::m12, _Matrix4< Type >::m13, _Matrix4< Type >::m20, _Matrix4< Type >::m21, _Matrix4< Type >::m23, _Matrix4< Type >::m30, _Matrix4< Type >::m31, _Matrix4< Type >::m32, and Math::swap(). Referenced by _Matrix4< Type >::transpose(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|