class MMatrix

Jump to documentation

A matrix math class for 4x4 matrices of doubles. (OpenMaya) (OpenMaya.py)

public members:

MMatrix ()
MMatrix ( const MMatrix & src )
MMatrix ( const double m[4][4] )
MMatrix ( const float m[4][4] )
~MMatrix ()
MMatrix & operator = (const MMatrix &)
double operator() (unsigned int row, unsigned int col ) const
const double* operator[] ( unsigned int row ) const
MStatus get ( double dest[4][4] ) const
MStatus get ( float dest[4][4] ) const
MMatrix transpose () const
MMatrix & setToIdentity ()
MMatrix & setToProduct ( const MMatrix & left, const MMatrix & right )
MMatrix & operator+= ( const MMatrix & right )
MMatrix operator+ ( const MMatrix & right ) const
MMatrix & operator-= ( const MMatrix & right )
MMatrix operator- ( const MMatrix & right ) const
MMatrix & operator*= ( const MMatrix & right )
MMatrix operator* ( const MMatrix & right ) const
MMatrix & operator*= ( double )
MMatrix operator* ( double ) const
bool operator== ( const MMatrix & other ) const
bool operator!= ( const MMatrix & other ) const
MMatrix inverse () const
MMatrix adjoint () const
MMatrix homogenize () const
double det4x4 () const
double det3x3 () const
bool isEquivalent ( const MMatrix & other, double tolerance = MMatrix_kTol ) const
bool isSingular () const
double& operator() (unsigned int row, unsigned int col )
NO SCRIPT SUPPORT
double* operator[] ( unsigned int row )
NO SCRIPT SUPPORT
friend MMatrix operator* ( double, const MMatrix & right )
NO SCRIPT SUPPORT
friend std::ostream& operator<< (std::ostream& os, const MMatrix & m)
NO SCRIPT SUPPORT
double matrix[4][4]
the matrix data
static const MMatrix identity

Documentation

This class provides access to Maya's matrix math library
Description

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.

Functions

MMatrix:: MMatrix ()

Description

The default contstructor. The instance is initialized to the 4x4 identity matrix.

MMatrix:: MMatrix (const MMatrix & src)

Description

The copy Constructor.

Arguments

  • src the instance to copy data from

MMatrix:: MMatrix (const double src_matrix[4][4] )

Description

Initialize the instance with a 4x4 matrix of doubles

Arguments

  • src_matrix a 4x4 matrix of doubles

MMatrix:: MMatrix (const float src_matrix[4][4] )

Description

Initialize the instance with a 4x4 matrix of floats

Arguments

  • src_matrix a 4x4 matrix of floats

MMatrix:: ~MMatrix ()

Description

The class destructor.

MMatrix & MMatrix:: operator= (const MMatrix & src)

Description

The assignment operator.

MStatus MMatrix:: get ( double dest[4][4] ) const

Description

Fill a 4x4 matrix of doubles with the elements from the instance.

Arguments

  • src_matrix the 4x4 matrix of doubles to populate

Returns

  • MS::kSuccess when success, MS::kFailure otherwise

MStatus MMatrix:: get ( float dest[4][4] ) const

Description

Fill a 4x4 matrix of floats with the elements from the instance.

Arguments

  • src_matrix the 4x4 matrix of floats to populate

Returns

  • MS::kSuccess when success, MS::kFailure otherwise

MMatrix & MMatrix:: setToIdentity ()

Description

Set this instance to the 4x4 identity matrix.

MMatrix & MMatrix:: setToProduct (const MMatrix & left, const MMatrix & right)

Description

Set this instance to the inner product of the two argument matrices.

Arguments

  • left the left hand matrix for the operation
  • right the right hand matrix for the operation

MMatrix & MMatrix:: operator+= (const MMatrix & right)

Description

The in place matrix addition operator.

MMatrix MMatrix:: operator+ (const MMatrix & right) const

Description

The matrix addition operator.

MMatrix & MMatrix:: operator-= (const MMatrix & right)

Description

The in place matrix subtraction operator.

MMatrix MMatrix:: operator- (const MMatrix & right) const

Description

The matrix subtraction operator.

MMatrix & MMatrix:: operator*= (const MMatrix & right)

Description

The in place matrix multiplication operator.

MMatrix MMatrix:: operator* (const MMatrix & right) const

Description

The matrix multiplication operator.

MMatrix & MMatrix:: operator*= (double factor)

Description

The in place matrix multiply by a scalar operator.

MMatrix MMatrix:: operator* (double factor) const

Description

The matrix multiply by a scalar operator.

MMatrix operator* (double factor, const MMatrix & right )

Description

The multiplication operator that allows the scalar value to preceed the matrix.

bool MMatrix:: operator== (const MMatrix & other) const

Description

The matrix equality operator. The matrices must be identical.

bool MMatrix:: operator!= (const MMatrix & other) const

Description

The matrix inequality operator.

MMatrix MMatrix:: inverse () const

Description

Compute and return the inverse of this instance.

Return Value

  • the inverted matrix

MMatrix MMatrix:: transpose () const

Description

Compute and return the transpose of this instance.

Return Value

  • the transposed matrix

MMatrix MMatrix:: adjoint () const

Description

Compute and return the adjoint of this instance.

Return Value

  • the adjoint of this matrix

MMatrix MMatrix:: homogenize () const

Description

Compute and return a homogenized version of this instance.

Return Value

  • the homogenized matrix

double MMatrix:: det3x3 () const

Description

Compute and return the determinant of the upper left 3x3 submatrix of this instance

Return Value

  • the determinant

double MMatrix:: det4x4 () const

Description

Compute and return the determinant of this instance

Return Value

  • the determinant

bool MMatrix:: isEquivalent (const MMatrix & other, double tolerance) const

Description

Determine if the given matrix is equivalent to this instance within the specified tolerance.

Arguments

  • other the matrix to compare to
  • tolerance the tolerance to use during the comparison

Return Value

  • true if the matrices are equivalent and false otherwise

bool MMatrix:: isSingular () const

Description

Determines if the given matrix is singular.

Arguments

Return Value

  • true if the matrix is singular and false otherwise

std::ostream& operator<< ( std::ostream& os, const MMatrix & m )

Description

Print the contents of the given MMatrix on the given ostream. The format used is [[r11, r12, r13, r14] [r21, r22, r23, r24] [r31, r32, r33, r34] [r41, r42, r43, r44]].

Arguments

  • s the ostream to print to
  • str the MMatrix whose value is to be printed

Return Value

  • the ostream reference, s, provided as the first parameter.

double& MMatrix:: operator() (unsigned int row, unsigned int col )

Description

Index operator. Given row and column indices, it will return the value at the specified location in the matrix.

Arguments

  • row index of the row to access
  • col index of the column to access

Return Value

  • the value at the specified location in the matrix.

double MMatrix:: operator() (unsigned int row, unsigned int col ) const

Description

Index operator. Given row and column indices, it will return the value at the specified location in the matrix.

Arguments

  • row index of the row to access
  • col index of the column to access

Return Value

  • the value at the specified location in the matrix.

double* MMatrix:: operator[] (unsigned int row)

Description

Index operator. Returns an entire row of the matrix as an array of doubles.

Arguments

  • row index of the row to access

Return Value

  • double array containing the values of the specified row

const double* MMatrix:: operator[] (unsigned int row) const

Description

Index operator. Returns an entire row of the matrix as an array of doubles.

Arguments

  • row index of the row to access

Return Value

  • double array containing the values of the specified row

This class has no child classes.


Autodesk® Maya® 2008 © 1997-2007 Autodesk, Inc. All rights reserved. doc++ Copyright