Inheritance diagram for mini3d::matrix4d:
Public Member Functions | |
matrix4d () | |
A default constructor. | |
matrix4d (const matrix<double, 4, 4>& src) | |
A copy constructor from base class. | |
matrix4d (const matrix4d& src) | |
A copy constructor. | |
matrix4d (double m[16]) | |
A constructor. | |
matrix4d (double m[4][4]) | |
A constructor. | |
matrix4d (double m0, double m1, double m2, double m3, double m4, double m5, double m6, double m7, double m8, double m9, double m10, double m11, double m12, double m13, double m14, double m15) | |
A constructor. | |
virtual | ~matrix4d () |
A destructor. | |
array16d | data () const |
Get the data as a double array (row major). | |
array16d | dataGL () const |
Get the data as a double array (column major, for OpenGL rendering). | |
matrix4d | operator* (const matrix4d& m) const |
Multiply the matrix with a matrix and return the new matrix. | |
point3d | operator* (const point3d& pt) const |
Multiply the matrix with a point and return the new point. | |
point4d | operator* (const point4d& pt) const |
Multiply the matrix with a point and return the new point. | |
vector3d | operator* (const vector3d& v) const |
Multiply the matrix with a vector and return the new vector. | |
matrix4d& | operator= (const matrix<double, 4, 4>& src) |
Copy from the base class. | |
void | makeRotate (const quat4d& q) |
Make a transformation for rotation. | |
void | makeRotate (const matrix3d& m) |
Make a transformation for rotation. | |
void | makeRotate (double rad, const vector3d& axis) |
Make a transformation for rotation. | |
void | makeTranslate (const point3d& v) |
Make a transformation for translation. | |
void | makeTranslate (const vector3d& v) |
Make a transformation for translation. | |
void | makeTranslate (const array3d& v) |
Make a transformation for translation. | |
void | makeTranslate (double x, double y, double z) |
Make a transformation for translation. | |
void | makeScale (const vector3d& s) |
Make a transformation for scaling. | |
void | makeScale (double x, double y, double z) |
Make a transformation for scaling. | |
void | getRotate (matrix3d& m) const |
Get the 3x3 rotation matrix. | |
void | getRotate (quat4d& q) const |
Get the quaternion. | |
void | getRotateYZX (vector3d& e) const |
Get the Euler angles in YZX order (body frame). | |
void | getRotateXYZ (vector3d& e) const |
Get the Euler angles in XYZ order (body frame). | |
void | getRotateXYZf (vector3d& e) const |
Get the Euler angles in XYZ order (fixed frame). | |
void | getTranslate (point3d& p) const |
Get the translation (Assuming that m(3,3) = 1). | |
void | getTranslate (vector3d& v) const |
Get the translation (Assuming that m(3,3) = 1). | |
void | getTranslate (double& x, double& y, double& z) const |
Get the translation (Assuming that m(3,3) = 1). | |
void | getScale (vector3d& s) const |
Get the scaling (Assuming that m(3,3) = 1). | |
void | getScale (double& x, double& y, double& z) const |
Get the scaling (Assuming that m(3,3) = 1). | |
bool | invert () |
Invert itself. | |
bool | inverse (matrix4d& inv) const |
Return the inverse of this matrix. | |
matrix4d | transpose () const |
Get a transpose of this matrix. | |
Static Public Attributes | |
static const matrix4d | _identity_matrix |
static const matrix4d | _zero_matrix |
The matrix is row major
[ m0, m1, m2, m3 ]
[ m4, m5, m6, m7 ]
[ m8, m9, m10, m11 ]
[ m12, m13, m14, m15 ]
{ m0, m1, m2, m3, ... , m12, m13, m14, m15 }
|
A default constructor. The matrix will set as a zero matrix. |
|
A copy constructor from base class.
|
|
A copy constructor.
|
|
A constructor.
The matrix will set as
|
|
A constructor.
The matrix will set as
|
|
A constructor.
The matrix will set as |
|
A destructor.
|
|
Get the data as a double array (row major).
|
|
Get the data as a double array (column major, for OpenGL rendering).
|
|
Get the quaternion.
|
|
Get the 3x3 rotation matrix.
|
|
Get the Euler angles in XYZ order (body frame).
|
|
Get the Euler angles in XYZ order (fixed frame).
|
|
Get the Euler angles in YZX order (body frame).
|
|
Get the scaling (Assuming that m(3,3) = 1).
|
|
Get the scaling (Assuming that m(3,3) = 1).
|
|
Get the translation (Assuming that m(3,3) = 1).
|
|
Get the translation (Assuming that m(3,3) = 1).
|
|
Get the translation (Assuming that m(3,3) = 1).
|
|
Return the inverse of this matrix.
|
|
Invert itself.
|
|
Make a transformation for rotation.
|
|
Make a transformation for rotation.
|
|
Make a transformation for rotation.
|
|
Make a transformation for scaling.
|
|
Make a transformation for scaling.
|
|
Make a transformation for translation.
|
|
Make a transformation for translation.
|
|
Make a transformation for translation.
|
|
Make a transformation for translation.
|
|
Multiply the matrix with a vector and return the new vector. result = (*this) * v;
|
|
Multiply the matrix with a point and return the new point. result = (*this) * pt;
|
|
Multiply the matrix with a point and return the new point. result = (*this) * pt;
|
|
Multiply the matrix with a matrix and return the new matrix. result = (*this) * m;
|
|
Copy from the base class.
|
|
Get a transpose of this matrix.
Reimplemented from mini3d::matrix<double, 4, 4>. |
|
|
|
|