MDagMessage Class Reference
[OpenMaya - API module for common classes]

#include <MDagMessage.h>

Inheritance diagram for MDagMessage:

Inheritance graph
[legend]
Collaboration diagram for MDagMessage:

Collaboration graph
[legend]

List of all members.


Detailed Description

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.

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.

Static Public Member Functions

static MCallbackId addParentAddedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addParentAddedDagPathCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addParentRemovedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addParentRemovedDagPathCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addChildAddedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addChildAddedDagPathCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addChildRemovedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addChildRemovedDagPathCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addChildReorderedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addChildReorderedDagPathCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
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 &dagPath, DagMessage msgType, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addAllDagChangesCallback (MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addAllDagChangesDagPathCallback (MDagPath &dagPath, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addInstanceAddedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addInstanceAddedDagPathCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addInstanceRemovedCallback (MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addInstanceRemovedDagPathCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
static MCallbackId addParentAddedCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support.
static MCallbackId addParentRemovedCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support.
static MCallbackId addChildAddedCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 obsolete and no script support
static MCallbackId addChildRemovedCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support.
static MCallbackId addChildReorderedCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support.
static MCallbackId addInstanceAddedCallback (MDagPath &dagPath, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support.
static MCallbackId addInstanceRemovedCallback (MDagPath &dagPath, 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 &dagPath, DagMessage msgType, MMessage::MParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support.
static MCallbackId addDagCallback (MDagPath &dagPath, DagMessage msgType, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 obsolete and no script support
static MCallbackId addAllDagChangesCallback (MDagPath &dagPath, MDagMessage::MMessageParentChildFunction func, void *clientData=NULL, MStatus *ReturnStatus=NULL)
 Obsolete and no script support.


Member Typedef Documentation

typedef void(* MDagMessage::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] 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.


Member Enumeration Documentation

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

MCallbackId MDagMessage::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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] node The DAG node to register the callback for
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] node The DAG node to register the callback for
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] node The DAG node to register the callback for
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] node The DAG node to register the callback for
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] node The DAG node to register the callback for
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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 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] msgType The type of DAG change to trigger the callback
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:
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] msgType The type of DAG change to trigger the callback
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:
Examples:

MCallbackId MDagMessage::addDagDagPathCallback ( MDagPath dagPath,
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] msgType The type of DAG change to trigger the callback
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:
Examples:

MCallbackId MDagMessage::addAllDagChangesDagPathCallback ( MDagPath dagPath,
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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:
Examples:

MCallbackId MDagMessage::addInstanceAddedDagPathCallback ( MDagPath dagPath,
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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:
Examples:

MCallbackId MDagMessage::addInstanceRemovedDagPathCallback ( MDagPath dagPath,
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] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:

MCallbackId MDagMessage::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.

MCallbackId MDagMessage::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.

MCallbackId MDagMessage::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.

MCallbackId MDagMessage::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.

MCallbackId MDagMessage::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.

MCallbackId MDagMessage::addInstanceAddedCallback ( MDagPath dagPath,
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.

MCallbackId MDagMessage::addInstanceRemovedCallback ( MDagPath dagPath,
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.

MCallbackId MDagMessage::addDagCallback ( MDagPath dagPath,
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] msgType The type of DAG change to trigger the callback
[in] func the 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] clientData User defined data passed to the callback function
[out] ReturnStatus status code
Returns:
Identifier used for removing the callback.
Status Codes:
Deprecated:
Use MDagMessage::addDagDagPathCallback instead.

MCallbackId MDagMessage::addAllDagChangesCallback ( MDagPath dagPath,
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.


Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6