C++ API Reference
OpenMaya - API module for common classes

Namespaces

 MRandom
 Methods for generating random numbers.
 

Classes

class  MAddRemoveAttrEdit
 Class for describing edits involving attributes which are added or removed. More...
 
class  MAngle
 Manipulate Angular Data. More...
 
class  MArgDatabase
 Command argument list parser. More...
 
class  MArgList
 Create and retrieve argument lists. More...
 
class  MArgParser
 Command argument list parser. More...
 
class  MArrayDataBuilder
 Array builder for arrays in data blocks. More...
 
class  MArrayDataHandle
 Data block handle for array data. More...
 
class  MAtomic
 Methods for atomic operations. More...
 
class  MAttributeIndex
 The index information for an attribute specification. More...
 
class  MAttributePattern
 The pattern of an attribute tree that can be applied to nodes or node classes. More...
 
class  MAttributePatternArray
 Indexable Array of attribute patterns. More...
 
class  MAttributeSpec
 An attribute specification. More...
 
class  MAttributeSpecArray
 An attribute specification array. More...
 
class  MBoundingBox
 Implementation of a 3D bounding box. More...
 
class  MCacheConfigRuleRegistry
 Introduced in 2019.0 More...
 
class  MCacheFormatDescription
 Cache format description. More...
 
class  MCallbackIdArray
 Array of MCallbackId data type. More...
 
class  MCameraMessage
 Introduced in 2019.0 More...
 
class  MCameraSetMessage
 CameraSet messages. More...
 
class  MColor
 A color math class. More...
 
class  MColorArray
 Array of MColor data type. More...
 
class  MCommandMessage
 Helper class to handle MEL output. More...
 
class  MCommandResult
 Result returned from executing a command. More...
 
class  MCommonSystemUtils
 OS functionality. More...
 
class  MComputation
 Interupt monitor for long computations. More...
 
class  MConditionMessage
 Condition change messages. More...
 
class  MConnectDisconnectAttrEdit
 Class for describing connection and disconnection edits. More...
 
class  MContainerMessage
 Container-related messages. More...
 
class  MCurveAttribute
 Create and manipulate curve attributes. More...
 
class  MCustomEvaluatorClusterNode
 Scheduling cluster representing a self-contained cluster of work. More...
 
class  MDagMessage
 DAG messages. More...
 
class  MDagModifier
 Dependency graph modifier. More...
 
class  MDAGDrawOverrideInfo
 A data structure to store the per path draw override information. More...
 
class  MDagPath
 DAG Path. More...
 
class  MDagPathArray
 Indexable Array of DAG Paths. More...
 
class  MDataBlock
 Dependency node data block. More...
 
class  MDataHandle
 Data handle for information contained in a data block. More...
 
class  MDGContext
 Dependency graph (DG) context class. More...
 
class  MDGMessage
 Dependency graph messages. More...
 
class  MDGModifier
 Dependency graph modifier. More...
 
class  MDisplayLayerMessage
 Dependency node messages. More...
 
class  MDistance
 Manipulate Linear Data. More...
 
class  MDoubleArray
 Array of doubles data type. More...
 
class  MEdit
 Base class for representing information about edits. More...
 
class  MEulerRotation
 Euler Rotation Math. More...
 
class  MEvaluationGraph
 Evaluation graph object. More...
 
class  MEvaluationManager
 Class for working with Maya's Evaluation Manager. More...
 
class  MEvaluationNode
 Provides access to Evaluation Manager node information. More...
 
class  MEvaluationNodeIterator
 Provides access to the Evaluation Manager node dirty plug list. More...
 
class  MEventMessage
 Event messages. More...
 
class  MExternalContentInfoTable
 This is a table of all the external content for a given MPxNode. More...
 
class  MExternalContentLocationTable
 This is a table of the all the external content locations for a given MPxNode. More...
 
class  MFcurveEdit
 Class for describing fcurve edits. More...
 
class  MFileIO
 I/O operations on scene files. More...
 
class  MFileObject
 Manipulate filenames and search paths. More...
 
class  MFloatArray
 Array of floats data type. More...
 
class  MFloatMatrix
 A matrix math class for 4x4 matrices of floats. More...
 
class  MFloatPoint
 Implementation of a point. More...
 
class  MFloatPointArray
 Array of MFloatPoint data type. More...
 
class  MFloatVector
 A vector math class for vectors of floats. More...
 
class  MFloatVectorArray
 Array of MFloatVectors data type. More...
 
