- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Public Attributes | Friends

# MFloatMatrix Class Reference

# OpenMaya - API module for common classes

Search for all occurrences

## Detailed Description

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.

Examples:

  animInfoCmd.cpp, anisotropicShader.cpp, cellShader.cpp, cgfxShaderNode.cpp, D3DResourceManager.cpp, flameShader.cpp, footPrintNode.cpp, hwColorPerVertexShader.cpp, hwPhongShader.cpp, lavaShader.cpp, noiseShader.cpp, sampleCmd.cpp, sampleParticles.cpp, slopeShaderNode.cpp, and solidCheckerShader.cpp.

`#include <MFloatMatrix.h>`

List of all members.

## Public Member Functions
| MFloatMatrix ()
| The default contstructor.
| MFloatMatrix (const MFloatMatrix &src)
| The copy Constructor.
| MFloatMatrix (const double m[4][4])
| Initialize the instance with a 4x4 matrix of doubles.
| MFloatMatrix (const float m[4][4])
| Initialize the instance with a 4x4 matrix of floats.
| ~MFloatMatrix ()
| The class destructor.
MFloatMatrix & | operator= (const MFloatMatrix &)
| The assignment operator.
float | operator() (unsigned int row, unsigned int col) const
| Index operator.
const float * | 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.
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.
MFloatMatrix & | operator+= (const MFloatMatrix &right)
| The in place matrix addition operator.
MFloatMatrix | operator+ (const MFloatMatrix &right) const
| The matrix addition operator.
MFloatMatrix & | operator-= (const MFloatMatrix &right)
| The in place matrix subtraction operator.
MFloatMatrix | operator- (const MFloatMatrix &right) const
| The matrix subtraction operator.
MFloatMatrix & | operator*= (const MFloatMatrix &right)
| The in place matrix multiplication operator.
MFloatMatrix | operator* (const MFloatMatrix &right) const
| The matrix multiplication operator.
MFloatMatrix & | operator*= (float)
| The in place matrix multiply by a scalar operator.
MFloatMatrix | operator* (float) const
| The matrix multiply by a scalar operator.
bool | operator== (const MFloatMatrix &other) const
| The matrix equality operator.
bool | operator!= (const MFloatMatrix &other) const
| The matrix inequality operator.
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.
float & | operator() (unsigned int row, unsigned int col)
| NO SCRIPT SUPPORT.
float * | operator[] (unsigned int row)
| NO SCRIPT SUPPORT.
## Static Public Member Functions
static const char * | className ()
| Returns the name of this class.
## Public Attributes
float | matrix [4][4]
| the matrix data
## Friends
OPENMAYA_EXPORT MFloatMatrix | operator* (float, const MFloatMatrix &right)
| NO SCRIPT SUPPORT.
OPENMAYA_EXPORT std::ostream & | operator<< (std::ostream &os, const MFloatMatrix &m)
| NO SCRIPT SUPPORT. Search for all occurrences

## Constructor & Destructor Documentation

MFloatMatrix | ( |  | ) |

The default contstructor.

The instance is initialized to the 4x4 identity matrix.

MFloatMatrix | ( | const MFloatMatrix & | src | ) |

The copy Constructor.

Parameters:

  [in] | src | the instance to copy data from

MFloatMatrix | ( | const double | src_matrix[4][4] | ) |

Initialize the instance with a 4x4 matrix of doubles.

Parameters:

  [in] | src_matrix | a 4x4 matrix of doubles

MFloatMatrix | ( | const float | src_matrix[4][4] | ) |

Initialize the instance with a 4x4 matrix of floats.

Parameters:

  [in] | src_matrix | a 4x4 matrix of floats

## Member Function Documentation

MFloatMatrix & operator= | ( | const MFloatMatrix & | src | ) |

The assignment operator.

Parameters:

  [in] | src | The matrix to copy from.

Returns:
  A reference to this matrix.

float 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.

Parameters:

  [in] | row | index of the row to access
  [in] | col | index of the column to access

Returns:
  - the value at the specified location in the matrix.

const float * operator[] | ( | unsigned int | row | ) | const `[inline]`

Index operator.

Returns an entire row of the matrix as an array of floats.

Parameters:

  [in] | row | index of the row to access

Returns:
  - float array containing the values of the specified row

MStatus get | ( | double | dest[4][4] | ) | const

Search for all occurrences

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

Parameters:

  [out] | dest | the 4x4 matrix of doubles to populate

Returns:
  MS::kSuccess if successful and MS::kFailure otherwise.

Examples:
  cgfxShaderNode.cpp.

MStatus get | ( | float | dest[4][4] | ) | const

Search for all occurrences

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

Parameters:

  [out] | dest | The 4x4 matrix of floats to populate.

Returns:
  MS::kSuccess if successful and MS::kFailure otherwise.

MFloatMatrix transpose | ( |  | ) | const

Search for all occurrences

Compute and return the transpose of this instance.

