C++ API Reference
|
DAG Node Function Set. More...
#include <MFnDagNode.h>
Public Types | |
enum | { kNextPos = 0xff } |
Anonymous enum to store constant values. More... | |
enum | MObjectColorType { kUseDefaultColor = 0, kUseIndexColor, kUseRGBColor } |
Enum to set how an object is colored. More... | |
Public Types inherited from MFnDependencyNode | |
enum | MAttrClass { kLocalDynamicAttr = 1, kNormalAttr, kExtensionAttr, kInvalidAttr } |
Specifies the scope of the attribute. More... | |
enum | MdgTimerState { kTimerOff, kTimerOn, kTimerUninitialized, kTimerInvalidState } |
Possible states for the node's timer. More... | |
enum | MdgTimerMetric { kTimerMetric_callback, kTimerMetric_compute, kTimerMetric_dirty, kTimerMetric_draw, kTimerMetric_fetch, kTimerMetric_callbackViaAPI, kTimerMetric_callbackNotViaAPI, kTimerMetric_computeDuringCallback, kTimerMetric_computeNotDuringCallback, kTimerMetrics } |
The different timer metrics which can be queried. More... | |
enum | MdgTimerType { kTimerType_self, kTimerType_inclusive, kTimerType_count, kTimerTypes } |
The types of timers which can be queried. More... | |
Public Member Functions | |
virtual MFn::Type | type () const |
Function set type. More... | |
virtual | ~MFnDagNode () |
Destructor. More... | |
MFnDagNode () | |
Class Constructor. More... | |
MFnDagNode (MObject &object, MStatus *ret=NULL) | |
Not available in Python. More... | |
MFnDagNode (const MDagPath &object, MStatus *ret=NULL) | |
Class Constructor. More... | |
MObject | create (const MTypeId &typeId, MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL) |
Creates a new DAG node with the given type tag. More... | |
MObject | create (const MTypeId &typeId, const MString &name, MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL) |
Creates a new DAG node with the given type tag. More... | |
MObject | create (const MString &type, MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL) |
Creates a new DAG node with the given type tag. More... | |
MObject | create (const MString &type, const MString &name, MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL) |
Creates a new DAG node with the given type tag. More... | |
unsigned int | parentCount (MStatus *ReturnStatus=NULL) const |
Determines the number of parent Nodes of the Node. More... | |
MObject | parent (unsigned int i, MStatus *ReturnStatus=NULL) const |
Queries the DAG Node attached to the Function Set for the parent Node corresponding to the given index. More... | |
MStatus | addChild (MObject &child, unsigned int index=kNextPos, bool keepExistingParents=false) |
Makes the given DAG Node a child of the DAG Node to which this instance of the Function Set is attached. More... | |
MStatus | removeChild (MObject &child) |
Removes the given DAG Node from the parent. More... | |
MStatus | removeChildAt (unsigned int index) |
Removes the child at the given index from the parent. More... | |
unsigned int | childCount (MStatus *ReturnStatus=NULL) const |
Determines the number of child Nodes of the Node. More... | |
MObject | child (unsigned int i, MStatus *ReturnStatus=NULL) const |
Queries the DAG Node attached to the Function Set for the child Node corresponding to the given index. More... | |
MObject | dagRoot (MStatus *ReturnStatus=NULL) |
Determines the root of the first DAG Path to the DAG Node attached to the Function Set. More... | |
bool | hasParent (const MObject &node, MStatus *ReturnStatus=NULL) const |
Determines whether or not the given Node is a parent of the DAG Node attached to the Function Set. More... | |
bool | hasChild (const MObject &node, MStatus *ReturnStatus=NULL) const |
Determines whether or not the given Node is a child of the DAG Node attached to the Function Set. More... | |
bool | isChildOf (const MObject &node, MStatus *ReturnStatus=NULL) const |
Determines whether or not the DAG Node attached to the Function Set is a child of the given node. More... | |
bool | isParentOf (const MObject &node, MStatus *ReturnStatus=NULL) const |
Determines whether or not the DAG Node attached to the Function Set is a parent of the given node. More... | |
bool | inUnderWorld (MStatus *ReturnStatus=NULL) const |
Determines whether or not the DAG Node is an underworld node. More... | |
bool | inModel (MStatus *ReturnStatus=NULL) const |
Determines whether or not the DAG Node is in the model. More... | |
bool | isInstanceable (MStatus *ReturnStatus=NULL) const |
Returns true if the DAG node can be instanced, and false otherwise. More... | |
MStatus | setInstanceable (const bool how) |
Sets whether or not the DAG node is instanceable. More... | |
bool | isInstanced (bool indirect=true, MStatus *ReturnStatus=NULL) const |
Determines whether the DAG Node attached to the Function Set is directly or indirectly instanced. More... | |
bool | isInstancedAttribute (const MObject &attr, MStatus *ReturnStatus=NULL) const |
Returns true if the specified attribute is instanced. More... | |
unsigned int | instanceCount (bool total, MStatus *ReturnStatus=NULL) const |
Determines the number of times the Node attached to the Function Set is instanced. More... | |
MObject | duplicate (bool instance=false, bool instanceLeaf=false, MStatus *ReturnStatus=NULL) const |
This method duplicates the DAG hierarchy rooted at the current node. More... | |
MStatus | getPath (MDagPath &path) const |
Returns a DAG Path to the DAG Node attached to the Function Set. More... | |
MStatus | getAllPaths (MDagPathArray &paths) const |
Determines all DAG Paths to the DAG Node attached to the Function Set. More... | |
MString | fullPathName (MStatus *ReturnStatus=NULL) const |
Return a string representing the full path from the root of the dag to this object. More... | |
MString | partialPathName (MStatus *ReturnStatus=NULL) const |
Return a string representing the partial path from the root of the dag to this object. More... | |
MMatrix | transformationMatrix (MStatus *ReturnStatus=NULL) const |
Returns the object space transformation matrix for this DAG node. More... | |
bool | isIntermediateObject (MStatus *ReturnStatus=NULL) const |
Returns true if this object is an intermediate in a geometry calculation. More... | |
MStatus | setIntermediateObject (bool isIntermediate) |
Sets whether this object is an intermediate in a geometry calculation. More... | |
int | objectColor (MStatus *ReturnStatus=NULL) const |
Deprecated in 2016.0 More... | |
MStatus | setObjectColor (int color) |
Sets the index for the current user defined inactive color used by the node. More... | |
bool | usingObjectColor (MStatus *ReturnStatus=NULL) const |
Deprecated in 2016.0 More... | |
MStatus | setUseObjectColor (bool useObjectColor) |
Deprecated in 2016.0 More... | |
MObjectColorType | objectColorType (MStatus *ReturnStatus=NULL) const |
Determines whether or not the user defined inactive color will be used for the node, or whether the default inactive color will be used. More... | |
MStatus | setObjectColorType (MObjectColorType type) |
Sets whether or not the user defined inactive object color will be used. More... | |
MStatus | setObjectColor (const MColor &color) |
Sets the color value for the current user defined inactive color used by the node. More... | |
MColor | objectColorRGB (MStatus *ReturnStatus=NULL) const |
Determines the RGB color for the current user defined inactive color used by the node. More... | |
int | objectColorIndex (MStatus *ReturnStatus=NULL) const |
Determines the index for the current user defined inactive color used by the node. More... | |
MColor | hiliteColor (MStatus *ReturnStatus=NULL) const |
Determines the current hilite color used by the node. More... | |
bool | usingHiliteColor (MStatus *ReturnStatus=NULL) const |
Determines whether or not the hilite color will be used for the node. More... | |
MColor | dormantColor (MStatus *ReturnStatus=NULL) const |
Determines the dormant color used by this node. More... | |
MColor | activeColor (MStatus *ReturnStatus=NULL) const |
Determines the active color used by this node. More... | |
bool | drawOverrideEnabled (MStatus *ReturnStatus=NULL) const |
Determines whether or not draw override is turned on for this node. More... | |
bool | drawOverrideIsReference (MStatus *ReturnStatus=NULL) const |
Determines whether or not Display Type of the draw override is Reference for this node. More... | |
bool | drawOverrideIsTemplate (MStatus *ReturnStatus=NULL) const |
Determines whether or not Display Type of the draw override is Template for this node. More... | |
bool | drawOverrideColor (MColor &color, MStatus *ReturnStatus=NULL) const |
Determines the draw override color used by this node. More... | |
MStatus | getConnectedSetsAndMembers (unsigned int instanceNumber, MObjectArray &sets, MObjectArray &comps, bool renderableSetsOnly) const |
Returns all the sets connected to the specified instance of this DAG object. More... | |
MBoundingBox | boundingBox (MStatus *ReturnStatus=NULL) const |
Returns the bounding box for the dag node in object space. More... | |
MDagPath | dagPath (MStatus *ReturnStatus=NULL) const |
Returns the DagPath to which the Function Set is attached. More... | |
virtual MStatus | setObject (const MDagPath &path) |
Attaches Function Set to the DAG Node that has the given DAG Path. More... | |
MStatus | setObject (MObject &object) override |
Attaches Function Set to given DAG Node. More... | |
MObject | model (MStatus *ReturnStatus=NULL) const |
Deprecated in 2016.0 More... | |
MFnDagNode (const MObject &object, MStatus *ret=NULL) | |
No script support. More... | |
MStatus | setObject (const MObject &object) override |
No script support. More... | |
Public Member Functions inherited from MFnDependencyNode | |
virtual | ~MFnDependencyNode () |
Destructor. | |
MFnDependencyNode () | |
Default constructor. | |
MFnDependencyNode (MObject &object, MStatus *ReturnStatus=NULL) | |
Constructor. More... | |
MObject | create (const MTypeId &typeId, MStatus *ReturnStatus=NULL) |
Creates a new dependency node with the given type tag. More... | |
MObject | create (const MTypeId &typeId, const MString &name, MStatus *ReturnStatus=NULL) |
Creates a new dependency node with the given type tag. More... | |
MObject | create (const MString &type, MStatus *ReturnStatus=NULL) |
Creates a new dependency node with the given type. More... | |
MObject | create (const MString &type, const MString &name, MStatus *ReturnStatus=NULL) |
Creates a new dependency node with the given type. More... | |
MTypeId | typeId (MStatus *ReturnStatus=NULL) const |
Returns the type id of this node. More... | |
MString | typeName (MStatus *ReturnStatus=NULL) const |
Returns the type name of this node. More... | |
MString | name (MStatus *ReturnStatus=NULL) const |
Returns the name of this node. More... | |
MString | absoluteName (MStatus *ReturnStatus=NULL) const |
Returns the absolute name of this node. More... | |
MString | uniqueName (MStatus *ReturnStatus=NULL) const |
Introduced in 2023.0 More... | |
MString | pluginName (MStatus *ReturnStatus=NULL) const |
Returns the name of the plug-in this MFnDependendencyNode was defined in. More... | |
MString | setName (const MString &name, bool createNamespace=false, MStatus *ReturnStatus=NULL) |
Sets the name of this node. More... | |
MUuid | uuid (MStatus *ReturnStatus=NULL) const |
Returns the node's UUID. More... | |
void | setUuid (const MUuid &uuid, MStatus *ReturnStatus=NULL) |
Sets the node's UUID. More... | |
MStatus | getConnections (MPlugArray &array) const |
Get all of the current connections to this node as an array of plugs. More... | |
unsigned int | attributeCount (MStatus *ReturnStatus=NULL) const |
Returns the number of attributes that this node has. More... | |
MObject | attribute (unsigned int index, MStatus *ReturnStatus=NULL) const |
Finds the attribute of this node at the given index. More... | |
MObject | reorderedAttribute (unsigned int index, MStatus *ReturnStatus=NULL) const |
Some nodes, such as the various animCurve nodes, require that their attributes be set in a specific order for proper operation. More... | |
MObject | attribute (const MString &attrName, MStatus *ReturnStatus=NULL) const |
Finds the attribute of this node that has the given name. More... | |
MAttrClass | attributeClass (const MObject &attr, MStatus *ReturnStatus=NULL) const |
Returns the class (normal, dynamic, extension) of the specified attribute. More... | |
MStatus | getAffectedAttributes (const MObject &attr, MObjectArray &affectedAttributes) const |
Returns an array of attributes that are affected by the attribute passed in. More... | |
MStatus | getAffectedByAttributes (const MObject &attr, MObjectArray &affectedByAttributes) const |
Returns an array of attributes that affect the attribute passed in, attr. More... | |
MPlug | findPlug (const MObject &attr, bool wantNetworkedPlug, MStatus *ReturnStatus=NULL) const |
Attempt to find a plug for the given attribute. More... | |
MPlug | findPlug (const MString &attrName, bool wantNetworkedPlug, MStatus *ReturnStatus=NULL) const |
Attempt to find a plug for the given attribute. More... | |
MPlug | findPlug (const MObject &attr, MStatus *ReturnStatus=NULL) const |
Deprecated in 2019.0 More... | |
MPlug | findPlug (const MString &attrName, MStatus *ReturnStatus=NULL) const |
Deprecated in 2019.0 More... | |
MStatus | addAttribute (const MObject &attr) |
Add a new dynamic attibute to this node. More... | |
MStatus | removeAttribute (const MObject &attr) |
Remove a dynamic attribute from a node. More... | |
MPxNode * | userNode (MStatus *ReturnStatus=NULL) const |
If the function set's node is a plug-in node, then this method will extract the MPxNode pointer from it. More... | |
bool | isFromReferencedFile (MStatus *ReturnStatus=NULL) const |
Indicates whether or not this node came from a referenced file. More... | |
bool | isShared (MStatus *ReturnStatus=NULL) const |
Indicates whether or not this node is shared. More... | |
bool | isTrackingEdits (MStatus *ReturnStatus=NULL) const |
Returns whether or not edits on the given node are being tracked by the generalized edit system. More... | |
bool | hasUniqueName (MStatus *ReturnStatus=NULL) const |
Indicates whether or not this node's name is unique within the scene. More... | |
MString | parentNamespace (MStatus *ReturnStatus=NULL) const |
Returns the name of the namespace in which this node resides. More... | |
bool | isLocked (MStatus *ReturnStatus=NULL) const |
Indicates whether or not this node is locked. More... | |
MStatus | setLocked (bool locked) |
Locks or unlocks this node. More... | |
bool | isNewAttribute (const MObject &attr, MStatus *ReturnStatus=NULL) const |
Indicates whether or not the specified attribute was added to this node within the current scene. More... | |
MStatus | setFlag (unsigned int flag, bool state) |
Sets the state of the specified flag for the node. More... | |
bool | isFlagSet (unsigned int flag, MStatus *ReturnStatus=NULL) const |
Retrieves the current state of the specified flag for a node. More... | |
bool | isDefaultNode (MStatus *ReturnStatus=NULL) const |
Returns true if the node is a default node. More... | |
MStatus | setDoNotWrite (bool flag) |
Use this method to mark the "do not write" state of this node. More... | |
bool | canBeWritten (MStatus *ReturnStatus=NULL) const |
Returns the do not write state of the node. More... | |
bool | hasAttribute (const MString &name, MStatus *ReturnStatus=NULL) const |
Returns true if the node already has an attribute with the given name. More... | |
MObject | getAliasAttr (bool force, MStatus *ReturnStatus=NULL) |
Returns the node's alias attribute, which is a special attribute used to store information about the node's attribute aliases. More... | |
bool | setAlias (const MString &alias, const MString &name, const MPlug &plug, bool add=true, MStatus *ReturnStatus=NULL) |
Sets or removes an alias (i.e. More... | |
bool | findAlias (const MString &alias, MObject &attrObj, MStatus *ReturnStatus=NULL) const |
Retrieves the attribute with the given alias. More... | |
bool | getAliasList (MStringArray &strArray, MStatus *ReturnStatus=NULL) |
Returns a list of all attribute aliases for this node. More... | |
MString | plugsAlias (const MPlug &plug, MStatus *ReturnStatus=NULL) |
Returns the alias for the plug's attribute or the empty string if that attribute has no alias. More... | |
MStatus | setIcon (const MString &filename) |
Associates a custom icon with the node for display in the Maya UI. More... | |
MString | icon (MStatus *ReturnStatus=NULL) const |
Returns the custom icon filename associated with the node. More... | |
MStatus | getExternalContent (MExternalContentInfoTable &table) const |
Returns the external content (files) that this node depends on. More... | |
MStatus | addExternalContentForFileAttr (MExternalContentInfoTable &table, const MObject &attr) const |
Adds content info to the specified table from a file path attribute. More... | |
MStatus | setExternalContentForFileAttr (const MObject &attr, const MExternalContentLocationTable &table) |
Sets content info in the specified attribute from the table. More... | |
MStatus | setExternalContent (const MExternalContentLocationTable &table) |
Changes the location of external content. More... | |
bool | affectsAnimation (MStatus *ReturnStatus=NULL) const |
Introduced in 2019.0 More... | |
MStatus | setAffectsAnimation () |
Introduced in 2019.0 More... | |
MString | setName (const MString &name, MStatus *ReturnStatus) |
Deprecated in 2019.0 More... | |
MFnDependencyNode (const MObject &object, MStatus *ReturnStatus=NULL) | |
Not available in Python. More... | |
bool | getPlugsAlias (const MPlug &plug, MString &aliasName, MStatus *ReturnStatus=NULL) |
Not available in Python. More... | |
virtual const adsk::Data::Associations * | metadata (MStatus *ReturnStatus=NULL) const |
Not available in Python. More... | |
virtual MStatus | setMetadata (const adsk::Data::Associations &) |
Not available in Python. More... | |
virtual MStatus | deleteMetadata () |
Not available in Python. More... | |
virtual MStatus | validateMetadata (MString &errors) const |
Not available in Python. More... | |
MStatus | dgTimerOn () |
Indicates that this node should collect DG timing data whenever DG timing is enabled. More... | |
MStatus | dgTimerOff () |
Indicates that this node should no longer collect DG timing data when DG timing is enabled. More... | |
MdgTimerState | dgTimerQueryState (MStatus *ReturnStatus=NULL) |
The function returns the current on/off state of the node's timer. More... | |
MStatus | dgTimerReset () |
The function resets the dependency graph timers and counters for this node to zero. More... | |
double | dgTimer (const MdgTimerMetric timerMetric, const MdgTimerType timerType, MStatus *ReturnStatus=NULL) const |
The function returns the specified timer value for the current node. More... | |
MStatus | dgCallbacks (const MdgTimerType type, MStringArray &callbackName, MDoubleArray &value) |
Node callbacks that occur when timing is enabled get logged with the node and can be queried via this method. More... | |
MStatus | dgCallbackIds (const MdgTimerType type, const MString &callbackName, MCallbackIdArray &callbackId, MDoubleArray &value) |
This method provides a further breakdown of the per-callback time returned via dgCallbacks() by returning the data on a per-callbackId basis. More... | |
MStatus | addAttribute (const MObject &attr, MAttrClass type) |
Deprecated in 2019.0 More... | |
MStatus | removeAttribute (const MObject &attr, MAttrClass type) |
Deprecated in 2019.0 More... | |
Public Member Functions inherited from MFnBase | |
virtual | ~MFnBase () |
Class Destructor. More... | |
bool | hasObj (MFn::Type) const |
Determines whether or not the Function Set is compatible with the specified Maya Object within the API RTTI system. More... | |
bool | hasObj (const MObject &) const |
Determines whether or not the Function Set is compatible with the specified Maya Object within the API RTTI system. More... | |
MObject | object (MStatus *ReturnStatus=nullptr) const |
Returns the MObject that is attached to the Function Set. More... | |
Static Public Member Functions | |
static const char * | className () |
Returns the name of this class. More... | |
Static Public Member Functions inherited from MFnDependencyNode | |
static const char * | className () |
Returns the name of this class. More... | |
static MString | classification (const MString &nodeTypeName) |
Retrieves the classification string for a node type. More... | |
static unsigned int | allocateFlag (const MString pluginName, MStatus *ReturnStatus=NULL) |
Allocates a node flag for sole use by the caller. More... | |
static MStatus | deallocateFlag (const MString pluginName, unsigned int flag) |
Deallocates a node flag which was previously allocated by a call to allocateFlag. More... | |
static MStatus | deallocateAllFlags (const MString pluginName) |
Deallocates all of the node flags which are currently allocated to the specified plugin. More... | |
static void | enableDGTiming (bool enable) |
Globally enables or disables the DG node timing mechanism. More... | |
Static Public Member Functions inherited from MFnBase | |
static const char * | className () |
Returns the name of this class. More... | |
static const char * | typeString (MFn::Type) |
Introduced in 2020.0 More... | |
static bool | isValid (MFn::Type) |
Introduced in 2020.0 More... | |
DAG Node Function Set.
Provides methods for attaching Function Sets to, querying, and adding children to DAG Nodes. Particularly useful when used in conjunction with the DAG Iterator class (MItDag).
The MFnDagNode function set is used to query and set the attributes of nodes in the DAG (Directed Acyclic Graph). The DAG is a graph that describes the hierarchy of the objects in the model. At each level of the hierarchy there is a four by four transformation matrix that affects all of the objects beneath it in the DAG.
In the DAG, geometry objects (also known as shapes) do not have transformation information associated with them. Only transform nodes have actual transform matrices (see MFnTransform).
Each node that exists in the DAG is also a dependency node that exists in the dependency graph. This makes it possible to control the attributes of a DAG node based on calculations performed by dependency nodes.
There are two ways to specify a DAG node in Maya. The first is to use an MObject handle, which acts as a pointer to a specific node in the DAG. Given only an MObject, it is not possible to do world space operations on a DAG node because there may be more than one path through the DAG to any given node. In other words, it is not possible to identify a particular instance only given an MObject.
In many cases it is preferable to use a DAG path (MDagPath) to specify a DAG node. A DAG path always refers to a specific instance of an object. This makes it possible to perform unambiguous world space transformations.
It is also possible to iterate over the nodes in the DAG using a DAG iterator (MItDag).
anonymous enum |
enum MObjectColorType |
|
virtual |
Destructor.
Class Destructor.
Deletes the working copy of the DAG Path to the attached object, if the copy exists.
MFnDagNode | ( | ) |
Class Constructor.
Creates a DAG Node Function Set without an attached DAG Node.
MFnDagNode | ( | MObject & | object, |
MStatus * | ret = NULL |
||
) |
Not available in Python.
Class Constructor
Creates a DAG Node Function Set and attaches it to the given DAG Node.
[in] | object | The DAG Node to be attached. |
[out] | ret | Status Code (see below) |
MFnDagNode | ( | const MDagPath & | object, |
MStatus * | ret = NULL |
||
) |
Class Constructor.
Creates a DAG Node Function Set and attaches it to the DAG Node that has the given DAG Path.
[in] | object | The DAG Path of the Node to be attached. |
[out] | ret | Status Code (see below) |
MFnDagNode | ( | const MObject & | object, |
MStatus * | ret = NULL |
||
) |
No script support.
Class Constructor.
Creates a DAG Node Function Set and attaches it to the given read only DAG Node.
[in] | object | The read only DAG Node to be attached. |
[out] | ret | Status Code (see below) |
|
virtual |
Function set type.
Return the class type : MFn::kDagNode.
Reimplemented from MFnDependencyNode.
Reimplemented in MFnSubd, MFnMesh, MFnTransform, MFnNurbsSurface, MFnNurbsCurve, MFnAssembly, MFnParticleSystem, MFnIkJoint, MFnLattice, MFnRotateManip, MFnScaleManip, MFnFluid, MFnFreePointTriadManip, MFnSpotLight, MFnToggleManip, MFnCamera, MFnHikEffector, MFnDirectionManip, MFnDistanceManip, MFnIkEffector, MFnManip3D, MFnStateManip, MFnCircleSweepManip, MFnCurveSegmentManip, MFnDragField, MFnLight, MFnNewtonField, MFnNonAmbientLight, MFnNonExtendedLight, MFnPointOnCurveManip, MFnPointOnSurfaceManip, MFnRadialField, MFnVortexField, MFnAmbientLight, MFnAreaLight, MFnDirectionalLight, MFnDiscManip, MFnGravityField, MFnPfxGeometry, MFnPointLight, MFnTurbulenceField, MFnUniformField, MFnVolumeAxisField, MFnVolumeLight, MFnAirField, MFnField, MFnIkHandle, and MFnInstancer.
|
static |
Returns the name of this class.
Return the class name : "MFnDagNode".
MObject create | ( | const MTypeId & | typeId, |
MObject & | parent = MObject::kNullObj , |
||
MStatus * | ReturnStatus = NULL |
||
) |
Creates a new DAG node with the given type tag.
The new node is placed into the DAG.
If a parent is specified, the new node is parented to it, and the new node is returned. If no parent is specified and the new node is a transform, the new node is returned. Otherwise, a transform created and the new node is automatically parented to it. The returned object is the transform, not the new node.
[in] | typeId | type id of the node to be created |
[in] | parent | the parent of the node to be created |
[out] | ReturnStatus | Status code. |
MObject create | ( | const MTypeId & | typeId, |
const MString & | name, | ||
MObject & | parent = MObject::kNullObj , |
||
MStatus * | ReturnStatus = NULL |
||
) |
Creates a new DAG node with the given type tag.
The new node is placed into the DAG.
If a parent is specified, the new node is parented to it, and the new node is returned. If no parent is specified and the new node is a transform, the new node is returned. Otherwise, a transform created and the new node is automatically parented to it. The returned object is the transform, not the new node.
[in] | typeId | type id of the node to be created |
[in] | name | the name to be assigned to the new node If the node's name is not unique, it will be given a unique name by changing its numerical suffix. For example, if this node is called "myNode" and a node by the same name exists, this node will be renamed to "myNode1". |
[in] | parent | the parent of the node to be created |
[out] | ReturnStatus | Status code. |
MObject create | ( | const MString & | type, |
MObject & | parent = MObject::kNullObj , |
||
MStatus * | ReturnStatus = NULL |
||
) |
Creates a new DAG node with the given type tag.
The new node is placed into the DAG.
If a parent is specified, the new node is parented to it, and the new node is returned. If no parent is specified and the new node is a transform, the new node is returned. Otherwise, a transform created and the new node is automatically parented to it. The returned object is the transform, not the new node.
[in] | type | Name of the type of DAG node to create. |
[in] | parent | The DAG parent of this node. |
[out] | ReturnStatus | Status code. |
MObject create | ( | const MString & | type, |
const MString & | name, | ||
MObject & | parent = MObject::kNullObj , |
||
MStatus * | ReturnStatus = NULL |
||
) |
Creates a new DAG node with the given type tag.
The new node is placed into the DAG.
If a parent is specified, the new node is parented to it, and the new node is returned. If no parent is specified and the new node is a transform, the new node is returned. Otherwise, a transform created and the new node is automatically parented to it. The returned object is the transform, not the new node.
[in] | type | Name of the type of DAG node to create. |
[in] | name | Name to be assigned to the new node. If the node's name is not unique it will be given a unique name by adding a numerical suffix. For example, if name contains "myNode" and a node with that name already exists, the new node will be named "myNode1". |
[in] | parent | The DAG parent of this node. |
[out] | ReturnStatus | Status code. |
unsigned int parentCount | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines the number of parent Nodes of the Node.
Used to determine the upper bound for the parent index (max index = parentCount-1).
[out] | ReturnStatus | Status code. |
Queries the DAG Node attached to the Function Set for the parent Node corresponding to the given index.
[in] | i | Index to the parent Node |
[out] | ReturnStatus | Status code. |
MStatus addChild | ( | MObject & | child, |
unsigned int | index = kNextPos , |
||
bool | keepExistingParents = false |
||
) |
Makes the given DAG Node a child of the DAG Node to which this instance of the Function Set is attached.
By default, the child will be added to the end of the child list. If an index is specified, and it is less than or equal to the upper bound, Maya will add the child to the specified index and shift the position of subsequent children onto the next position. If the index is greater than the upper bound, the behavior is undefined.
By default, the child is removed from its existing parents as a result of this operation. If the flag keepExistingParents is set to true, the child will keep its existing parents and a new instance connection will be created for the new node. Any instanced attributes downstream from the new child will be updated with new instance numbers.
[in] | child | The node to be added as child |
[in] | index | The index that the child should be position. Defaulted to MFnDagNode::kNextPos |
[in] | keepExistingParents | Should the child be instanced? |
Removes the given DAG Node from the parent.
Once the child is removed, all children at higher indices would shift 1 position to the left.
If the child being removed is an instance, any instance attributes downstream from the node being removed will be updated with the new instance count.
[in] | child | The Node to be removed as child |
MStatus removeChildAt | ( | unsigned int | index | ) |
Removes the child at the given index from the parent.
Once the child is removed, all children at higher indices would shift 1 position to the left.
If the child being removed is an instance, any instance attributes downstream from the node being removed will be updated with the new instance count.
[in] | index | The index of the child. |
unsigned int childCount | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines the number of child Nodes of the Node.
Used to determine the upper bound for the child index (max index = childCount-1).
[out] | ReturnStatus | Status code. |
Queries the DAG Node attached to the Function Set for the child Node corresponding to the given index.
[in] | i | Index to the child Node |
[out] | ReturnStatus | Status code. |
Determines the root of the first DAG Path to the DAG Node attached to the Function Set.
[out] | ReturnStatus | Status code. |
Determines whether or not the given Node is a parent of the DAG Node attached to the Function Set.
[in] | node | Potential parent node |
[out] | ReturnStatus | Status code. |
Determines whether or not the given Node is a child of the DAG Node attached to the Function Set.
[in] | node | node to check |
[out] | ReturnStatus | Status code. |
Determines whether or not the DAG Node attached to the Function Set is a child of the given node.
[in] | node | node to check |
[out] | ReturnStatus | Status code. |
Determines whether or not the DAG Node attached to the Function Set is a parent of the given node.
[in] | node | node to check |
[out] | ReturnStatus | Status code. |
bool inUnderWorld | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines whether or not the DAG Node is an underworld node.
(An example of an underworld node is a curve on surface.)
[out] | ReturnStatus | Status code. |
bool inModel | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines whether or not the DAG Node is in the model.
[out] | ReturnStatus | Status code. |
bool isInstanceable | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns true if the DAG node can be instanced, and false otherwise.
[out] | ReturnStatus | Status code. |
MStatus setInstanceable | ( | const bool | how | ) |
Sets whether or not the DAG node is instanceable.
If the node is marked as noninstanceable, then if Maya attempts to create instances on the node the instancing operation will not succeed and instead an error will be reported. A node cannot be marked non-instanceable if it or any of its children are currently instanced. MS::kFailure will be returned it this occurs. The default instanceable state for newly created nodes if true, meaning that nodes can be instanced by default.
[in] | how | true if the node should be made instanceable, false to make the node noninstanceable. |
bool isInstanced | ( | bool | indirect = true , |
MStatus * | ReturnStatus = NULL |
||
) | const |
Determines whether the DAG Node attached to the Function Set is directly or indirectly instanced.
If indirect instance flag is false, the result is true if and only if the Node itself is multiply instanced (node->parentCount > 1).
If the indirect flag is true, the result is true if and only if the Node itself is multiply instanced (node->parentCount > 1) or if the Node is not multiply instanced, but it has a directly instanced parent (node->parentCount()=1 amd parent->parentCount >1).
[in] | indirect | Indirect instance flag |
[out] | ReturnStatus | Status code. |
Returns true if the specified attribute is instanced.
An instanced attribute is an array attribute whose index depends upon which instance of the node is being referred to.
Attributes are not instanced by default.
[in] | attribute | The attribute to test. |
[out] | ReturnStatus | Status code. |
unsigned int instanceCount | ( | bool | total, |
MStatus * | ReturnStatus = NULL |
||
) | const |
Determines the number of times the Node attached to the Function Set is instanced.
If indirect instance flag is false, the number of direct instances is returned.
If the indirect flag is true, the total number of times the Node is instanced in the DAG above it is returned.
[in] | total | Indirect instance flag |
[out] | ReturnStatus | Status code. |
MObject duplicate | ( | bool | instance = false , |
bool | leafInstance = false , |
||
MStatus * | ReturnStatus = NULL |
||
) | const |
This method duplicates the DAG hierarchy rooted at the current node.
The copy will have the same parent, if any, as the original node.
If instance is false then a true copy will be made, otherwise a new node will be created which instances the child nodes of the original node. If instance is false then instanceLeaf is ignored.
If instance is true and instanceLeaf is false then the child nodes of the original node are instanced. If instanceLeaf is true, then the results are similar to a copy, but the leaf level objects are instanced.
If the function set is initialized without an MDagPath, then this method uses the first path to the node. This is only a problem if the node has been instanced, in which case the simple solution is to use an MDagPath to initialize the function set.
[in] | instance | Duplicate using instancing if true |
[in] | leafInstance | Instance only at the leaf level if true |
[out] | ReturnStatus | Status code. |
Returns a DAG Path to the DAG Node attached to the Function Set.
The difference between this method and the method dagPath below is that this one will not fail if the function set is not attached to a dag path, it will always return a path to the node. dagPath will fail if the function set is not attached to a dag path.
[out] | path | The DAG Path that is found (implicit return) |
MStatus getAllPaths | ( | MDagPathArray & | paths | ) | const |
Determines all DAG Paths to the DAG Node attached to the Function Set.
[out] | paths | Array of all DAG Paths that are found (implicit return) |
Return a string representing the full path from the root of the dag to this object.
[out] | ReturnStatus | Status code. |
Return a string representing the partial path from the root of the dag to this object.
The partial path is the minimum path that is still unique. This string may contain wildcards.
[out] | ReturnStatus | Status code. |
Returns the object space transformation matrix for this DAG node.
In general, only transform nodes have matrices associated with them. Nodes such as shapes (geometry nodes) do not have transform matrices.
The identity matrix will be returned if this node does not have a transformation matrix.
[out] | ReturnStatus | Status code. |
bool isIntermediateObject | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns true if this object is an intermediate in a geometry calculation.
When geometry calculations are performed using dependency nodes, it is sometimes necessary to use intermediate objects. These objects are not draw or rendered. For example, deformers use intermediate geometry during their calculations.
This method exists to provide a more convenient way of accessing the intermediateObject attribute of DAG nodes.
[out] | ReturnStatus | Status code. |
MStatus setIntermediateObject | ( | bool | isIntermediate | ) |
Sets whether this object is an intermediate in a geometry calculation.
When geometry calculations are performed using dependency nodes, it is sometimes necessary to use intermediate objects. These objects are not draw or rendered. For example, deformers use intermediate geometry during their calculations.
This method exists to provide a more convenient way of accessing the intermediateObject attribute of DAG nodes.
[in] | isIntermediate | whether to make this an intermediate object |
int objectColor | ( | MStatus * | ReturnStatus = NULL | ) | const |
Deprecated in 2016.0
Determines the index for the current user defined inactive color used by the node.
Valid indices are from 0 to 7.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[out] | ReturnStatus | Status code. |
MStatus setObjectColor | ( | int | index | ) |
Sets the index for the current user defined inactive color used by the node.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[in] | index | Index for current user color (0 - 7) |
bool usingObjectColor | ( | MStatus * | ReturnStatus = NULL | ) | const |
Deprecated in 2016.0
Determines whether or not the user defined inactive color will be used for the node, or whether the default inactive color will be used.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[out] | ReturnStatus | Status code. |
MStatus setUseObjectColor | ( | bool | useObjectColor | ) |
Deprecated in 2016.0
Sets whether or not the user defined inactive object color will be used.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[in] | useObjectColor | True means the user defined inactive object color will be used |
MFnDagNode::MObjectColorType objectColorType | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines whether or not the user defined inactive color will be used for the node, or whether the default inactive color will be used.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[out] | ReturnStatus | Status code. |
MStatus setObjectColorType | ( | MObjectColorType | type | ) |
Sets whether or not the user defined inactive object color will be used.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[in] | type | MFnDagNode::kUseDefaultColor - the color defined in the color preferences will be used. MFnDagNode::kUseIndexColor - the user-defined inactive object indexed color will be used MFnDagNode::kUseRGBColor - the user defined inactive RGB object color will be used |
Sets the color value for the current user defined inactive color used by the node.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[in] | color | Color to be set |
Determines the RGB color for the current user defined inactive color used by the node.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[out] | ReturnStatus | Status code. |
int objectColorIndex | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines the index for the current user defined inactive color used by the node.
Valid indices are from 0 to 7.
This method is only meaningful for shape or joint nodes (e.g. nurbs curves/surfaces, meshes). It will work for other nodes, but will have no visible effect.
[out] | ReturnStatus | Status code. |
Determines the current hilite color used by the node.
[out] | ReturnStatus | Status code. |
bool usingHiliteColor | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines whether or not the hilite color will be used for the node.
hilite command sets this flag to true.
[out] | ReturnStatus | Status code. |
Determines the dormant color used by this node.
The order to determine the dormant color is:
[out] | ReturnStatus | Status code. |
Determines the active color used by this node.
The active color is the active color for this kind of dag node.
[out] | ReturnStatus | Status code. |
bool drawOverrideEnabled | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines whether or not draw override is turned on for this node.
[out] | ReturnStatus | Status code. |
bool drawOverrideIsReference | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines whether or not Display Type of the draw override is Reference for this node.
[out] | ReturnStatus | Status code. |
bool drawOverrideIsTemplate | ( | MStatus * | ReturnStatus = NULL | ) | const |
Determines whether or not Display Type of the draw override is Template for this node.
[out] | ReturnStatus | Status code. |
Determines the draw override color used by this node.
Returns true if there is a draw override color. Otherwise, returns false and color parameter is not changed.
[out] | color | The draw override color. |
[out] | ReturnStatus | Status code. |
MStatus getConnectedSetsAndMembers | ( | unsigned int | instanceNumber, |
MObjectArray & | sets, | ||
MObjectArray & | comps, | ||
bool | renderableSetsOnly | ||
) | const |
Returns all the sets connected to the specified instance of this DAG object.
For each set in the "sets" array there is a corresponding entry in the "comps" array which are all the components in that set. If the entire object is in a set, then the corresponding entry in the comps array will have no elements in it.
[in] | instanceNumber | The instance number of the mesh to query |
[out] | sets | Storage for the sets |
[out] | comps | Storage for the components that are in the corresponding set |
[in] | renderableSetsOnly | If true then this method will only return renderable sets |
MBoundingBox boundingBox | ( | MStatus * | ReturnStatus = NULL | ) | const |
Returns the bounding box for the dag node in object space.
[out] | ReturnStatus | Status code. |
Returns the DagPath to which the Function Set is attached.
The difference between this method and the method getPath above is that this one will fail if the function set is not attached to a dag path. getPath will find a dag path if the function set is not attached to one.
[out] | ReturnStatus | Status code. |
Attaches Function Set to the DAG Node that has the given DAG Path.
[in] | objectPath | DAG Path to Node to be attached. |
Attaches Function Set to given DAG Node.
[in] | object | Target Node for attachment. |
Reimplemented from MFnBase.
Deprecated in 2016.0
[out] | ReturnStatus | Status code. |
No script support.
Not available in Python.
Attaches Function Set to given read only DAG Node.
[in] | object | Target Node for attachment. |
Reimplemented from MFnBase.