class  MFn
 Function Set Type Identifiers. More...
 
class  MFnAmbientLight
 Manage Ambient Light dependency Nodes. More...
 
class  MFnAnisotropyShader
 Manage anisotropic shaders. More...
 
class  MFnAreaLight
 Manage Area Light dependency Nodes. More...
 
class  MFnArrayAttrsData
 Function set for multiple arrays of attributes for dependency node data. More...
 
class  MFnAssembly
 Function set for scene assembly. More...
 
class  MFnAttribute
 Dependency node attribute function set. More...
 
class  MFnBase
 Function Set Base Class. More...
 
class  MFnBlinnShader
 Manage Blinn shaders. More...
 
class  MFnCamera
 Function set for cameras. More...
 
class  MFnCameraSet
 Camera set node function set. More...
 
class  MFnComponent
 Base class for component function sets. More...
 
class  MFnComponentListData
 Component list function set for dependency node data. More...
 
class  MFnCompoundAttribute
 Compound attribute function set. More...
 
class  MFnContainerNode
 container function set More...
 
class  MFnDagNode
 DAG Node Function Set. More...
 
class  MFnData
 Parent class for dependency graph data function sets. More...
 
class  MFnDependencyNode
 Dependency node function set. More...
 
class  MFnDirectionalLight
 Manage Directional Light dependency nodes. More...
 
class  MFnDisplayLayer
 Function Set for display layers. More...
 
class  MFnDisplayLayerManager
 Function Set for display layer manager. More...
 
class  MFnDoubleArrayData
 double array function set for dependency node data. More...
 
class  MFnDoubleIndexedComponent
 Double indexed component function set. More...
 
class  MFnEnumAttribute
 Enumerated attribute function set. More...
 
class  MFnExpression
 Expression function set. More...
 
class  MFnFalloffData
 Introduced in 2022.0 More...
 
class  MFnFloatArrayData
 float array function set for dependency node data. More...
 
class  MFnFloatVectorArrayData
 Introduced in 2022.0 More...
 
class  MFnGenericAttribute
 Generic attribute function set. More...
 
class  MFnGeometryData
 Geometry data function set. More...
 
class  MFnIntArrayData
 int array function set for dependency node data. More...
 
class  MFnLambertShader
 Manage Lambert shaders. More...
 
class  MFnLatticeData
 Lattice Data dependency graph type. More...
 
class  MFnLayeredShader
 Manage Layered shaders. More...
 
class  MFnLight
 Manage dependency graph nodes representing lights. More...
 
class  MFnLightDataAttribute
 Light data attribute function set. More...
 
class  MFnMatrixArrayData
 Matrix array function set for dependency node data. More...
 
class  MFnMatrixAttribute
 Matrix attribute function set. More...
 
class  MFnMatrixData
 Matrix function set for dependency node data. More...
 
class  MFnMesh
 Polygonal surface function set. More...
 
class  MFnMeshData
 Mesh function set for dependency node data. More...
 
class  MFnMessageAttribute
 Message attribute function set. More...
 
class  MFnNonAmbientLight
 Manage Non-ambient Light dependency Nodes. More...
 
class  MFnNonExtendedLight
 Manage Non-extended Light dependency Nodes. More...
 
class  MFnNumericAttribute
 Numeric attribute function set. More...
 
class  MFnNumericData
 Numeric data function set. More...
 
class  MFnNurbsCurve
 NURBS curve function set. More...
 
class  MFnNurbsCurveData
 Nurbs Curve function set for dependency node data. More...
 
class  MFnNurbsSurface
 NURBS surface function set. More...
 
class  MFnNurbsSurfaceData
 Nurbs Surface function set for dependency node data. More...
 
class  MFnPartition
 Function set for partitions of objects. More...
 
class  MFnPhongEShader
 Manage phongE shaders. More...
 
class  MFnPhongShader
 Manage Phong Shaders. More...
 
class  MFnPlugin
 Register and deregister plug-in services with Maya. More...
 
class  MFnPluginData
 User defined data function set for dependency node data. More...
 
class  MFnPointArrayData
 Point array function set for dependency node data. More...
 
class  MFnPointLight
 Manage Point Light dependency Nodes. More...
 
class  MFnReference
 Function set for querying information about file references. More...
 
class  MFnReflectShader
 Manage Reflective Surface Shaders. More...
 
class  MFnSet
 Function Set for Sets of Objects. More...
 
class  MFnSingleIndexedComponent
 Single indexed component function set. More...
 
