#include "GaTypes.h"
|
GaExpInl | GaMat4x4 () |
|
GaExpInl | GaMat4x4 (const GaFloat *v) |
|
GaExpInl | GaMat4x4 (GaFloat m00, GaFloat m01, GaFloat m02, GaFloat m03, GaFloat m10, GaFloat m11, GaFloat m12, GaFloat m13, GaFloat m20, GaFloat m21, GaFloat m22, GaFloat m23, GaFloat m30, GaFloat m31, GaFloat m32, GaFloat m33) |
|
GaExpInl | GaMat4x4 (const GaVec3 &p, const GaQuat &q) |
|
GaExpInl GaMat4x4 | operator* (const GaMat4x4 &oth) const |
|
GaExpInl GaFloat * | operator[] (GaUint i) |
|
GaExpInl const GaFloat *const | operator[] (GaUint i) const |
|
GaExpInl GaVec3 | operator* (const GaVec3 &v) const |
|
GaExpInl void | toFloatMatrix (float *o) |
|
GaExpInl GaMat4x4 | operator* (GaFloat s) |
|
GaMat4x4 | inverse () const |
|
GaMat4x4 | adjoint () const |
|
GaFloat | determinant () const |
|
Definition at line 332 of file GaTypes.h.
Definition at line 337 of file GaTypes.h.
339 m[0][0] = v[ 0];
m[0][1] = v[ 1];
m[0][2] = v[ 2];
m[0][3] = v[ 3];
340 m[1][0] = v[ 4];
m[1][1] = v[ 5];
m[1][2] = v[ 6];
m[1][3] = v[ 7];
341 m[2][0] = v[ 8];
m[2][1] = v[ 9];
m[2][2] = v[10];
m[2][3] = v[11];
342 m[3][0] = v[12];
m[3][1] = v[13];
m[3][2] = v[14];
m[3][3] = v[15];
GaExpInl Ga::GaMat4x4::GaMat4x4 |
( |
GaFloat |
m00, |
|
|
GaFloat |
m01, |
|
|
GaFloat |
m02, |
|
|
GaFloat |
m03, |
|
|
GaFloat |
m10, |
|
|
GaFloat |
m11, |
|
|
GaFloat |
m12, |
|
|
GaFloat |
m13, |
|
|
GaFloat |
m20, |
|
|
GaFloat |
m21, |
|
|
GaFloat |
m22, |
|
|
GaFloat |
m23, |
|
|
GaFloat |
m30, |
|
|
GaFloat |
m31, |
|
|
GaFloat |
m32, |
|
|
GaFloat |
m33 |
|
) |
| |
|
inline |
Definition at line 345 of file GaTypes.h.
350 m[0][0] = m00;
m[0][1] = m01;
m[0][2] = m02;
m[0][3] = m03;
351 m[1][0] = m10;
m[1][1] = m11;
m[1][2] = m12;
m[1][3] = m13;
352 m[2][0] = m20;
m[2][1] = m21;
m[2][2] = m22;
m[2][3] = m23;
353 m[3][0] = m30;
m[3][1] = m31;
m[3][2] = m32;
m[3][3] = m33;
Definition at line 356 of file GaTypes.h.
References Ga::GaVec3::x, Ga::GaVec3::y, and Ga::GaVec3::z.
360 m[0][0] = rot[0][0];
m[0][1] = rot[0][1];
m[0][2] = rot[0][2];
m[0][3] = p.x;
361 m[1][0] = rot[1][0];
m[1][1] = rot[1][1];
m[1][2] = rot[1][2];
m[1][3] = p.y;
362 m[2][0] = rot[2][0];
m[2][1] = rot[2][1];
m[2][2] = rot[2][2];
m[2][3] = p.z;
363 m[3][0] = 0.0;
m[3][1] = 0.0;
m[3][2] = 0.0;
m[3][3] = 1.0;
GaFloat GaMat4x4::determinant |
( |
| ) |
const |
Definition at line 285 of file GaTypes.cpp.
References m, and matrix_minor().
Referenced by inverse().
GaFloat matrix_minor(const GaMat4x4 &m, GaUint r0, GaUint r1, GaUint r2, GaUint c0, GaUint c1, GaUint c2)
Definition at line 366 of file GaTypes.h.
References m.
370 o.m[0][0] =
m[0][0] * oth.m[0][0] +
m[0][1] * oth.m[1][0] +
m[0][2] * oth.m[2][0] +
m[0][3] * oth.m[3][0];
371 o.m[0][1] =
m[0][0] * oth.m[0][1] +
m[0][1] * oth.m[1][1] +
m[0][2] * oth.m[2][1] +
m[0][3] * oth.m[3][1];
372 o.m[0][2] =
m[0][0] * oth.m[0][2] +
m[0][1] * oth.m[1][2] +
m[0][2] * oth.m[2][2] +
m[0][3] * oth.m[3][2];
373 o.m[0][3] =
m[0][0] * oth.m[0][3] +
m[0][1] * oth.m[1][3] +
m[0][2] * oth.m[2][3] +
m[0][3] * oth.m[3][3];
375 o.m[1][0] =
m[1][0] * oth.m[0][0] +
m[1][1] * oth.m[1][0] +
m[1][2] * oth.m[2][0] +
m[1][3] * oth.m[3][0];
376 o.m[1][1] =
m[1][0] * oth.m[0][1] +
m[1][1] * oth.m[1][1] +
m[1][2] * oth.m[2][1] +
m[1][3] * oth.m[3][1];
377 o.m[1][2] =
m[1][0] * oth.m[0][2] +
m[1][1] * oth.m[1][2] +
m[1][2] * oth.m[2][2] +
m[1][3] * oth.m[3][2];
378 o.m[1][3] =
m[1][0] * oth.m[0][3] +
m[1][1] * oth.m[1][3] +
m[1][2] * oth.m[2][3] +
m[1][3] * oth.m[3][3];
380 o.m[2][0] =
m[2][0] * oth.m[0][0] +
m[2][1] * oth.m[1][0] +
m[2][2] * oth.m[2][0] +
m[2][3] * oth.m[3][0];
381 o.m[2][1] =
m[2][0] * oth.m[0][1] +
m[2][1] * oth.m[1][1] +
m[2][2] * oth.m[2][1] +
m[2][3] * oth.m[3][1];
382 o.m[2][2] =
m[2][0] * oth.m[0][2] +
m[2][1] * oth.m[1][2] +
m[2][2] * oth.m[2][2] +
m[2][3] * oth.m[3][2];
383 o.m[2][3] =
m[2][0] * oth.m[0][3] +
m[2][1] * oth.m[1][3] +
m[2][2] * oth.m[2][3] +
m[2][3] * oth.m[3][3];
385 o.m[3][0] =
m[3][0] * oth.m[0][0] +
m[3][1] * oth.m[1][0] +
m[3][2] * oth.m[2][0] +
m[3][3] * oth.m[3][0];
386 o.m[3][1] =
m[3][0] * oth.m[0][1] +
m[3][1] * oth.m[1][1] +
m[3][2] * oth.m[2][1] +
m[3][3] * oth.m[3][1];
387 o.m[3][2] =
m[3][0] * oth.m[0][2] +
m[3][1] * oth.m[1][2] +
m[3][2] * oth.m[2][2] +
m[3][3] * oth.m[3][2];
388 o.m[3][3] =
m[3][0] * oth.m[0][3] +
m[3][1] * oth.m[1][3] +
m[3][2] * oth.m[2][3] +
m[3][3] * oth.m[3][3];
Definition at line 405 of file GaTypes.h.
References Ga::GaVec3::x, Ga::GaVec3::y, and Ga::GaVec3::z.
407 GaFloat w = 1.0f / (
m[3][0] * v.x +
m[3][1] * v.y +
m[3][2] * v.z +
m[3][3] );
410 (
m[0][0] * v.x +
m[0][1] * v.y +
m[0][2] * v.z +
m[0][3] ) * w,
411 (
m[1][0] * v.x +
m[1][1] * v.y +
m[1][2] * v.z +
m[1][3] ) * w,
412 (
m[2][0] * v.x +
m[2][1] * v.y +
m[2][2] * v.z +
m[2][3] ) * w );
Definition at line 425 of file GaTypes.h.
429 s*
m[0][0], s*m[0][1], s*m[0][2], s*m[0][3],
430 s*m[1][0], s*m[1][1], s*m[1][2], s*m[1][3],
431 s*m[2][0], s*m[2][1], s*m[2][2], s*m[2][3],
432 s*m[3][0], s*m[3][1], s*m[3][2], s*m[3][3]
Definition at line 393 of file GaTypes.h.
395 assert(i < 4 &&
"GaMax4x4: subscript out of range");
Definition at line 399 of file GaTypes.h.
401 assert(i < 4 &&
"GaMax4x4: subscript out of range");
GaExpInl void Ga::GaMat4x4::toFloatMatrix |
( |
float * |
o | ) |
|
|
inline |
Definition at line 417 of file GaTypes.h.
419 o[0] =
m[0][0]; o[4] =
m[0][1]; o[8] =
m[0][2]; o[12] =
m[0][3];
420 o[1] =
m[1][0]; o[5] =
m[1][1]; o[9] =
m[1][2]; o[13] =
m[1][3];
421 o[2] =
m[2][0]; o[6] =
m[2][1]; o[10] =
m[2][2]; o[14] =
m[2][3];
422 o[3] =
m[3][0]; o[7] =
m[3][1]; o[11] =
m[3][2]; o[15] =
m[3][3];
The documentation for this class was generated from the following files:
- /backups/local/src/eve/EvEmu_Crucible/dep/gangsta/GaTypes.h
- /backups/local/src/eve/EvEmu_Crucible/dep/gangsta/GaTypes.cpp