|
Public Types |
typedef double | value_type |
Public Member Functions |
| Matrixd () |
| Matrixd (const Matrixd &mat) |
| Matrixd (const Matrixf &mat) |
| Matrixd (float const *const ptr) |
| Matrixd (double const *const ptr) |
| Matrixd (const Quat &quat) |
| Matrixd (value_type a00, value_type a01, value_type a02, value_type a03, value_type a10, value_type a11, value_type a12, value_type a13, value_type a20, value_type a21, value_type a22, value_type a23, value_type a30, value_type a31, value_type a32, value_type a33) |
| ~Matrixd () |
int | compare (const Matrixd &m) const |
bool | operator< (const Matrixd &m) const |
bool | operator== (const Matrixd &m) const |
bool | operator!= (const Matrixd &m) const |
value_type & | operator() (int row, int col) |
value_type | operator() (int row, int col) const |
bool | valid () const |
bool | isNaN () const |
Matrixd & | operator= (const Matrixd &rhs) |
Matrixd & | operator= (const Matrixf &other) |
void | set (const Matrixd &rhs) |
void | set (const Matrixf &rhs) |
void | set (float const *const ptr) |
void | set (double const *const ptr) |
void | set (value_type a00, value_type a01, value_type a02, value_type a03, value_type a10, value_type a11, value_type a12, value_type a13, value_type a20, value_type a21, value_type a22, value_type a23, value_type a30, value_type a31, value_type a32, value_type a33) |
void | set (const Quat &q) |
void | get (Quat &q) const |
value_type * | ptr () |
const value_type * | ptr () const |
void | makeIdentity () |
void | makeScale (const Vec3f &) |
void | makeScale (const Vec3d &) |
void | makeScale (value_type, value_type, value_type) |
void | makeTranslate (const Vec3f &) |
void | makeTranslate (const Vec3d &) |
void | makeTranslate (value_type, value_type, value_type) |
void | makeRotate (const Vec3f &from, const Vec3f &to) |
void | makeRotate (const Vec3d &from, const Vec3d &to) |
void | makeRotate (value_type angle, const Vec3f &axis) |
void | makeRotate (value_type angle, const Vec3d &axis) |
void | makeRotate (value_type angle, value_type x, value_type y, value_type z) |
void | makeRotate (const Quat &) |
void | makeRotate (value_type angle1, const Vec3f &axis1, value_type angle2, const Vec3f &axis2, value_type angle3, const Vec3f &axis3) |
void | makeRotate (value_type angle1, const Vec3d &axis1, value_type angle2, const Vec3d &axis2, value_type angle3, const Vec3d &axis3) |
void | makeOrtho (double left, double right, double bottom, double top, double zNear, double zFar) |
| Set to an orthographic projection.
|
bool | getOrtho (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const |
| Get the othogrraphic settings of the orthographic projection matrix.
|
void | makeOrtho2D (double left, double right, double bottom, double top) |
| Set to a 2D orthographic projection.
|
void | makeFrustum (double left, double right, double bottom, double top, double zNear, double zFar) |
| Set to a perspective projection.
|
bool | getFrustum (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const |
| Get the frustum settings of a perspective projection matrix.
|
void | makePerspective (double fovy, double aspectRatio, double zNear, double zFar) |
| Set to a symmetrical perspective projection.
|
bool | getPerspective (double &fovy, double &aspectRatio, double &zNear, double &zFar) const |
| Get the frustum settings of a symmetric perspective projection matrix.
|
void | makeLookAt (const Vec3d &eye, const Vec3d ¢er, const Vec3d &up) |
| Set the position and orientation to be a view matrix, using the same convention as gluLookAt.
|
void | getLookAt (Vec3f &eye, Vec3f ¢er, Vec3f &up, value_type lookDistance=1.0f) const |
| Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt.
|
void | getLookAt (Vec3d &eye, Vec3d ¢er, Vec3d &up, value_type lookDistance=1.0f) const |
| Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt.
|
bool | invert (const Matrixd &rhs) |
| invert the matrix rhs.
|
bool | invert_4x4_orig (const Matrixd &) |
| full 4x4 matrix invert.
|
bool | invert_4x4_new (const Matrixd &) |
| full 4x4 matrix invert.
|
void | orthoNormalize (const Matrixd &rhs) |
| ortho-normalize the 3x3 rotation & scale matrix
|
Vec3f | preMult (const Vec3f &v) const |
Vec3d | preMult (const Vec3d &v) const |
Vec3f | postMult (const Vec3f &v) const |
Vec3d | postMult (const Vec3d &v) const |
Vec3f | operator * (const Vec3f &v) const |
Vec3d | operator * (const Vec3d &v) const |
Vec4f | preMult (const Vec4f &v) const |
Vec4d | preMult (const Vec4d &v) const |
Vec4f | postMult (const Vec4f &v) const |
Vec4d | postMult (const Vec4d &v) const |
Vec4f | operator * (const Vec4f &v) const |
Vec4d | operator * (const Vec4d &v) const |
void | setTrans (value_type tx, value_type ty, value_type tz) |
void | setTrans (const Vec3f &v) |
void | setTrans (const Vec3d &v) |
Vec3d | getTrans () const |
Vec3d | getScale () const |
void | mult (const Matrixd &, const Matrixd &) |
void | preMult (const Matrixd &) |
void | postMult (const Matrixd &) |
void | operator *= (const Matrixd &other) |
Matrixd | operator * (const Matrixd &m) const |
Static Public Member Functions |
Matrixd | identity (void) |
Matrixd | scale (const Vec3f &sv) |
Matrixd | scale (const Vec3d &sv) |
Matrixd | scale (value_type sx, value_type sy, value_type sz) |
Matrixd | translate (const Vec3f &dv) |
Matrixd | translate (const Vec3d &dv) |
Matrixd | translate (value_type x, value_type y, value_type z) |
Matrixd | rotate (const Vec3f &from, const Vec3f &to) |
Matrixd | rotate (const Vec3d &from, const Vec3d &to) |
Matrixd | rotate (value_type angle, value_type x, value_type y, value_type z) |
Matrixd | rotate (value_type angle, const Vec3f &axis) |
Matrixd | rotate (value_type angle, const Vec3d &axis) |
Matrixd | rotate (value_type angle1, const Vec3f &axis1, value_type angle2, const Vec3f &axis2, value_type angle3, const Vec3f &axis3) |
Matrixd | rotate (value_type angle1, const Vec3d &axis1, value_type angle2, const Vec3d &axis2, value_type angle3, const Vec3d &axis3) |
Matrixd | rotate (const Quat &quat) |
Matrixd | inverse (const Matrixd &matrix) |
Matrixd | orthoNormal (const Matrixd &matrix) |
Matrixd | ortho (double left, double right, double bottom, double top, double zNear, double zFar) |
| Create an orthographic projection matrix.
|
Matrixd | ortho2D (double left, double right, double bottom, double top) |
| Create a 2D orthographic projection.
|
Matrixd | frustum (double left, double right, double bottom, double top, double zNear, double zFar) |
| Create a perspective projection.
|
Matrixd | perspective (double fovy, double aspectRatio, double zNear, double zFar) |
| Create a symmetrical perspective projection.
|
Matrixd | lookAt (const Vec3f &eye, const Vec3f ¢er, const Vec3f &up) |
| Create the position and orientation as per a camera, using the same convention as gluLookAt.
|
Matrixd | lookAt (const Vec3d &eye, const Vec3d ¢er, const Vec3d &up) |
| Create the position and orientation as per a camera, using the same convention as gluLookAt.
|
Vec3f | transform3x3 (const Vec3f &v, const Matrixd &m) |
| apply a 3x3 transform of v*M[0..2,0..2].
|
Vec3d | transform3x3 (const Vec3d &v, const Matrixd &m) |
| apply a 3x3 transform of v*M[0..2,0..2].
|
Vec3f | transform3x3 (const Matrixd &m, const Vec3f &v) |
| apply a 3x3 transform of M[0..2,0..2]*v.
|
Vec3d | transform3x3 (const Matrixd &m, const Vec3d &v) |
| apply a 3x3 transform of M[0..2,0..2]*v.
|
Protected Attributes |
value_type | _mat [4][4] |