This reference page is linked to from the following overview topics: カスタム トランスフォームの概要, スレッド化と Maya.
A matrix math class for 4x4 matrices of doubles.
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.
All methods that query the matrix are threadsafe, all methods that modify the matrix are not threadsafe.
apiMeshShape.cpp, apiMeshShape.h, apiMeshShapeUI.cpp, apiSimpleShapeUI.cpp, cgfxAttrDef.cpp, cgfxAttrDef.h, cgfxShaderNode.cpp, cgfxVector.cpp, closestPointCmd.cpp, closestPointOnNurbsSurfaceCmd.cpp, cvColorNode.cpp, D3DViewportRenderer.cpp, D3DViewportRenderer.h, dagPoseInfoCmd.cpp, GLSLShaderNode.cpp, hlslShader.cpp, hwAnisotropicShader_NV20.cpp, hwReflectBumpShader_NV20.cpp, hwReflectBumpShader_NV20.h, hwRefractReflectShader_NV20.cpp, hwToonShader_NV20.cpp, instancerListCmd.cpp, intersectOnNurbsSurfaceCmd.cpp, meshRemapTool.cpp, offsetNode.cpp, OpenGLViewportRenderer.cpp, ownerEmitter.cpp, rockingTransform.cpp, rockingTransform.h, sampleCmd.cpp, sampleParticles.cpp, simpleEmitter.cpp, simpleFluidEmitter.cpp, simpleFluidEmitter.h, squareScaleManipContext.cpp, surfaceTwist.cpp, surfaceTwistCmd.cpp, sweptEmitter.cpp, torusField.cpp, and yTwistNode.cpp.
#include <MMatrix.h>
Public Member Functions |
|
MMatrix () | |
The default contstructor. |
|
MMatrix (const MMatrix &src) | |
The copy Constructor. |
|
MMatrix (const double m[4][4]) | |
Initialize the instance with a 4x4 matrix of
doubles. |
|
MMatrix (const float m[4][4]) | |
Initialize the instance with a 4x4 matrix of
floats. |
|
~MMatrix () | |
The class destructor. |
|
MMatrix & | operator= (const MMatrix &) |
The assignment operator. |
|
double | operator() (unsigned int row, unsigned int col) const |
Index operator. |
|
const double * | operator[] (unsigned int row) const |
Index operator. |
|
MStatus | get (double dest[4][4]) const |
Fill a 4x4 matrix of doubles with the
elements from the instance. |
|
MStatus | get (float dest[4][4]) const |
Fill a 4x4 matrix of floats with the
elements from the instance. |
|
MMatrix | transpose () const |
Compute and return the transpose of this
instance. |
|
MMatrix & | setToIdentity () |
Set this instance to the 4x4 identity
matrix. |
|
MMatrix & | setToProduct (const MMatrix &left, const MMatrix &right) |
Set this instance to the inner product of
the two argument matrices. |
|
MMatrix & | operator+= (const MMatrix &right) |
The in place matrix addition operator.
|
|
MMatrix | operator+ (const MMatrix &right) const |
The matrix addition operator. |
|
MMatrix & | operator-= (const MMatrix &right) |
The in place matrix subtraction operator.
|
|
MMatrix | operator- (const MMatrix &right) const |
The matrix subtraction operator. |
|
MMatrix & | operator*= (const MMatrix &right) |
The in place matrix multiplication operator.
|
|
MMatrix | operator* (const MMatrix &right) const |
The matrix multiplication operator. |
|
MMatrix & | operator*= (double) |
The in place matrix multiply by a scalar
operator. |
|
MMatrix | operator* (double) const |
The matrix multiply by a scalar operator.
|
|
bool | operator== (const MMatrix &other) const |
The matrix equality operator. |
|
bool | operator!= (const MMatrix &other) const |
The matrix inequality operator. |
|
MMatrix | inverse () const |
Compute and return the inverse of this
instance. |
|
MMatrix | adjoint () const |
Compute and return the adjoint of this
instance. |
|
MMatrix | homogenize () const |
Compute and return a homogenized version of
this instance. |
|
double | det4x4 () const |
Compute and return the determinant of this
instance. |
|
double | det3x3 () const |
Compute and return the determinant of the
upper left 3x3 submatrix of this instance. |
|
bool | isEquivalent (const MMatrix &other, double tolerance=MMatrix_kTol) const |
Determine if the given matrix is equivalent
to this instance within the specified tolerance. |
|
bool | isSingular () const |
Determines if the given matrix is singular.
|
|
double & | operator() (unsigned int row, unsigned int col) |
NO SCRIPT SUPPORT. |
|
double * | operator[] (unsigned int row) |
NO SCRIPT SUPPORT. |
|
Static Public Member Functions |
|
static const char * | className () |
Returns the name of this class. |
|
Public Attributes |
|
double | matrix [4][4] |
The matrix data. |
|
Static Public Attributes |
|
static const MMatrix | identity |
The identity matrix. |
|
Friends |
|
OPENMAYA_EXPORT MMatrix | operator* (double, const MMatrix &right) |
NO SCRIPT SUPPORT. |
|
OPENMAYA_EXPORT std::ostream & | operator<< (std::ostream &os, const MMatrix &m) |
NO SCRIPT SUPPORT. |
MMatrix | ( | ) |
The default contstructor.
The instance is initialized to the 4x4 identity matrix.
MMatrix | ( | const double | src_matrix[4][4] | ) |
Initialize the instance with a 4x4 matrix of doubles.
[in] | src_matrix | 4x4 matrix of doubles |
MMatrix | ( | const float | src_matrix[4][4] | ) |
Initialize the instance with a 4x4 matrix of floats.
[in] | src_matrix | 4x4 matrix of floats |
The assignment operator.
[in] | src | Matrix whose value will be assigned to this one. |
double operator() | ( | unsigned int | row, |
unsigned int | col | ||
) | const [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 |
const double * operator[] | ( | unsigned int | row | ) | const [inline] |
Index operator.
Returns an entire row of the matrix as an array of doubles.
[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 | 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 | 4x4 matrix of floats to populate |
MMatrix transpose | ( | ) | const |
Compute and return the transpose of this instance.
MMatrix & setToIdentity | ( | ) |
Set this instance to the 4x4 identity matrix.
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 |
The in place matrix addition operator.
Modifies this matrix.
[in] | right | Matrix to add. |
The matrix addition operator.
Does not modify this matrix.
[in] | right | Matrix to add to this one. |
The in place matrix subtraction operator.
Modifies this matrix.
[in] | right | Matrix to add to this one. |
The matrix subtraction operator.
Does not modify this matrix.
[in] | right | Matrix to subtract from this one. |
The in place matrix multiplication operator.
Modifies this matrix.
[in] | right | Matrix to multiply this one by. |
The matrix multiplication operator.
Does not modify this matrix.
[in] | right | Matrix to multiply this one by. |
MMatrix & operator*= | ( | double | factor | ) |
The in place matrix multiply by a scalar operator.
Modifies this matrix.
[in] | factor | Scalar to multiply this matrix by. |
MMatrix operator* | ( | double | factor | ) | const |
The matrix multiply by a scalar operator.
Does not modify this matrix.
[in] | factor | Scalar to multiply this matrix by. |
bool operator== | ( | const MMatrix & | other | ) | const |
The matrix equality operator.
The matrices must be identical.
[in] | other | Matrix to compare against. |
bool operator!= | ( | const MMatrix & | other | ) | const |
The matrix inequality operator.
[in] | other | Matrix to compare against. |
MMatrix inverse | ( | ) | const |
Compute and return the inverse of this instance.
MMatrix adjoint | ( | ) | const |
Compute and return the adjoint of this instance.
MMatrix homogenize | ( | ) | const |
Compute and return a homogenized version of this instance.
double det4x4 | ( | ) | const |
Compute and return the determinant of this instance.
double det3x3 | ( | ) | const |
Compute and return the determinant of the upper left 3x3 submatrix of this instance.
bool isEquivalent | ( | const MMatrix & | other, |
double | tolerance =
MMatrix_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 |
bool isSingular | ( | ) | const |
Determines if the given matrix is singular.
double & operator() | ( | unsigned int | row, |
unsigned int | col | ||
) | [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 |
double * operator[] | ( | unsigned int | row | ) | [inline] |
NO SCRIPT SUPPORT.
Index operator.
Returns an entire row of the matrix as an array of doubles.
[in] | row | index of the row to access |
const char * className | ( | ) | [static] |
NO SCRIPT SUPPORT.
Does not modify this matrix.
[in] | factor | Scalar to multiply this matrix by. |
[in] | right | This matrix. |
OPENMAYA_EXPORT std::ostream& operator<< | ( | std::ostream & | os, |
const MMatrix & | m | ||
) | [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 MMatrix whose value is to be printed |