C++ API Reference
|
A matrix math class for 4x4 matrices of floats. More...
#include <MFloatMatrix.h>
Public Member Functions | |
MFloatMatrix () | |
The default contstructor. More... | |
MFloatMatrix (const MFloatMatrix &src) | |
The copy Constructor. More... | |
MFloatMatrix (const double m[4][4]) | |
Initialize the instance with a 4x4 matrix of doubles. More... | |
MFloatMatrix (const float m[4][4]) | |
Initialize the instance with a 4x4 matrix of floats. More... | |
~MFloatMatrix () | |
The class destructor. | |
MFloatMatrix & | operator= (const MFloatMatrix &) |
The assignment operator. More... | |
float | operator() (unsigned int row, unsigned int col) const |
Index operator. More... | |
const float * | operator[] (unsigned int row) const |
Index operator. More... | |
MStatus | get (double dest[4][4]) const |
Fill a 4x4 matrix of doubles with the elements from the instance. More... | |
MStatus | get (float dest[4][4]) const |
Fill a 4x4 matrix of floats with the elements from the instance. More... | |
MFloatMatrix | transpose () const |
Compute and return the transpose of this instance. More... | |
MFloatMatrix & | setToIdentity () |
Set this instance to the 4x4 identity matrix. More... | |
MFloatMatrix & | setToProduct (const MFloatMatrix &left, const MFloatMatrix &right) |
Set this instance to the inner product of the two argument matrices. More... | |
MFloatMatrix & | operator+= (const MFloatMatrix &right) |
The in place matrix addition operator. More... | |
MFloatMatrix | operator+ (const MFloatMatrix &right) const |
The matrix addition operator. More... | |
MFloatMatrix & | operator-= (const MFloatMatrix &right) |
The in place matrix subtraction operator. More... | |
MFloatMatrix | operator- (const MFloatMatrix &right) const |
The matrix subtraction operator. More... | |
MFloatMatrix & | operator*= (const MFloatMatrix &right) |
The in place matrix multiplication operator. More... | |
MFloatMatrix | operator* (const MFloatMatrix &right) const |
The matrix multiplication operator. More... | |
MFloatMatrix & | operator*= (float) |
The in place matrix multiply by a scalar operator. More... | |
MFloatMatrix | operator* (float) const |
The matrix multiply by a scalar operator. More... | |
bool | operator== (const MFloatMatrix &other) const |
The matrix equality operator. More... | |
bool | operator!= (const MFloatMatrix &other) const |
The matrix inequality operator. More... | |
MFloatMatrix | inverse () const |
Compute and return the inverse of this instance. More... | |
MFloatMatrix | adjoint () const |
Compute and return the adjoint of this instance. More... | |
MFloatMatrix | homogenize () const |
Compute and return a homogenized version of this instance. More... | |
float | det4x4 () const |
Compute and return the determinant of this instance. More... | |
float | det3x3 () const |
Compute and return the determinant of the upper left 3x3 submatrix of this instance. More... | |
bool | isEquivalent (const MFloatMatrix &other, float tolerance=MFloatMatrix_kTol) const |
Determine if the given matrix is equivalent to this instance within the specified tolerance. More... | |
float & | operator() (unsigned int row, unsigned int col) |
NO SCRIPT SUPPORT. More... | |
float * | operator[] (unsigned int row) |
NO SCRIPT SUPPORT. More... | |
Static Public Member Functions | |
static const char * | className () |
Returns the name of this class. More... | |
Public Attributes | |
float | matrix [4][4] |
the matrix data | |
Friends | |
OPENMAYA_EXPORT MFloatMatrix | operator* (float, const MFloatMatrix &right) |
NO SCRIPT SUPPORT. More... | |
OPENMAYA_EXPORT std::ostream & | operator<< (std::ostream &os, const MFloatMatrix &m) |
NO SCRIPT SUPPORT. More... | |
A matrix math class for 4x4 matrices of floats.
This class provides access to Maya's internal matrix math library allowing matrices to be handled easily, and in a manner compatible with internal Maya data structures.
OPENMAYA_MAJOR_NAMESPACE_OPEN MFloatMatrix | ( | ) |
The default contstructor.
The instance is initialized to the 4x4 identity matrix.
MFloatMatrix | ( | const MFloatMatrix & | src | ) |
The copy Constructor.
[in] | src | the instance to copy data from |
MFloatMatrix | ( | const double | src_matrix[4][4] | ) |
Initialize the instance with a 4x4 matrix of doubles.
[in] | src_matrix | a 4x4 matrix of doubles |
MFloatMatrix | ( | const float | src_matrix[4][4] | ) |
Initialize the instance with a 4x4 matrix of floats.
[in] | src_matrix | a 4x4 matrix of floats |
MFloatMatrix & operator= | ( | const MFloatMatrix & | src | ) |
The assignment operator.
[in] | src | The matrix to copy from. |
|
inline |
Index operator.
Given row and column indices, it will return the value at the specified location in the matrix.
[in] | row | index of the row to access |
[in] | col | index of the column to access |
|
inline |
Index operator.
Returns an entire row of the matrix as an array of floats.
[in] | row | index of the row to access |
MStatus get | ( | double | dest[4][4] | ) | const |
Fill a 4x4 matrix of doubles with the elements from the instance.
[out] | dest | the 4x4 matrix of doubles to populate |
MStatus get | ( | float | dest[4][4] | ) | const |
Fill a 4x4 matrix of floats with the elements from the instance.
[out] | dest | The 4x4 matrix of floats to populate. |
MFloatMatrix transpose | ( | ) | const |
Compute and return the transpose of this instance.
MFloatMatrix & setToIdentity | ( | ) |
Set this instance to the 4x4 identity matrix.
MFloatMatrix & setToProduct | ( | const MFloatMatrix & | left, |
const MFloatMatrix & | right | ||
) |
Set this instance to the inner product of the two argument matrices.
[in] | left | The left hand matrix for the operation |
[in] | right | The right hand matrix for the operation |
MFloatMatrix & operator+= | ( | const MFloatMatrix & | right | ) |
The in place matrix addition operator.
[in] | right | Matrix to add. |
MFloatMatrix operator+ | ( | const MFloatMatrix & | right | ) | const |
The matrix addition operator.
[in] | right | Matrix to add. |
MFloatMatrix & operator-= | ( | const MFloatMatrix & | right | ) |
The in place matrix subtraction operator.
[in] | right | Matrix to subtract. |
MFloatMatrix operator- | ( | const MFloatMatrix & | right | ) | const |
The matrix subtraction operator.
[in] | right | Matrix to subtract. |
MFloatMatrix & operator*= | ( | const MFloatMatrix & | right | ) |
The in place matrix multiplication operator.
[in] | right | Matrix to multiply. |
MFloatMatrix operator* | ( | const MFloatMatrix & | right | ) | const |
The matrix multiplication operator.
[in] | right | Matrix to multiply. |
MFloatMatrix & operator*= | ( | float | factor | ) |
The in place matrix multiply by a scalar operator.
[in] | factor | scaling factor. |
MFloatMatrix operator* | ( | float | factor | ) | const |
The matrix multiply by a scalar operator.
[in] | factor | Scaling factor. |
bool operator== | ( | const MFloatMatrix & | other | ) | const |
The matrix equality operator.
[in] | other | Matrix to test with. |
bool operator!= | ( | const MFloatMatrix & | other | ) | const |
The matrix inequality operator.
[in] | other | Matrix to test with. |
MFloatMatrix inverse | ( | ) | const |
Compute and return the inverse of this instance.
MFloatMatrix adjoint | ( | ) | const |
Compute and return the adjoint of this instance.
MFloatMatrix homogenize | ( | ) | const |
Compute and return a homogenized version of this instance.
float det4x4 | ( | ) | const |
Compute and return the determinant of this instance.
float det3x3 | ( | ) | const |
Compute and return the determinant of the upper left 3x3 submatrix of this instance.
bool isEquivalent | ( | const MFloatMatrix & | other, |
float | tolerance = MFloatMatrix_kTol |
||
) | const |
Determine if the given matrix is equivalent to this instance within the specified tolerance.
[in] | other | the matrix to compare to |
[in] | tolerance | the tolerance to use during the comparison |
|
inline |
NO SCRIPT SUPPORT.
Index operator.
Given row and column indices, it will return the value at the specified location in the matrix.
[in] | row | index of the row to access |
[in] | col | index of the column to access |
|
inline |
NO SCRIPT SUPPORT.
Index operator.
Returns an entire row of the matrix as an array of floats.
[in] | row | index of the row to access |
|
static |
Returns the name of this class.
|
friend |
NO SCRIPT SUPPORT.
[in] | factor | Scaling factor. |
[in] | right | Matrix to multiply. |
|
friend |
NO SCRIPT SUPPORT.
The format used is [[r11, r12, r13, r14] [r21, r22, r23, r24] [r31, r32, r33, r34] [r41, r42, r43, r44]].
[in] | os | the ostream to print to |
[in] | m | the MFloatMatrix whose value is to be printed |