Returns:
  The transposed matrix

MFloatMatrix & setToIdentity | ( |  | ) |

Search for all occurrences

Set this instance to the 4x4 identity matrix.

Returns:
  A reference to this matrix.

MFloatMatrix & setToProduct | ( | const MFloatMatrix & | left,
|  | const MFloatMatrix & | right
| ) |  |

Search for all occurrences

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

Parameters:

  [in] | left | The left hand matrix for the operation
  [in] | right | The right hand matrix for the operation

Returns:
  A reference to the result.

MFloatMatrix & operator+= | ( | const MFloatMatrix & | right | ) |

The in place matrix addition operator.

Parameters:

  [in] | right | Matrix to add.

Returns:
  A reference to the result.

MFloatMatrix operator+ | ( | const MFloatMatrix & | right | ) | const

The matrix addition operator.

Parameters:

  [in] | right | Matrix to add.

Returns:
  Sum of both matrices.

MFloatMatrix & operator-= | ( | const MFloatMatrix & | right | ) |

The in place matrix subtraction operator.

Parameters:

  [in] | right | Matrix to subtract.

Returns:
  A reference to the result.

MFloatMatrix operator- | ( | const MFloatMatrix & | right | ) | const

The matrix subtraction operator.

Parameters:

  [in] | right | Matrix to subtract.

Returns:
  Difference of both matrices.

MFloatMatrix & operator*= | ( | const MFloatMatrix & | right | ) |

The in place matrix multiplication operator.

Parameters:

  [in] | right | Matrix to multiply.

Returns:
  A reference to the result.

MFloatMatrix operator* | ( | const MFloatMatrix & | right | ) | const

The matrix multiplication operator.

Parameters:

  [in] | right | Matrix to multiply.

Returns:
  Product of both matrices.

MFloatMatrix & operator*= | ( | float | factor | ) |

The in place matrix multiply by a scalar operator.

Parameters:

  [in] | factor | scaling factor.

Returns:
  A reference to the result.

MFloatMatrix operator* | ( | float | factor | ) | const

The matrix multiply by a scalar operator.

Parameters:

  [in] | factor | Scaling factor.

Returns:
  Scaled matrix.

bool operator== | ( | const MFloatMatrix & | other | ) | const

The matrix equality operator.

Parameters:

  [in] | other | Matrix to test with.

Returns:
  True is the matrices are identical.

bool operator!= | ( | const MFloatMatrix & | other | ) | const

The matrix inequality operator.

Parameters:

  [in] | other | Matrix to test with.

Returns:
  True is the matrices are not identical.

MFloatMatrix inverse | ( |  | ) | const

Search for all occurrences

Compute and return the inverse of this instance.

Returns:
  The inverted matrix

Examples:
  cgfxShaderNode.cpp.

MFloatMatrix adjoint | ( |  | ) | const

Search for all occurrences

Compute and return the adjoint of this instance.

Returns:
  The adjoint of this matrix

MFloatMatrix homogenize | ( |  | ) | const

Search for all occurrences

Compute and return a homogenized version of this instance.

Returns:
  The homogenized matrix

float det4x4 | ( |  | ) | const

Search for all occurrences

Compute and return the determinant of this instance.

Returns:
  The determinant

float det3x3 | ( |  | ) | const

Search for all occurrences

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

Returns:
  The determinant

bool isEquivalent | ( | const MFloatMatrix & | other,
|  | float | tolerance = `MFloatMatrix_kTol`
| ) |  | const

Search for all occurrences

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

Parameters:

  [in] | other | the matrix to compare to
  [in] | tolerance | the tolerance to use during the comparison

Returns:
  True if the matrices are equivalent and false otherwise

float & 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.

Parameters:

  [in] | row | index of the row to access
  [in] | col | index of the column to access

Returns:
  - the value at the specified location in the matrix.

float * operator[] | ( | unsigned int | row | ) | `[inline]`

NO SCRIPT SUPPORT.

Index operator.

Returns an entire row of the matrix as an array of floats.

Parameters:

  [in] | row | index of the row to access

Returns:
  - float array containing the values of the specified row

const char * className | ( |  | ) | `[static]`

Search for all occurrences

Returns the name of this class.

Returns:
  The name of this class.

## Friends And Related Function Documentation

OPENMAYA_EXPORT MFloatMatrix operator* | ( | float | factor,
|  | const MFloatMatrix & | right
| ) |  | `[friend]`

NO SCRIPT SUPPORT.

Parameters:

  [in] | factor | Scaling factor.
  [in] | right | Matrix to multiply.

Returns:
  Scaled matrix.

OPENMAYA_EXPORT std::ostream& operator<< | ( | std::ostream & | os,
|  | const MFloatMatrix & | 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]].

Parameters:

  [in] | os | the ostream to print to
  [in] | m | the MFloatMatrix whose value is to be printed

Returns:
  The ostream reference, s, provided as the first parameter.

MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix
MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix MFloatMatrix