class  MFnSphereData
 Sphere function set for dependency node data . More...
 
class  MFnSpotLight
 Manage Spot Light dependency Nodes. More...
 
class  MFnStandardSurfaceShader
 Introduced in 2020.0 More...
 
class  MFnStringArrayData
 String array function set for dependency node data. More...
 
class  MFnStringData
 String function set for dependency node data. More...
 
class  MFnSubd
 Subdivision surface function set. More...
 
class  MFnSubdData
 Subdiv Surface function set for dependency node data. More...
 
class  MFnSubdNames
 Manipulate Subdivision Surface vertex, edge and face ids. More...
 
class  MFnToolContext
 Tool context function set. More...
 
class  MFnTransform
 Create and access transform nodes. More...
 
class  MFnTripleIndexedComponent
 Triple indexed component function set. More...
 
class  MFnTypedAttribute
 Typed attribute function set. More...
 
class  MFnUInt64ArrayData
 MUint64 array function set for dependency node data. More...
 
class  MFnUint64SingleIndexedComponent
 Single MUint64 indexed component function set. More...
 
class  MFnUintArrayData
 Introduced in 2022.0 More...
 
class  MFnUnitAttribute
 Unit attribute Function set. More...
 
class  MFnVectorArrayData
 int array function set for dependency node data. More...
 
class  MFnVolumeLight
 Manage volume Light dependency Nodes. More...
 
class  MGlobal
 Static class providing common API global functions. More...
 
class  MGraphNodeIterator
 Provides access to the cluster nodes in a given evaluation graph. More...
 
class  MIffFile
 Read file images stored on disk. More...
 
class  MIffTag
 Encapsulates IFF's 4 character block structure. More...
 
class  MImage
 Image manipulation. More...
 
class  MImageFileInfo
 Image manipulation. More...
 
class  MInt64Array
 Array of 64-bit integers data type. More...
 
class  MIntArray
 Array of integers data type. More...
 
class  MItCurveCV
 Iterator for NURBS curve CVs. More...
 
class  MItDag
 DAG Iterator. More...
 
class  MItDependencyGraph
 Dependency Graph Iterator. More...
 
class  MItDependencyNodes
 Dependency Node iterator. More...
 
class  MItEdits
 Edits iterator. More...
 
class  MIteratorType
 MIteratorType class. More...
 
class  MItGeometry
 Iterator class for geometry data. More...
 
class  MItInstancer
 Particle iterator. More...
 
class  MItMeshEdge
 Polygon edge iterator. More...
 
class  MItMeshFaceVertex
 Face vertex iterator. More...
 
class  MItMeshPolygon
 Polygon iterator. More...
 
class  MItMeshVertex
 Polygon vertex iterator. More...
 
class  MItSelectionList
 Iterate over the items in the selection list. More...
 
class  MItSubdEdge
 Subdiv edge iterator. More...
 
class  MItSubdFace
 Subdiv face iterator. More...
 
class  MItSubdVertex
 Subdiv vertex iterator. More...
 
class  MItSurfaceCV
 NURBS surface CV iterator. More...
 
class  MLockMessage
 Node and plug locking messages. More...
 
class  MMatrix
 A matrix math class for 4x4 matrices of doubles. More...
 
class  MMatrixArray
 Array of MMatrix data type. More...
 
class  MMeshIntersector
 Mesh intersector. More...
 
class  MPointOnMesh
 Mesh intersector result. More...
 
class  MMeshSmoothOptions
 Options for control of smooth mesh generation. More...
 
class  MMessage
 Message base class. More...
 
class  MModelMessage
 Scene messages. More...
 
class  MMutexLock
 Methods for managing locks on threads created. More...
 
class  MNamespace
 Namespace. More...
 
class  MNodeClass
 A class for performing node class-level operations in the dependency graph. More...
 
class  MNodeMessage
 Dependency node messages. More...
 
class  MNurbsIntersector
 Nurbs intersector. More...
 
class  MObject
 Generic Class for Accessing Internal Maya Objects. More...
 
class  MObjectArray
 Array of MObjects data type. More...
 
class  MObjectHandle
 Generic Class for validating MObjects. More...
 
class  MObjectSetMessage
 Object Set Messages. More...
 
class  MAutoCLKernel
 Auto pointer for cl_kernel objects. More...
 
class  MAutoCLMem
 Auto pointer for cl_mem objects. More...
 
class  MAutoCLEvent
 AutoPtr for cl_event objects. More...
 
