#include <CMat4D.h>
Public Methods | |
CMat4D (void) | |
CMat4D (const CV4D &, const CV4D &, const CV4D &, const CV4D &) | |
CMat4D (const double *) | |
CMat4D (double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double) | |
CMat4D (const CMat4D &) | |
~CMat4D (void) | |
const CMat4D & | operator= (const CMat4D &) |
const CMat4D & | operator= (const double a) |
CMat4D & | operator+= (const CMat4D &m) |
CMat4D & | operator-= (const CMat4D &m) |
CMat4D & | operator *= (const CMat4D &) |
CMat4D | operator+ (const CMat4D &) const |
CMat4D | operator- (const CMat4D &) const |
CMat4D | operator * (const CMat4D &m) const |
CMat4D | operator * (double scalar) const |
bool | operator== (const CMat4D &m) const |
bool | operator!= (const CMat4D &m) const |
double | operator() (int i, int j) const |
CV4D | operator[] (int i) const |
CV4D | operator() (int j) const |
const double * | getArray () |
void | clear (void) |
void | setValues (double *field) |
double | getCoeff (int i, int j) const |
void | setCoeff (int i, int j, double value) |
CMat4D | getTransposed (void) const |
CMat4D | getInverted (void) const |
bool | invert (void) |
void | transpose (void) |
void | print (void) |
void | setIdentity (void) |
CV4D | getRow (int) |
CV4D | getCol (int) |
void | setRow (int nRow, const CV4D &) |
void | setCol (int nCol, const CV4D &) |
void | setRows (const CV4D &, const CV4D &, const CV4D &, const CV4D &) |
void | setCols (const CV4D &, const CV4D &, const CV4D &, const CV4D &) |
void | setScaling (const CV4D &) |
void | setScaling (const CV3D &) |
void | setScaling (double, double, double) |
void | setTranslation (const CV4D &) |
void | setTranslation (const CV3D &) |
void | setTranslation (double, double, double) |
void | setRotation (CV4D &, double) |
void | setRotation (CV3D &, double) |
void | setRotation (CQuat &) |
Static Public Methods | |
CMat4D | PIdentity (void) |
CMat4D | PTranslate (const CV4D &) |
CMat4D | PTranslate (const CV3D &) |
CMat4D | PTranslate (double, double, double) |
CMat4D | PScale (const CV4D &) |
CMat4D | PScale (const CV3D &) |
CMat4D | PScale (double, double, double) |
CMat4D | PRotate (const CV4D &, double) |
CMat4D | PRotate (const CV3D &, double) |
CMat4D | PRotate (CQuat &) |
Private Methods | |
double * | get1DField (void) |
double ** | get2DField (void) |
Private Attributes | |
double | m_ardValues [16] |
Friends | |
CV4D | operator * (const CMat4D &, const CV4D &) |
CP4D | operator * (const CMat4D &, const CP4D &) |
CMat4D | operator * (double, const CMat4D &) |
CMat4D | operator * (const CMat4D &M, double rdFactor) |
ostream & | operator<< (ostream &s, const CMat4D &m) |
Note: CMat4D objects are handled in classic mathematical manner, i.e. to "transform a vector" multiply it like Tv - i.e. we have column vectors multiplied from the right side. [richi]
|
Default Constructor. |
|
Construct new matrix with the values passed by the vectors. The values of 'col1' are put in the first column, the values of 'col2' are put to the second column and so on. |
|
Construct new matrix with the values passed in '*field'. The first four values of the array passed by 'field' are stored in the first column of the matrix and so on. |
|
Construct new matrix with values passed in [] order. |
|
Copy constructor. |
|
Default Destructor. |
|
Construtor for identity matrix. |
|
Construtor generating identity matrix with rotation defined by the quaternion. |
|
Construtor generating identity matrix with rotation around an axis by a certain angle in rad. |
|
Construtor generating identity matrix with rotation around an axis by a certain angle in rad. Please note that only x, y, and z of the vector are used, w is omitted. |
|
Construtor generating identity matrix with scaling by a vector. |
|
Construtor generating identity matrix with scaling by a vector. |
|
Construtor generating identity matrix with scaling by a vector. Please note, only x, y, and z of the vector are used. W is omitted. |
|
Construtor generating identity matrix with a translatation by a vector. |
|
Construtor generating identity matrix with a translatation by a vector. |
|
Construtor generating identity matrix with a translatation by a vector. Please note, only x, y, and z of the vector are used. W is omitted. |
|
Initialize the matrix with 0. |
|
Returns a one dimensional array of the matrix elements. |
|
Returns a two dimensional array of the matrix elements. |
|
Returns the pointer to the array of the matrix. |
|
Returns the element in the i-th row and j-th coloumn. |
|
Returns the column of the matrix (0 through 3). |
|
|
|
Returns the row of the matrix (0 through 3). |
|
Tranpose the matrix. |
|
invert this matrix |
|
Multiplication of a matrix with a scalar. |
|
Multiplication of a matrix (this) with another matrix. |
|
Multiplication of a matrix with this matrix. |
|
boolean operator ( NOT EQUAL ) |
|
Returns the j-th column of the matrix. |
|
Returns the element in the i-th row and j-th coloumn. |
|
Addition of two matrices. |
|
Add matrix to this matrix |
|
Subtraction of two matrices. |
|
|
|
Set the diagonal to the passed value. |
|
Assign one matrix to another. |
|
boolean operator ( EQUAL ) |
|
Returns the i-th row of the matrix. |
|
Print the matrix to standard output. |
|
Sets the element in the i-th row and j-th coloumn. |
|
Sets the specified column of the matrix with the given vector. |
|
Sets all four columns of the matrix with the given vectors. |
|
Set matrix to identity. |
|
Rotates using the given quaternion. |
|
Rotates around an axis by a certain angle. |
|
Rotates around an axis by a certain angle. |
|
Sets the specified row of the matrix with the given vector. |
|
Sets all four rows of the matrix with the given vectors. |
|
Sets the scaling of the matrix (diagonal elements). Note Before this, the matrix is cleard and afterwards, the fourth diagonal element is set to 1!!! |
|
Sets the scaling of the matrix (diagonal elements). Note Before this, the matrix is cleard and afterwards, the fourth diagonal element is set to 1!!! |
|
Sets the scaling of the matrix (diagonal elements). Note Before this, the matrix is cleard and afterwards, the fourth diagonal element is set to 1!!! |
|
Sets the scaling of the matrix (diagonal elements). Note Before this, the matrix is cleard and afterwards, the fourth element in the last row is set to 1!!! |
|
Sets the scaling of the matrix (diagonal elements). Note Before this, the matrix is cleard and afterwards, the fourth element in the last row is set to 1!!! |
|
Sets the scaling of the matrix (diagonal elements). Note Before this, the matrix is cleard and afterwards, the fourth element in the last row is set to 1!!! |
|
Set the coefficient of the matrix to the values given in *field. The first four values of the array passed by 'field' are stored in the first column of the matrix and so on. |
|
transpose this matrix |
|
Multiplication of a scalar with a matrix. |
|
Multiplication of a matrix with a scalar. |
|
Multiplication of a matrix with a point. |
|
Multiplication of a matrix with a vector. |
|
Print the matrix to output stream. |
|
|