#include <MFnPluginData.h>
All user defined data that is to be passed between nodes in the dependency graph must be derived from MPxData. The use of this class is closely linked to the use of MPxData, MFnPluginData, MDataHandle, and MTypeId.
In order to use user defined data, one must first create an instance of the MTypeId class that is initialized with a unique id tag. Then create a new class derived from MPxData to hold the user-defined data, As well as a helper class derived from MPxData that can create instances of the new derived type.
For data of this type that needs to be passed into a plug, one would get an MDataHandle for the attribute that uses the type. This would result in a call to the MPxData helper class that would create an instance of the type inside the MDataHandle. The MDataHandle::data method can then be used to get an get an MObject for the user defined data and this should be used to initialize an instance of MFnPluginData. Then the MFnPluginData::data method can be used to get an MPxData pointer, which can be safely cast to a pointer of the user defined type. The data can be updated through this pointer, after which the MDataHandle::setClean method is used to complete the operation.
To receive data of this type from a plug, an MDataHandle for the attribute that uses the new data type is created. The MDataHandle::type method should be used to ascertain that it contains kPlugin data. Then the MDataHandle::data method is used to get an MObject for the user defined data and this should be used to initialize an instance of MFnPluginData. The MFnPluginData::typeId method can be used to ascertain that the data is in fact of the user defined type. Then the MFnPluginData::data method can be used to get an MPxData pointer, which can be safely cast to a pointer to the user defined type.
Public Member Functions | |
virtual MFn::Type | type () const |
Function set type. | |
virtual | ~MFnPluginData () |
Destructor. | |
MFnPluginData () | |
Default constructor. | |
MFnPluginData (MObject &object, MStatus *ReturnStatus=NULL) | |
Constructor. | |
MTypeId | typeId (MStatus *ReturnStatus=NULL) const |
MPxData * | data (MStatus *ReturnStatus=NULL) |
const MPxData * | constData (MStatus *ReturnStatus=NULL) const |
MObject | create (const MTypeId &id, MStatus *ReturnStatus=NULL) |
MFnPluginData (const MObject &object, MStatus *ReturnStatus=NULL) | |
Constructor. | |
Protected Member Functions | |
virtual const char * | className () const |
Class name. |
Constructor.
Class constructor that initializes the function set to the given MObject.
[in] | object | The MObject to attach the function set to |
[out] | ReturnStatus | the return status |
Constructor.
Class constructor that initializes the function set to the given MObject.
[in] | object | The MObject to attach the function set to |
[out] | ReturnStatus | the return status |
MFn::Type MFnPluginData::type | ( | ) | const [virtual] |
const char * MFnPluginData::className | ( | ) | const [protected, virtual] |
Create an instance of MPluginData and initialize it to represent user defined data of the given type.
[in] | id | the unique MTypeId of the user defined data class derived from MPxData. |
[out] | ReturnStatus | kSuccess if the create suceeds, and kFailure otherwise |
Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. | Generated with 1.5.6 |