#include <Matrix44r.h>
Public Member Functions | |
Matrix44r () | |
Matrix44r (const Matrix44r &src) | |
Matrix44r (real _00, real _10, real _20, real _30, real _01, real _11, real _21, real _31, real _02, real _12, real _22, real _32, real _03, real _13, real _23, real _33) | |
Matrix44r (const real *data) | |
void | setPosition (real x, real y, real z) |
Point3r | getPosition () const |
Vec3r | getTranslation () const |
void | set (real _00, real _10, real _20, real _30, real _01, real _11, real _21, real _31, real _02, real _12, real _22, real _32, real _03, real _13, real _23, real _33) |
void | set (const real *data) |
void | makeZero () |
void | makeIdentity () |
void | makeScale (real s) |
void | makeScale (real x, real y, real z) |
void | makeRotation (real degrees, real x, real y, real z) |
void | setQuaternion (real w, real x, real y, real z) |
void | setQuaternion (const Quaternion &q) |
void | setRotation (real degrees, real x, real y, real z) |
void | makeTranslation (real x, real y, real z) |
void | scale (real s) |
void | scale (real x, real y, real z) |
Quaternion | getQuaternion () const |
Vec3r | getEulerXYZ () const |
void | preScale (real s) |
void | preScale (real x, real y, real z) |
void | rotate (real degrees, real x, real y, real z) |
void | preRotate (real degrees, real x, real y, real z) |
void | translate (real x, real y, real z) |
void | preTranslate (real x, real y, real z) |
real * | getData () |
const real * | getData () const |
real & | operator[] (unsigned int i) |
const real & | operator[] (unsigned int i) const |
real & | operator() (unsigned int row, unsigned int col) |
const real & | operator() (unsigned int row, unsigned int col) const |
void | operator *= (const Matrix44r &m) |
bool | operator== (const Matrix44r &m) const |
bool | operator!= (const Matrix44r &m) const |
void | swap (real &a, real &b) |
void | transpose () |
real | determinant () const |
bool | invert () |
void | fastInvert () |
Vec3r | getForward () const |
Vec3r | getUp () const |
Vec3r | getRight () const |
Private Attributes | |
real | mData [16] |
Friends | |
Matrix44r | operator * (real scalar, Matrix44r m) |
Such matrix describes translation, rotation and scaling.
Definition at line 67 of file Matrix44r.h.
|
Identity by default.
Definition at line 76 of file Matrix44r.h. References makeIdentity(). |
|
Copy-constructor.
Definition at line 82 of file Matrix44r.h. References mData. |
|
set is row-column order
Definition at line 88 of file Matrix44r.h. References mData. |
|
WARNING! this takes in a column-row order matrix.
Definition at line 115 of file Matrix44r.h. References mData. |
|
Definition at line 546 of file Matrix44r.h. Referenced by opal::inverse(). |
|
Definition at line 574 of file Matrix44r.h. References opal::fastInverse(). Referenced by opal::SpringMotor::setGlobalAttachPoint(). |
|
Definition at line 478 of file Matrix44r.h. References mData. |
|
Definition at line 473 of file Matrix44r.h. References mData. |
|
Returns rotations around x-, y-, and z- axis. euler angles are in degrees Definition at line 375 of file Matrix44r.h. References opal::normalizeDegrees(), opal::globals::OPAL_HALF_PI, and opal::radToDeg(). Referenced by opal::Solid::getEulerXYZ(). |
|
forward direction in local coordinate system of the body
Definition at line 580 of file Matrix44r.h. Referenced by opal::SpringMotor::internal_update(), and opal::SpringMotor::setDesiredTransform(). |
|
Returns current position.
Definition at line 129 of file Matrix44r.h. References mData. Referenced by opal::Solid::getPosition(), opal::SpringMotor::setDesiredTransform(), and setRotation(). |
|
Definition at line 324 of file Matrix44r.h. References opal::areEqual(). Referenced by opal::Solid::getQuaternion(). |
|
right direction in local coordinate system of the body
Definition at line 592 of file Matrix44r.h. Referenced by opal::SpringMotor::internal_update(). |
|
Returns current position.
Definition at line 135 of file Matrix44r.h. References mData. |
|
up direction in local coordinate system of the body
Definition at line 586 of file Matrix44r.h. Referenced by opal::SpringMotor::internal_update(). |
|
Definition at line 569 of file Matrix44r.h. References opal::inverse(). |
|
Resets to indentity matrix.
Definition at line 180 of file Matrix44r.h. References mData. Referenced by opal::Mass::Mass(), and Matrix44r(). |
|
sets rotation of the matrix
Definition at line 222 of file Matrix44r.h. References opal::defaults::sensor::incline::axis, opal::degToRad(), and opal::Vec3r::normalize(). Referenced by preRotate(), rotate(), and setRotation(). |
|
scales each axis by a given value
Definition at line 210 of file Matrix44r.h. References set(). |
|
scales all axis by a given amount
Definition at line 204 of file Matrix44r.h. References set(). |
|
Definition at line 303 of file Matrix44r.h. References set(). |
|
Entire matrix will be zero'ed.
Definition at line 174 of file Matrix44r.h. References mData. Referenced by opal::operator *(). |
|
Definition at line 503 of file Matrix44r.h. |
|
Definition at line 518 of file Matrix44r.h. |
|
Definition at line 498 of file Matrix44r.h. References mData. |
|
Definition at line 493 of file Matrix44r.h. References mData. |
|
Definition at line 508 of file Matrix44r.h. References mData. |
|
Definition at line 488 of file Matrix44r.h. References mData. |
|
Definition at line 483 of file Matrix44r.h. References mData. |
|
applies this rotation first, then applies old rotations again
Definition at line 454 of file Matrix44r.h. References makeRotation(). |
|
Definition at line 423 of file Matrix44r.h. |
|
post multiply transformations, openGL style, for convenience
Definition at line 417 of file Matrix44r.h. |
|
Definition at line 467 of file Matrix44r.h. |
|
rotates the matrix further
Definition at line 438 of file Matrix44r.h. References makeRotation(). |
|
Definition at line 315 of file Matrix44r.h. |
|
post multiply transformations, openGL style, for convenience
Definition at line 309 of file Matrix44r.h. |
|
WARNING! this takes in a column-row order matrix.
Definition at line 168 of file Matrix44r.h. References mData. |
|
set is row-column order
Definition at line 141 of file Matrix44r.h. References mData. Referenced by opal::ODESolid::getInertiaTensor(), opal::ODESolid::internal_updateOPALTransform(), makeScale(), and makeTranslation(). |
|
Resets position.
Definition at line 121 of file Matrix44r.h. References mData. Referenced by opal::Solid::setPosition(). |
|
quaternion can have a zero axis
Definition at line 278 of file Matrix44r.h. References opal::defaults::sensor::incline::axis, opal::Quaternion::getAngleAxis(), setRotation(), opal::Vec3r::x, opal::Vec3r::y, and opal::Vec3r::z. |
|
x, y, z - axis can be zero
Definition at line 267 of file Matrix44r.h. References opal::defaults::sensor::incline::axis, opal::Quaternion::getAngleAxis(), setRotation(), opal::Vec3r::x, opal::Vec3r::y, and opal::Vec3r::z. Referenced by opal::Solid::setQuaternion(). |
|
overwrites previous rotations of the matrix
Definition at line 294 of file Matrix44r.h. References getPosition(), and makeRotation(). Referenced by setQuaternion(). |
|
Definition at line 528 of file Matrix44r.h. |
|
Definition at line 461 of file Matrix44r.h. |
|
Definition at line 535 of file Matrix44r.h. |
|
Definition at line 684 of file Matrix44r.h. |
|
Definition at line 70 of file Matrix44r.h. Referenced by getData(), getPosition(), getTranslation(), makeIdentity(), makeZero(), Matrix44r(), opal::operator *(), operator()(), operator==(), operator[](), set(), and setPosition(). |