C++ API Reference

Matrix function set for dependency node data. More...

#include <MFnMatrixData.h>

+ Inheritance diagram for MFnMatrixData:

Public Member Functions

virtual MFn::Type type () const
 Function set type. More...
 
virtual ~MFnMatrixData ()
 Destructor.
 
 MFnMatrixData ()
 Default constructor.
 
 MFnMatrixData (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
bool isTransformation (MStatus *ReturnStatus=NULL) const
 Determine if the matrix held in this instance is a transform matrix. More...
 
MTransformationMatrix transformation (MStatus *ReturnStatus=NULL) const
 Return a copy of the transform matrix held in this instance. More...
 
const MMatrixmatrix (MStatus *ReturnStatus=NULL) const
 Return the matrix representation of this transformation. More...
 
MStatus set (const MTransformationMatrix &transformation)
 Set this instance to hold a copy of the given transform matrix. More...
 
MStatus set (const MMatrix &matrix)
 Set this instance to hold a copy of the given matrix. More...
 
MObject create (MStatus *ReturnStatus=NULL)
 Create a new MObject, attach it to this instance and initialize it to the identity matrix. More...
 
MObject create (const MMatrix &, MStatus *ReturnStatus=NULL)
 Create a new MObject, attach it to this instance and initialize it to the given matrix. More...
 
MObject create (const MTransformationMatrix &, MStatus *ReturnStatus=NULL)
 Create a new MObject, attach it to this instance and initialize it to the given transform matrix. More...
 
 MFnMatrixData (const MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
- Public Member Functions inherited from MFnData
virtual ~MFnData ()
 Destructor.
 
 MFnData (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
 MFnData ()
 Default class constructor.
 
 MFnData (const MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
- Public Member Functions inherited from MFnBase
virtual ~MFnBase ()
 Class Destructor. More...
 
bool hasObj (MFn::Type) const
 Determines whether or not the Function Set is compatible with the specified Maya Object within the API RTTI system. More...
 
bool hasObj (const MObject &) const
 Determines whether or not the Function Set is compatible with the specified Maya Object within the API RTTI system. More...
 
MObject object (MStatus *ReturnStatus=nullptr) const
 Returns the MObject that is attached to the Function Set. More...
 
virtual MStatus setObject (MObject &object)
 Attaches the Function Set to the specified Maya Object. More...
 
virtual MStatus setObject (const MObject &object)
 NO SCRIPT SUPPORT. More...
 

Static Public Member Functions

static const char * className ()
 Returns the name of this class. More...
 
- Static Public Member Functions inherited from MFnData
static const char * className ()
 Returns the name of this class. More...
 
- Static Public Member Functions inherited from MFnBase
static const char * className ()
 Returns the name of this class. More...
 
static const char * typeString (MFn::Type)
 Introduced in 2020.0 More...
 
static bool isValid (MFn::Type)
 Introduced in 2020.0 More...
 

Additional Inherited Members

- Public Types inherited from MFnData
enum  Type {
  kInvalid, kNumeric, kPlugin, kPluginGeometry,
  kString, kMatrix, kStringArray, kDoubleArray,
  kFloatArray, kIntArray, kPointArray, kVectorArray,
  kMatrixArray, kComponentList, kMesh, kLattice,
  kNurbsCurve, kNurbsSurface, kSphere, kDynArrayAttrs,
  kDynSweptGeometry, kSubdSurface, kNObject, kNId,
  kAny, kFalloffFunction, kLast
}
 Types of dependency graph data. More...
 

Detailed Description

Matrix function set for dependency node data.

MFnMatrixData allows the creation and manipulation of MMatrix data objects for use in the dependency graph.

If a user written dependency node either accepts or produces MMatrix, then this class is used to extract or create the data that comes from or goes to other dependency graph nodes. The MDataHandle::type method will return kMatrix when data of this type is present. To access it, the MDataHandle::data method is used to get an MObject for the data and this should then be used to initialize an instance of MFnMatrixData.

Examples:
AbcBullet/AttributesWriter.cpp, AbcExport/AttributesWriter.cpp, basicSkinCluster/basicSkinCluster.cpp, cgFx/cgfxAttrDef.cpp, cgFx/cgfxVector.cpp, constraintEvaluator/constraintEvaluator.cpp, cvColorNode/cvColorNode.cpp, dagPoseInfoCmd/dagPoseInfoCmd.cpp, geometrytools.cpp, MayaPluginForSpreticle/spReticleLoc.cpp, ownerEmitter/ownerEmitter.cpp, simpleEmitter/simpleEmitter.cpp, sweptEmitter/sweptEmitter.cpp, and torusField/torusField.cpp.

Constructor & Destructor Documentation

MFnMatrixData ( MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given MObject.

Parameters
[in]objectThe MObject to attach the function set to
[out]ReturnStatusthe return status
Status Codes:
  • MS::kSuccess if the function set is successfully attached
  • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject
MFnMatrixData ( const MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given MObject.

Parameters
[in]objectThe MObject to attach the function set to
[out]ReturnStatusthe return status
Status Codes:
  • MS::kSuccess if the function set is successfully attached
  • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject

Member Function Documentation

MFn::Type type ( ) const
virtual

Function set type.

Return the class type : MFn::kMatrixData.

Returns
the class type.

Reimplemented from MFnData.

OPENMAYA_MAJOR_NAMESPACE_OPEN const char * className ( )
static

Returns the name of this class.

Return the class name : "MFnMatrixData".

Returns
Name of this class.
bool isTransformation ( MStatus ReturnStatus = NULL) const

Determine if the matrix held in this instance is a transform matrix.

Parameters
[out]ReturnStatuskFailure if the instance is not attached to an MObject, and kSuccess otherwise.
Returns
true if the instance holds a transform matrix, false otherwise
MTransformationMatrix transformation ( MStatus ReturnStatus = NULL) const

Return a copy of the transform matrix held in this instance.

If the instance holds a MMatrix, this method is equivalent of `MTransformationMatrix{this->matrix()}`

Note
Before Maya 2023, if the instance holds a MMatrix This method will convert it to MTransformationMatrix representation silently. This behavior was removed in Maya 2023 to ensure thread-safety when reading the matrix data.
Parameters
[out]ReturnStatuskFailure if the instance is not attached to an MObject, and kSuccess otherwise.
Returns
A copy of the MTransformationMatrix held in this instance
const MMatrix & matrix ( MStatus ReturnStatus = NULL) const

Return the matrix representation of this transformation.

If the instance holds a MTransformationMatrix, this method is equivalent of `this->transformation().asMatrix()`

Note
Before Maya 2023, if the instance holds a MTransformationMatrix This method will convert it to MMatrix representation silently. This behavior was removed in Maya 2023 to ensure thread-safety when reading the matrix data.
Parameters
[out]ReturnStatuskFailure if the instance is not attached to an MObject, and kSuccess otherwise.
Returns
A const reference to the MMatrix
Examples:
geometrytools.cpp.
MStatus set ( const MTransformationMatrix transformation)

Set this instance to hold a copy of the given transform matrix.

Parameters
[in]transformationthe MTransformationMatrix matrix to copy the data from
Returns
  • kSuccess operation successfull.
  • kFailure instance is not attached to an MObject
MStatus set ( const MMatrix mat)

Set this instance to hold a copy of the given matrix.

Parameters
[in]matthe MMatrix matrix to copy the data from
Returns
  • kSuccess operation successfull.
  • kFailure instance is not attached to an MObject
MObject create ( MStatus ReturnStatus = NULL)

Create a new MObject, attach it to this instance and initialize it to the identity matrix.

The result is not a transform matrix

Parameters
[out]ReturnStatuskSuccess
Returns
The new MObject
Examples:
cgFx/cgfxAttrDef.cpp.
MObject create ( const MMatrix mat,
MStatus ReturnStatus = NULL 
)

Create a new MObject, attach it to this instance and initialize it to the given matrix.

The result is not a transform matrix.

Parameters
[in]matthe MMatrix to copy the data from
[out]ReturnStatuskSuccess
Returns
The new MObject
MObject create ( const MTransformationMatrix transformation,
MStatus ReturnStatus = NULL 
)

Create a new MObject, attach it to this instance and initialize it to the given transform matrix.

Parameters
[in]transformationthe MTransformationMatrix to copy the data from
[out]ReturnStatuskSuccess
Returns
The new MObject

The documentation for this class was generated from the following files: