MDagMessage Class Reference

#include <MDagMessage.h>

Class Description

DAG messages.

This class is used to register callbacks for DAG messages.

There are 6 types of add callback methods which will add callbacks for the following messages

  • Parent Added
  • Parent Removed
  • Child Added
  • Child Removed
  • Child Reordered
  • Instance Added
  • Instance Removed

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. Accessing objects that are newly created or calling commands that access such objects from a callback may produce unknown results.

+ Inheritance diagram for MDagMessage:

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. More...
 
typedef void(* MWorldMatrixModifiedFunction) (MObject &transformNode, MDagMessage::MatrixModifiedFlags &modified, void *clientData)
 Pointer to world matrix modified callback function. More...
 
- Public Types inherited from MMessage
enum  Action { kDefaultAction, kDoNotDoAction, kDoAction }
 Callback result action codes. More...
 
typedef void(* MBasicFunction) (void *clientData)
 Pointer to a basic callback function. More...
 
typedef void(* MElapsedTimeFunction) (float elapsedTime, float lastTime, void *clientData)
 Pointer to an elapsed time callback function. More...
 
typedef void(* MCheckFunction) (bool *retCode, void *clientData)
 Pointer to callback function which returns a true/false result. More...
 
typedef void(* MCheckFileFunction) (bool *retCode, MFileObject &file, void *clientData)
 Pointer to a callback function which takes a file object and returns a result. More...
 
typedef void(* MCheckPlugFunction) (bool *retCode, MPlug &plug, void *clientData)
 Pointer to a callback function which takes a plug and returns a result. More...
 
typedef void(* MComponentFunction) (MUintArray componentIds[], unsigned int count, void *clientData)
 Pointer to a callback function which takes an array of component ids. More...
 
typedef void(* MNodeFunction) (MObject &node, void *clientData)
 Pointer to a callback function which takes a dependency node. More...
 
typedef void(* MStringFunction) (const MString &str, void *clientData)
 Pointer to callback function which takes a string. More...
 
typedef void(* MTwoStringFunction) (const MString &str1, const MString &str2, void *clientData)
 Pointer to a callback function which takes two strings. More...
 
typedef void(* MThreeStringFunction) (const MString &str1, const MString &str2, const MString &str3, void *clientData)
 Pointer to a callback function which takes three strings. More...
 
typedef void(* MStringIntBoolIntFunction) (const MString &str, unsigned int index, bool flag, unsigned int type, void *clientData)
 Pointer to callback function which takes a string, an index, a flag and a type. More...
 
typedef void(* MStringIndexFunction) (const MString &, unsigned int index, void *clientData)
 Pointer to callback function which takes a string and index. More...
 
typedef void(* MNodeStringBoolFunction) (MObject &node, const MString &, bool, void *clientData)
 Pointer to a callback function which takes a node, a string and a boolean. More...
 
typedef void(* MStateFunction) (bool state, void *clientData)
 Pointer to a callback function which takes a boolean state. More...
 
typedef void(* MTimeFunction) (MTime &time, void *clientData)
 Pointer to callback function which takes a time. More...
 
typedef void(* MPlugFunction) (MPlug &srcPlug, MPlug &destPlug, bool made, void *clientData)
 Pointer to plug connection callback function. More...
 
typedef void(* MNodePlugFunction) (MObject &node, MPlug &plug, void *clientData)
 Pointer to a callback function which takes a dependency node and a plug. More...
 
typedef void(* MNodeStringFunction) (MObject &node, const MString &str, void *clientData)
 Pointer to a callback function which takes a dependency node and a string. More...
 
typedef void(* MParentChildFunction) (MDagPath &child, MDagPath &parent, void *clientData)
 Pointer to to a callback function which takes two DAG nodes in a parent/child relationship. More...
 
typedef void(* MModifierFunction) (MDGModifier &modifier, void *clientData)
 Pointer to a callback function which takes a DG modifier. More...
 
typedef void(* MStringArrayFunction) (const MStringArray &strs, void *clientData)
 Pointer to a callback function which takes a string array. More...
 
typedef void(* MNodeModifierFunction) (MObject &node, MDGModifier &modifier, void *clientData)
 Pointer to a callback function which takes a dependency node and a DG modifier. More...
 
typedef void(* MObjArray) (MObjectArray &objects, void *clientData)
 Pointer to a callback function which takes an array of objects. More...
 
typedef void(* MNodeObjArray) (MObject &node, MObjectArray &objects, void *clientData)
 Pointer to a callback function which takes a dependency node and an array of objects. More...
 
typedef void(* MStringNode) (const MString &str, MObject &node, void *clientData)
 Pointer to a callback function which takes a string and a dependency node. More...
 
typedef void(* MCameraLayerFunction) (MObject &cameraSetNode, unsigned int multiIndex, bool added, void *clientData)
 Pointer to a callback function which takes a dependency node, an unsigned integer, and a boolean value. More...
 
typedef void(* MCameraLayerCameraFunction) (MObject &cameraSetNode, unsigned int multiIndex, MObject &oldCamera, MObject &newCamera, void *clientData)
 Pointer to a callback function which takes a dependency node, an unsigned integer, and two camera transform nodes. More...
 
typedef void(* MConnFailFunction) (MPlug &srcPlug, MPlug &destPlug, const MString &srcPlugName, const MString &dstPlugName, void *clientData)
 Pointer to connection-failed callback function. More...
 
typedef void(* MPlugsDGModFunction) (MPlugArray &plugs, MDGModifier &modifier, void *clientData)
 Pointer to a callback function which takes an array of MPlugs and an MDGModifier. More...
 
typedef void(* MNodeUuidFunction) (MObject &node, const MUuid &uuid, void *clientData)
 Pointer to a callback function which takes a dependency node and a UUID. More...
 
typedef Action(* MCheckNodeUuidFunction) (bool doAction, MObject &node, MUuid &uuid, void *clientData)
 Pointer to a callback function which takes a dependency node and a UUID, and returns a result. More...
 
typedef void(* MObjectFileFunction) (const MObject &object, const MFileObject &file, void *clientData)
 Pointer to a callback function which takes an object and a file object. More...
 
typedef void(* MCheckObjectFileFunction) (bool *retCode, const MObject &referenceNode, MFileObject &file, void *clientData)
 Pointer to a callback function which takes an object and a file object and returns a result. More...
 
