#include <MFnData.h>
Parent class for dependency graph data function sets.
MFnData is the parent class for all dependency graph data function sets. Conceptually, data objects are what flow through the connections in the dependency graph.
Each node in the dependency graph has a data block associated with it. The data block holds the data objects for all of the node's attributes (see MDataBlock). The data block is only available during the compute method of a node. A data handle (MDataHandle) can be created to access a particular attribute's data inside of the data block.
Once a data handle is obtained, it is possible to get the data object from it. This is only necessary for heavier data structures such as geometry or strings. Simple numeric data can be manipulated straight through the data handle.
Note: using kDynSweptGeometry data requires that a plug-in or stand alone API application be linked with the OpenMayaFX library.
Public Types | |
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, kLast } |
Types of dependency graph data. More... | |
Public Member Functions | |
virtual MFn::Type | type () const |
Function set type. More... | |
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=NULL) 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... | |
Protected Member Functions | |
virtual const char * | className () const |
Class name. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from MFnBase | |
static const char * | className () |
Returns the name of this class. More... | |
enum Type |
Types of dependency graph data.
Enumerator | |
---|---|
kInvalid |
Invalid value. |
kNumeric |
Numeric, use MFnNumericData extract the node data. |
kPlugin |
Plugin Blind Data, use MFnPluginData to extract the node data. |
kPluginGeometry |
Plugin Geometry, use MFnGeometryData to extract the node data. |
kString |
String, use MFnStringData to extract the node data. |
kMatrix |
Matrix, use MFnMatrixData to extract the node data. |
kStringArray |
String Array, use MFnStringArrayData to extract the node data. |
kDoubleArray |
Double Array, use MFnDoubleArrayData to extract the node data. |
kFloatArray |
Float Array, use MFnFloatArrayData to extract the node data. |
kIntArray |
Int Array, use MFnIntArrayData to extract the node data. |
kPointArray |
Point Array, use MFnPointArrayData to extract the node data. |
kVectorArray |
Vector Array, use MFnVectorArrayData to extract the node data. |
kMatrixArray |
Matrix Array, use MFnMatrixArrayData to extract the node data. |
kComponentList |
Component List, use MFnComponentListData to extract the node data. |
kMesh |
Mesh, use MFnMeshData to extract the node data. |
kLattice |
Lattice, use MFnLatticeData to extract the node data. |
kNurbsCurve |
Nurbs Curve, use MFnNurbsCurveData to extract the node data. |
kNurbsSurface |
Nurbs Surface, use MFnNurbsSurfaceData to extract the node data. |
kSphere |
Sphere, use MFnSphereData to extract the node data. |
kDynArrayAttrs |
ArrayAttrs, use MFnArrayAttrsData to extract the node data. |
kDynSweptGeometry |
SweptGeometry, use MFnDynSweptGeometryData to extract the node data. This data node is in OpenMayaFX which must be linked to. |
kSubdSurface |
Subdivision Surface, use MFnSubdData to extract the node data. |
kNObject |
nObject data, use MFnNObjectData to extract node data |
kNId |
nId data, use MFnNIdData to extract node data |
kAny |
Typically used when the data can be one of several types. |
kLast |
Last value. It does not represent real data, but can be used to loop on all possible types |
|
virtual |
Function set type.
Return the class type : MFn::kData.
Reimplemented from MFnBase.
Reimplemented in MFnPluginData, MFnNurbsSurfaceData, MFnDynSweptGeometryData, MFnNurbsCurveData, MFnSubdData, MFnMeshData, MFnNIdData, MFnNumericData, MFnArrayAttrsData, MFnDoubleArrayData, MFnFloatArrayData, MFnGeometryData, MFnSphereData, MFnComponentListData, MFnIntArrayData, MFnMatrixArrayData, MFnMatrixData, MFnPointArrayData, MFnStringArrayData, MFnStringData, MFnUInt64ArrayData, MFnVectorArrayData, MFnLatticeData, and MFnNObjectData.
|
protectedvirtual |
Class name.
Return the class name : "MFnData".
Reimplemented in MFnPluginData, MFnNurbsSurfaceData, MFnDynSweptGeometryData, MFnNurbsCurveData, MFnSubdData, MFnMeshData, MFnNIdData, MFnNumericData, MFnArrayAttrsData, MFnDoubleArrayData, MFnFloatArrayData, MFnGeometryData, MFnSphereData, MFnComponentListData, MFnIntArrayData, MFnMatrixArrayData, MFnMatrixData, MFnPointArrayData, MFnStringArrayData, MFnStringData, MFnUInt64ArrayData, MFnVectorArrayData, MFnLatticeData, and MFnNObjectData.