This reference page is linked to from the following overview topics: Differences between the Maya .NET API and the Maya C++ API, Example C++ plug-in descriptions.
Dependency graph messages.
This class is used to register callbacks for dependency graph messages.
There are 6 types of add callback methods which will add callbacks for the following messages
Methods exist to register callbacks for every time any DAG node is affected as well as methods that work on specific nodes. Each method returns an id which is used to remove the callback.
To remove a callback use MMessage::removeCallback. All callbacks that are registered by a plug-in must be removed by that plug-in when it is unloaded. Failure to do so will result in a fatal error.
NOTE: It is possible to get Parent Added and Child Added messages before the node name has been set. This can happen if the node is newly created. Additionally, the MDagPath string path names passed to the callback may not be set as yet if the node has not been added to the model.
#include <MDagMessage.h>
Public Types | |
enum | DagMessage { kInvalidMsg = -1, kParentAdded, kParentRemoved, kChildAdded, kChildRemoved, kChildReordered, kInstanceAdded, kInstanceRemoved, kLast } |
The type of DAG changed messages that have occurred. More... | |
typedef void(* | MMessageParentChildFunction )(MDagMessage::DagMessage msgType, MDagPath &child, MDagPath &parent, void *clientData) |
Pointer to a callback function which takes an MDagMessage, two MDagPaths and a clientData pointer. | |
typedef void(* | MWorldMatrixModifiedFunction )(MObject &transformNode, MDagMessage::MatrixModifiedFlags &modified, void *clientData) |
Pointer to world matrix modified callback function. | |
Static Public Member Functions | |
static MCallbackId | addParentAddedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a parent is added in the DAG. | |
static MCallbackId | addParentAddedDagPathCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a parent is added to the specified DAG node. | |
static MCallbackId | addParentRemovedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a parent is removed in the DAG. | |
static MCallbackId | addParentRemovedDagPathCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a parent is removed from the specified DAG node. | |
static MCallbackId | addChildAddedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a child is added in the DAG. | |
static MCallbackId | addChildAddedDagPathCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a child is added to the specified DAG node. | |
static MCallbackId | addChildRemovedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a child is removed in the DAG. | |
static MCallbackId | addChildRemovedDagPathCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a child is removed from the specified DAG node. | |
static MCallbackId | addChildReorderedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a child is reordered in the DAG. | |
static MCallbackId | addChildReorderedDagPathCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a child of the specified DAG node is reordered. | |
static MCallbackId | addDagCallback (DagMessage msgType, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method is obsolete. This method is not available in Python. | |
static MCallbackId | addDagDagPathCallback (MDagPath &node, DagMessage msgType, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called for specified a DAG change is made to the specified DAG path. | |
static MCallbackId | addAllDagChangesCallback (MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever any DAG change is made to any DAG node. | |
static MCallbackId | addAllDagChangesDagPathCallback (MDagPath &node, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever a DAG change is made to the specified DAG path. | |
static MCallbackId | addInstanceAddedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever any node in the DAG is instanced. | |
static MCallbackId | addInstanceAddedDagPathCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever the specified node is instanced. | |
static MCallbackId | addInstanceRemovedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever an instance of any DAG node is removed or deleted. | |
static MCallbackId | addInstanceRemovedDagPathCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called whenever an instance of the specified node is removed. | |
static MCallbackId | addWorldMatrixModifiedCallback (MDagPath &node, MDagMessage::MWorldMatrixModifiedFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
This method registers a callback that is called when a DAG node's worldMatrix changes. | |
static const char * | className () |
Returns the name of this class. | |
static MCallbackId | addParentAddedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. | |
static MCallbackId | addParentRemovedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. | |
static MCallbackId | addChildAddedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
obsolete and no script support | |
static MCallbackId | addChildRemovedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. | |
static MCallbackId | addChildReorderedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. | |
static MCallbackId | addInstanceAddedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. | |
static MCallbackId | addInstanceRemovedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. | |
static MCallbackId | addDagCallback (DagMessage msgType, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. | |
static MCallbackId | addDagCallback (MDagPath &node, DagMessage msgType, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. | |
static MCallbackId | addDagCallback (MDagPath &node, DagMessage msgType, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
obsolete and no script support | |
static MCallbackId | addAllDagChangesCallback (MDagPath &node, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL) |
Obsolete and no script support. |
typedef void(* MMessageParentChildFunction)(MDagMessage::DagMessage msgType, MDagPath &child, MDagPath &parent, void *clientData) |
Pointer to a callback function which takes an MDagMessage, two MDagPaths and a clientData pointer.
[in] | msgType | Type of message which caused the function to be called. |
[in,out] | child | First DAG path, usually used to pass the child of a parent/child pair. |
[in,out] | parent | Second DAG path, usually use to pass the parent of a parent/child pair. |
[in,out] | clientData | User-defined data which was supplied when the callback was added. |
typedef void(* MWorldMatrixModifiedFunction)(MObject &transformNode, MDagMessage::MatrixModifiedFlags &modified, void *clientData) |
Pointer to world matrix modified callback function.
[in] | transformNode | The node whose transformation has changed. |
[in] | modified | The flag which shows what has changed. |
[in] | clientData | Pointer to user-defined data supplied when the callback was registered. |
enum DagMessage |
The type of DAG changed messages that have occurred.
MCallbackId addParentAddedCallback | ( | MMessage::MParentChildFunction | func, |
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a parent is added in the DAG.
Please see the note in the Description section about this callback.
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addParentAddedDagPathCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a parent is added to the specified DAG node.
Please see the note in the Description section about this callback.
[in] | node | The DAG node to register the callback for |
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addParentRemovedCallback | ( | MMessage::MParentChildFunction | func, |
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a parent is removed in the DAG.
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addParentRemovedDagPathCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a parent is removed from the specified DAG node.
[in] | node | The DAG node to register the callback for |
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addChildAddedCallback | ( | MMessage::MParentChildFunction | func, |
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a child is added in the DAG.
Please see the note in the Description section about this callback.
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addChildAddedDagPathCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a child is added to the specified DAG node.
Please see the note in the Description section about this callback.
[in] | node | The DAG node to register the callback for |
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addChildRemovedCallback | ( | MMessage::MParentChildFunction | func, |
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a child is removed in the DAG.
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addChildRemovedDagPathCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a child is removed from the specified DAG node.
[in] | node | The DAG node to register the callback for |
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addChildReorderedCallback | ( | MMessage::MParentChildFunction | func, |
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a child is reordered in the DAG.
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addChildReorderedDagPathCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a child of the specified DAG node is reordered.
[in] | node | The DAG node to register the callback for |
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addDagCallback | ( | DagMessage | msgType, |
MDagMessage::MMessageParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method is obsolete. This method is not available in Python.
This method registers a callback that is called for specified DAG changes on all nodes.
This method registers a callback that is called whenever a DAG change is made.
Please see the note in the Description section about this callback if Parent Added or Child Added messages are being used.
[in] | msgType | The type of DAG change to trigger the callback |
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
Please see the note in the Description section about this callback if Parent Added or Child Added messages are being used.
[in] | msgType | The type of DAG change to trigger the callback |
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addDagDagPathCallback | ( | MDagPath & | node, |
DagMessage | msgType, | ||
MDagMessage::MMessageParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called for specified a DAG change is made to the specified DAG path.
The callback receives the DagMessage as well.
Please see the note in the Description section about this callback if Parent Added or Child Added messages are being used.
[in] | node | The DAG node to register the callback for. |
[in] | msgType | The type of DAG change to trigger the callback. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addAllDagChangesCallback | ( | MDagMessage::MMessageParentChildFunction | func, |
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever any DAG change is made to any DAG node.
Please see the note in the Description section about this callback if Parent Added or Child Added messages are being used.
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addAllDagChangesDagPathCallback | ( | MDagPath & | node, |
MDagMessage::MMessageParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever a DAG change is made to the specified DAG path.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addInstanceAddedCallback | ( | MMessage::MParentChildFunction | func, |
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever any node in the DAG is instanced.
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addInstanceAddedDagPathCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever the specified node is instanced.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addInstanceRemovedCallback | ( | MMessage::MParentChildFunction | func, |
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever an instance of any DAG node is removed or deleted.
[in] | func | the callback function |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | status code |
MCallbackId addInstanceRemovedDagPathCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called whenever an instance of the specified node is removed.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addWorldMatrixModifiedCallback | ( | MDagPath & | affectedNode, |
MDagMessage::MWorldMatrixModifiedFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
This method registers a callback that is called when a DAG node's worldMatrix changes.
Since a node's worldMatrix is affected by the transforms of its ancestors in the DAG, it's possible for there to be two different nodes involved: the "trigger" node, whose transform has changed, and the "affected" node, whose worldMatrix is affected by the change to the trigger.
The trigger node may be the same as the affected node, or it may be one of its ancestors.
The callback is placed on the affected node, but it is the trigger node which is passed to the callback.
If the trigger node's transformation is already dirty (i.e. it has not been evaluated since it was last changed) then the callback will not be triggered. So if the trigger node's transformation is modified multiple times between evaluations, only the first one will result in the callback being called.
[in] | affectedNode | The DAG node to register the callback for. |
[in] | func | The callback function.
|
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
const char * className | ( | ) | [static] |
MCallbackId addParentAddedCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
Obsolete and no script support.
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever a parent is added to the specified DAG node.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | Status code. |
MCallbackId addParentRemovedCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
Obsolete and no script support.
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever a parent is removed from the specified DAG node.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function |
[out] | ReturnStatus | Status code. |
MCallbackId addChildAddedCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
obsolete and no script support
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever a child is added to the specified DAG node.
Please see the note in the Description section about this callback.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addChildRemovedCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
Obsolete and no script support.
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever a child is removed from the specified DAG node.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addChildReorderedCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
Obsolete and no script support.
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever a child of the specified DAG node is reordered.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addInstanceAddedCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
Obsolete and no script support.
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever the specified node is instanced
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addInstanceRemovedCallback | ( | MDagPath & | node, |
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
Obsolete and no script support.
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever an instance of the specified node is removed.
[in] | node | The DAG node to register the callback for. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addDagCallback | ( | MDagPath & | node, |
DagMessage | msgType, | ||
MMessage::MParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
Obsolete and no script support.
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever a DAG change is made to a specified node.
Please see the note in the Description section about this callback if Parent Added or Child Added messages are being used.
[in] | node | The DAG node to register the callback for. |
[in] | msgType | The type of DAG change to trigger the callback. |
[in] | func | The callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |
MCallbackId addAllDagChangesCallback | ( | MDagPath & | node, |
MDagMessage::MMessageParentChildFunction | func, | ||
void * | clientData = NULL , |
||
MStatus * | ReturnStatus = NULL |
||
) | [static] |
Obsolete and no script support.
This method is obsolete. This method is not available in Python.
This method registers a callback that is called whenever a DAG change is made to the specified DAG path.
[in] | node | The DAG node to register the callback for. |
[in] | func | the callback function. |
[in] | clientData | User defined data passed to the callback function. |
[out] | ReturnStatus | Status code. |