class  MAutoCLEventList
 Introduced in 2023.0 More...
 
class  MOpenCLBuffer
 Convenience class which makes allocating, updating and releasing OpenCL buffers easy. More...
 
class  MOpenCLInfo
 Global OpenCL information used by Maya. More...
 
class  MOpenCLUtils
 Introduced in 2023.0 More...
 
class  MOpenCLKernelInfo
 Introduced in 2023.0 More...
 
class  MPaintMessage
 Scene messages. More...
 
class  MParentingEdit
 Class for describing edits to parenting. More...
 
class  MPlane
 A plane equation. More...
 
class  MPlug
 Create and Access dependency node plugs. More...
 
class  MPlugArray
 Array of MPlugs data type. More...
 
class  MPluginCallableInfo
 Introduced in 2020.0 More...
 
class  MPoint
 Implementation of a point. More...
 
class  MPointArray
 Array of MPoint data type. More...
 
class  MPolyMessage
 Polygon component id change messages. More...
 
class  MProfiler
 Class for working with Maya's profiler. More...
 
class  MProfilingScope
 MProfilingScope is used to profile code execution time. More...
 
class  MPxAnimCurveInterpolator
 Base Class for User-defined Animation Curve Interpolation Types. More...
 
class  MPxAssembly
 Parent class of all user defined assembly nodes. More...
 
class  MPxAttributePatternFactory
 Base class for user-defined attribute pattern factories. More...
 
class  MPxBakeEngine
 Baking functionality. More...
 
class  MPxCacheConfigRuleFilter
 Introduced in 2019.0 More...
 
class  MPxCacheFormat
 CacheFormat definition. More...
 
class  MPxCameraSet
 Base class for user-defined camera set nodes. More...
 
class  MPxCommand
 Base class for user commands. More...
 
class  MPxComponentShape
 Component helper class for surface shapes. More...
 
class  MPxCustomEvaluator
 Base class for custom evaluation overrides in the evaluation manager. More...
 
class  MPxData
 Base Class for User-defined Dependency Graph Data Types. More...
 
class  MPxEditData
 Base class used to associate user-defined data with edits. More...
 
class  MPxFileResolver
 Base Class for creating custom Maya File Resolvers. More...
 
class  MPxFileTranslator
 Base Class for creating Maya File Translators. More...
 
class  MPxGeometryData
 Base Class for User-defined Dependency Graph Geometry Data Types. More...
 
class  MPxGeometryIterator
 Base class for user defined geometry iterators. More...
 
class  MPxImageFile
 Image manipulation. More...
 
class  MPxImagePlane
 Base class for user defined imagePlane nodes. More...
 
class  MaterialInputData
 Phong shading parameters for an MPxMaterialInformation instance. More...
 
class  MPxMaterialInformation
 Material information proxy. More...
 
class  MPxMayaAsciiFilterOutput
 Wrapper for a Maya Ascii file output stream. More...
 
class  MPxMayaAsciiFilter
 Translator to output filtered Maya ASCII files. More...
 
class  MPxMotionPathNode
 Base class for user defined motionPath nodes. More...
 
class  MPxMultiPolyTweakUVCommand
 Base class used for moving UV's on multiple objects. More...
 
class  MPxNode
 Base class for user defined dependency nodes. More...
 
class  MPxObjectSet
 Parent class of all user defined object sets. More...
 
class  MPxPolyTrg
 User defined poly triangulation support. More...
 
class  MPxPolyTweakUVCommand
 Base class used for moving polygon UV's. More...
 
class  MPxRepresentation
 Abstract base class for user defined representations. More...
 
class  MPxSurfaceShape
 Parent class of all user defined shapes. More...
 
class  MPxTopologyEvaluator
 Introduced in 2019.0 More...
 
class  MPxTransform
 Base class for user defined transforms. More...
 
class  MPxTransformationMatrix
 Base class of all user defined transformation matrices. More...
 
class  MQuaternion
 Quaternion math. More...
 
class  MRampAttribute
 Create and manipulate ramp attributes. More...
 
class  MRichSelection
 Selection list supporting soft selection and symmetry. More...
 
class  MSceneMessage
 Scene messages. More...
 
class  MScriptUtil
 Utility class for working with pointers and references in Python. More...
 
class  MSelectionList
 A list of MObjects. More...
 
class  MSetAttrEdit
 Class for describing setAttr edits. More...
 
class  MSharedPtr< T >
 Introduced in 2022.0 More...
 
class  MSpinLock
 Methods for managing spin locks on threads. More...
 