typedef void(* MRenderTileFunction) (int originX, int originY, int tileMaxX, int tileMaxY, const void *tileData)
 Pointer to a callback function which receives origin, size and image data. More...
 

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
static MCallbackId addDagCallback (DagMessage msgType, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 This method registers a callback that is called for specified DAG changes on all nodes. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
static const char * className ()
 Returns the name of this class. More...
 
static MCallbackId addParentAddedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
static MCallbackId addParentRemovedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
static MCallbackId addChildAddedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 obsolete and no script support More...
 
static MCallbackId addChildRemovedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
static MCallbackId addChildReorderedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
static MCallbackId addInstanceAddedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
static MCallbackId addInstanceRemovedCallback (MDagPath &node, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
static MCallbackId addDagCallback (DagMessage msgType, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
static MCallbackId addDagCallback (MDagPath &node, DagMessage msgType, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
static MCallbackId addDagCallback (MDagPath &node, DagMessage msgType, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 obsolete and no script support More...
 
static MCallbackId addAllDagChangesCallback (MDagPath &node, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support. More...
 
- Static Public Member Functions inherited from MMessage
static MStatus removeCallback (MCallbackId id)
 Remove the specified callback from maya. More...
 
static MStatus removeCallbacks (MCallbackIdArray &ids)
 Remove all of the specified callbacks from maya. More...
 
static MCallbackId currentCallbackId (MStatus *ReturnStatus=NULL)
 Return the callback ID of the currently executing callback. More...
 
static MStatus nodeCallbacks (MObject &node, MCallbackIdArray &ids)
 Returns a list of callback IDs associated registered to a given node. More...
 
static void setRegisteringCallableScript ()
 Mark this MMessage object as one that will be passed callbacks defined in script.
 
static bool registeringCallableScript ()
 Return true if this MMessage object has its callbacks defined in script.
 
static const char * className ()
 Returns the name of this class. More...
 
static MStatus removeCallbacks (MIntArray &ids)
 This method is obsolete. This method is not available in Python. More...
 
static MStatus nodeCallbacks (MObject &node, MIntArray &ids)
 This method is obsolete. More...
 

Member Typedef Documentation

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.

Parameters
[in]msgTypeType of message which caused the function to be called.
[in,out]childFirst DAG path, usually used to pass the child of a parent/child pair.
[in,out]parentSecond DAG path, usually use to pass the parent of a parent/child pair.
[in,out]clientDataUser-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.

Parameters
[in]transformNodeThe node whose transformation has changed.
[in]modifiedThe flag which shows what has changed.
[in]clientDataPointer to user-defined data supplied when the callback was registered.

Member Enumeration Documentation

enum DagMessage

The type of DAG changed messages that have occurred.

Enumerator
kInvalidMsg 

an invalid message was used.

kParentAdded 

a dummy enum used for looping through the message types

kParentRemoved 

a parent was removed from a DAG node

kChildAdded 

a child was added to a DAG node

kChildRemoved 

a child was removed from a DAG node

kChildReordered 

a child of a DAG node was reordered

kInstanceAdded 

a DAG node was instanced

kInstanceRemoved 

a DAG node instance was removed

kLast 

last value of the enum

Member Function Documentation

OPENMAYA_MAJOR_NAMESPACE_OPEN 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.

Parameters
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Parameters
[in]nodeThe DAG node to register the callback for
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
+ Examples:
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.

Parameters
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Parameters
[in]nodeThe DAG node to register the callback for
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
+ Examples:
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.

Parameters
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Parameters
[in]nodeThe DAG node to register the callback for
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Parameters
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Parameters
[in]nodeThe DAG node to register the callback for
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Parameters
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Parameters
[in]nodeThe DAG node to register the callback for
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
MCallbackId addDagCallback ( DagMessage  msgType,
MDagMessage::MMessageParentChildFunction  func,
void *  clientData = NULL,
MStatus ReturnStatus = NULL 
)
static

This method registers a callback that is called for specified DAG changes on all nodes.

The callback will also receive the DagMessage.

Please see the note in the Description section about this callback if Parent Added or Child Added messages are being used.

Parameters
[in]msgTypeThe type of DAG change to trigger the callback
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
+ Examples:
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.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]msgTypeThe type of DAG change to trigger the callback.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
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.

Parameters
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
+ Examples:
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.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
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.

Parameters
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
+ Examples:
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.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
+ Examples:
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.

Parameters
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
+ Examples:
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.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
+ Examples:
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.

Parameters
[in]affectedNodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • triggerNode The node whose transformation changed
  • flag How the trigger node's transformation changed
  • clientData User defined data passed to the callback function.
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
+ Examples:
const char * className ( )
static

Returns the name of this class.

Returns
The name of this class.
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.

Deprecated:
Use MDagMessage::addParentAddedDagPathCallback instead.

This method registers a callback that is called whenever a parent is added to the specified DAG node.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Deprecated:
Use MDagMessage::addParentRemovedDagPathCallback instead.

This method registers a callback that is called whenever a parent is removed from the specified DAG node.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Deprecated:
Use MDagMessage::addChildAddedDagPathCallback instead.

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.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
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.

Deprecated:
Use MDagMessage::addChildRemovedDagPathCallback instead.

This method registers a callback that is called whenever a child is removed from the specified DAG node.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
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.

Deprecated:
Use MDagMessage::addChildReorderedDagPathCallback instead.

This method registers a callback that is called whenever a child of the specified DAG node is reordered.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
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.

Deprecated:
Use MDagMessage::addDagCallback instead.

This method registers a callback that is called whenever the specified node is instanced

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
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.

Deprecated:
Use MDagMessage::addDagCallback instead.

This method registers a callback that is called whenever an instance of the specified node is removed.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
MCallbackId addDagCallback ( 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.

Please see the note in the Description section about this callback if Parent Added or Child Added messages are being used.

Parameters
[in]msgTypeThe type of DAG change to trigger the callback
[in]functhe callback function
  • child The child involved in the change
  • parent The parent involved in the change
  • clientData User defined data passed to the callback function
Parameters
[in]clientDataUser defined data passed to the callback function
[out]ReturnStatusstatus code
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded
  • MS::kInsufficientMemory No memory available
  • MS::kFailure Error adding callback
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.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]msgTypeThe type of DAG change to trigger the callback.
[in]funcThe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.
MCallbackId addDagCallback ( MDagPath node,
DagMessage  msgType,
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.

Deprecated:
Use MDagMessage::addDagDagPathCallback instead.
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.

Deprecated:
Use MDagMessage::addAllDagChangesDagPathCallback instead.

This method registers a callback that is called whenever a DAG change is made to the specified DAG path.

Parameters
[in]nodeThe DAG node to register the callback for.
[in]functhe callback function.
  • child The child involved in the change.
  • parent The parent involved in the change.
  • clientData User defined data passed to the callback function.
Parameters
[in]clientDataUser defined data passed to the callback function.
[out]ReturnStatusStatus code.
Returns
Identifier used for removing the callback.
Status Codes:
  • MS::kSuccess Operation succeeded.
  • MS::kInsufficientMemory No memory available.
  • MS::kFailure Error adding callback.

The documentation for this class was generated from the following files:
  • MDagMessage.h
  • MDagMessage.cpp