C++ API Reference
|
Dependency graph modifier. More...
#include <MDagModifier.h>
Public Member Functions | |
MDagModifier () | |
The class constructor. | |
~MDagModifier () override | |
The class destructor. | |
MObject | createNode (const MTypeId &typeId, const MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL) |
This method adds an operation to this DAG modifier that will add a new node of the given type to the DAG. More... | |
MObject | createNode (const MString &type, const MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL) |
This method adds an operation to this DAG modifier that will add a new node of the given type to the DAG. More... | |
MStatus | reparentNode (const MObject &node, const MObject &newParent=MObject::kNullObj) |
This method adds an operation to this DAG modifier that will reparent a node in the DAG. More... | |
Public Member Functions inherited from MDGModifier | |
MDGModifier () | |
The class constructor. | |
virtual | ~MDGModifier () |
The class destructor. | |
MObject | createNode (const MTypeId &typeId, MStatus *ReturnStatus=NULL) |
This method adds an operation to this dependency graph modifier that will add a new dependency graph node of the given type to the dependency graph. More... | |
MObject | createNode (const MString &type, MStatus *ReturnStatus=NULL) |
This method adds an operation to this dependency graph modifier that will add a new dependency graph node of the given type to the dependency graph. More... | |
MStatus | deleteNode (const MObject &node) |
This method adds an operation to this dependency graph modifier that will delete a dependency graph node from the dependency graph. More... | |
MStatus | deleteNode (const MObject &node, bool includeParents) |
Introduced in 2022.0 More... | |
MStatus | renameNode (const MObject &node, const MString &newName) |
This method adds an operation to this dependency graph modifier that will rename a dependency graph node. More... | |
MStatus | setNodeLockState (const MObject &node, bool newState) |
This method adds an operation to this dependency graph modifier that will set the lock state of the node. More... | |
MStatus | connect (const MObject &sourceNode, const MObject &sourceAttr, const MObject &destNode, const MObject &destAttr) |
Adds an operation to this dependency graph modifier that connects two attributes of two nodes in the dependency graph. More... | |
MStatus | disconnect (const MObject &sourceNode, const MObject &sourceAttr, const MObject &destNode, const MObject &destAttr) |
Adds an operation to this dependency graph modifier that disconnects two attributes of two nodes in the dependency graph. More... | |
MStatus | connect (const MPlug &source, const MPlug &dest) |
Adds an operation to this dependency graph modifier that connects two plugs in the dependency graph. More... | |
MStatus | disconnect (const MPlug &source, const MPlug &dest) |
Adds an operation to this dependency graph modifier that disconnects two plugs in the dependency graph. More... | |
MStatus | addAttribute (const MObject &node, const MObject &attribute) |
Add a new dynamic attribute to the given dependency node. More... | |
MStatus | removeAttribute (const MObject &node, const MObject &attribute) |
Removes a dynamic attribute from the given dependency node. More... | |
MStatus | renameAttribute (const MObject &node, const MObject &attribute, const MString &shortName, const MString &longName) |
Renames a dynamic attribute on the given dependency node. More... | |
MStatus | addExtensionAttribute (const MNodeClass &nodeClass, const MObject &attribute) |
Add a new extension attribute to the given dependency node class. More... | |
MStatus | removeExtensionAttribute (const MNodeClass &nodeClass, const MObject &attribute) |
Removes an extension attribute from the given dependency node type. More... | |
MStatus | removeExtensionAttributeIfUnset (const MNodeClass &nodeClass, const MObject &attribute) |
Removes an extension attribute from the given dependency node type but only if there are no nodes in the graph with non-default values for this attribute. More... | |
MStatus | linkExtensionAttributeToPlugin (const MObject &plugin, const MObject &attribute) |
The plugin calls this to indicate that the extension attribute defines part of the plugin, regardless of the node type to which it attaches itself. More... | |
MStatus | unlinkExtensionAttributeFromPlugin (const MObject &mPlugin, const MObject &mAttribute) |
Tells a plugin that it no longer requires an extension attribute for operation. More... | |
MStatus | commandToExecute (const MString &command) |
Adds an operation to this dependency graph modifier that executes a MEL command. More... | |
MStatus | pythonCommandToExecute (const MString &command) |
Adds an operation to this dependency graph modifier that executes a Python command/script. More... | |
MStatus | newPlugValue (const MPlug &plug, MObject &plugValue) |
Adds an operation to this dependency graph modifier that sets a plug value. More... | |
MStatus | newPlugValueBool (const MPlug &plug, bool plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to a boolean value. More... | |
MStatus | newPlugValueChar (const MPlug &plug, char plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to a char value. More... | |
MStatus | newPlugValueDouble (const MPlug &plug, double plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to a double value. More... | |
MStatus | newPlugValueFloat (const MPlug &plug, float plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to a float value. More... | |
MStatus | newPlugValueInt (const MPlug &plug, int plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to an int value. More... | |
MStatus | newPlugValueInt64 (const MPlug &plug, MInt64 plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to a 64-bit int value. More... | |
MStatus | newPlugValueMAngle (const MPlug &plug, const MAngle &plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to an MAngle value. More... | |
MStatus | newPlugValueMDistance (const MPlug &plug, const MDistance &plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to an MDistance value. More... | |
MStatus | newPlugValueMTime (const MPlug &plug, const MTime &plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to an MTime value. More... | |
MStatus | newPlugValueShort (const MPlug &plug, short plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to a short value. More... | |
MStatus | newPlugValueString (const MPlug &plug, const MString &plugValue) |
Adds an operation to this dependency graph modifier that sets a plug to a string value. More... | |
MStatus | removeMultiInstance (const MPlug &plug, bool breakConnections) |
Adds an operation to this dependency graph modifier that removes an element of a multi (array) plug. More... | |
MStatus | setMetadata (const MObject &node, const adsk::Data::Associations &metadata) |
Adds an operation to this dependency graph modifier that replaces metadata on a specific node. More... | |
MStatus | deleteMetadata (const MObject &node) |
Adds an operation to this dependency graph modifier that deletes all metadata from a node. More... | |
MStatus | doIt () |
Executes all of the operations that have been given to this modifier. More... | |
MStatus | undoIt () |
Undoes all of the operations that have been given to this modifier. More... | |
MStatus | addAttribute (const MObject &node, const MObject &attribute, MFnDependencyNode::MAttrClass type) |
Deprecated in 2019.0 More... | |
MStatus | removeAttribute (const MObject &node, const MObject &attribute, MFnDependencyNode::MAttrClass type) |
Deprecated in 2019.0 More... | |
Static Public Member Functions | |
static const char * | className () |
Returns the name of this class. More... | |
Static Public Member Functions inherited from MDGModifier | |
static const char * | className () |
Returns the name of this class. More... | |
Dependency graph modifier.
An MDagModifier is used to change the structure of the DAG. This includes adding nodes, making new connections, and removing existing connections. To perform operations using an MDagModifier, register all of the changes that are to be made and then call the doIt method to make the changes. Undo is provided through the undoIt method.
MObject createNode | ( | const MTypeId & | typeId, |
const MObject & | parent = MObject::kNullObj , |
||
MStatus * | ReturnStatus = NULL |
||
) |
This method adds an operation to this DAG modifier that will add a new node of the given type to the DAG.
This method may not be used to construct new dependency graph nodes that are not in the DAG. Use MDGModifier for that purpose.
When createNode is called, the new node is created and the MObject handle for it is returned. It should be noted that the node will not be added to the DAG until the doIt method is called.
It is legal to pass in a null object as the parent. When this occurs, the new object gets parented under the world node.
Note that nodes cannot exist in the DAG unless they are under a transform. This method will automatically create a transform if one is required. If a transform is created, then the MObject for the transform will be returned instead of the one for the node.
If a node is created with this method, but the operation is undone, then the MDagModifier will take responsibility for freeing the node. This will be done when the MDagModifier is destructed.
[in] | typeId | type of the node to create |
[in] | parent | parent object in the DAG |
[out] | ReturnStatus | return status |
MObject createNode | ( | const MString & | type, |
const MObject & | parent = MObject::kNullObj , |
||
MStatus * | ReturnStatus = NULL |
||
) |
This method adds an operation to this DAG modifier that will add a new node of the given type to the DAG.
This method may not be used to construct new dependency graph nodes that are not in the DAG. Use MDGModifier for that purpose.
When createNode is called, the new node is created and the MObject handle for it is returned. It should be noted that the node will not be added to the DAG until the doIt method is called.
It is legal to pass in a null object as the parent. When this occurs, the new object gets parented under the world node.
Note that nodes cannot exist in the DAG unless they are under a transform. This method will automatically create a transform if one is required. If a transform is created, then the MObject for the transform will be returned instead of the one for the node.
If a node is created with this method, but the operation is undone, then the MDagModifier will take responsibility for freeing the node. This will be done when the MDagModifier is destructed.
[in] | type | type of the node to create |
[in] | parent | parent object in the DAG |
[out] | ReturnStatus | return status |
MStatus reparentNode | ( | const MObject & | node, |
const MObject & | newParent = MObject::kNullObj |
||
) |
This method adds an operation to this DAG modifier that will reparent a node in the DAG.
If the parent passed in is NULL, then the node will be reparented under the world.
[in] | node | node to reparent |
[out] | newParent | new parent for the node |
|
static |
Returns the name of this class.