class  MStatus
 Manipulate Maya Status codes. More...
 
class  MStreamUtils
 Stream functionality. More...
 
class  MString
 Manipulate strings. More...
 
class  MStringArray
 Array of MStrings data type. More...
 
class  MStringResource
 Localizable string resources. More...
 
class  MStringResourceId
 Unique identifier for an MString Resource. More...
 
class  MSyntax
 Syntax for Commands. More...
 
class  MTemplateAction< ActionClass, CommandName, CommandSyntax >
 Template class for non undoable actions. More...
 
class  MTemplateCommand< CommandClass, CommandName, CommandSyntax >
 Template class for undoable commands. More...
 
class  MTemplateCreateNodeCommand< CommandClass, CommandName, NodeName >
 Template class for undoable commands to create/delete a node. More...
 
class  MTesselationParams
 Tesselation parameters. More...
 
class  MThreadAsync
 Methods for creating threads. More...
 
class  MThreadPool
 Methods for creating and managing a thread pool. More...
 
class  MThreadUtils
 Helper methods for threaded plugins. More...
 
class  MTime
 Set and retrieve animation time values in various unit systems. More...
 
class  MTimeArray
 Array of MTime data type. More...
 
class  MTimer
 This class works similar to timerX MEL command. More...
 
class  MTimerMessage
 Register callbacks that are based on a fixed time interval. More...
 
class  MTopologyClusterNode
 Introduced in 2019.0 More...
 
class  MTransformationMatrix
 Transformation matrix. More...
 
class  MTrimBoundaryArray
 An array class for trim boundaries. More...
 
class  MTypeId
 Manage Maya Object type identifiers. More...
 
class  MUint64Array
 Array of MUint64 data type. More...
 
class  MUintArray
 Array of integers data type. More...
 
class  MUniqueString
 A non-mutable string with O(1) comparison operators. More...
 
class  MURI
 Manipulating Uniform Resource Identifiers. More...
 
class  MUserEventMessage
 User defined Message Types. More...
 
class  MUuid
 Class to manipulate UUIDs. More...
 
class  MVector
 A vector math class for vectors of doubles. More...
 
class  MVectorArray
 Array of MVectors data type. More...
 
class  MWeight
 Component weight data. More...
 
struct  ControlBlock
 Holds a pointer to a managed object and the number of references. More...
 
struct  PtrAndControlBlock< U, Deleter >
 Control block which holds a functor that can delete objects of type U, which are managed by *this control block. More...
 
struct  DefaultDeleter< U >
 Functor which can safely delete objects of type U. More...
 
struct  ObjectAndControlBlock< U >
 Control block which holds an object whose lifetime is managed by an MSharedPtr. More...
 
class  SharedPtrBase
 Base class for MSharedPtr. More...
 
class  MDGContextGuard
 Scope object used to modify current evaluation context in a code block. More...
 

Macros

#define OPENMAYA_DEPRECATED(version, message)
 OpenMaya deprecation system. More...
 

Detailed Description

Macro Definition Documentation

#define OPENMAYA_DEPRECATED (   version,
  message 
)

OpenMaya deprecation system.

Macros to allow code to be selectively removed from the build based on deprecation criteria.

Here is a list of the currently supported deprecation flags. To build your plug-in to be compatible with deprecated functions removed just add the following defines to your compile flags:

  • OPENMAYA_DEPRECATION_DISABLE_WARNING : Silence deprecation warnings

Defined attributes:

Defined helper directives:

  • _OPENMAYA_DEPRECATION_PUSH_AND_DISABLE_WARNING : Disable the deprecation warning until the _OPENMAYA_POP_WARNING directive
  • _OPENMAYA_POP_WARNING : Restore the deprecation warning

If you are building with a customized compiler that does not have a proper support it is safe to disable or edit this header file.

Help on Open Maya deprecation system ## To treat deprecation as an error, use the following compiler switch:

  • MSVC : /We"4996" /D_CRT_NONSTDC_NO_DEPRECATE
  • ICC : -diag-error 1786
  • Clang : -Werror=deprecated-declarations
  • GCC : -Werror=deprecated-declarations

## To silence the deprecation warnings:

Define preprocessor macro _OPENMAYA_DEPRECATION_DISABLE_WARNING

Or use the following compiler switch:

  • MSVC : /Wd"4996"
  • ICC : -diag-disable 1786
  • Clang : -Wno-error=deprecated-declarations
  • GCC : -Wno-error=deprecated-declarations