Create and Access dependency node plugs.
MPlug provides methods for creating plugs, and accessing the plugs' dependency node and attributes.
A plug is a point on a dependency node where a particular attribute can be connected. In simple cases the plug and attribute are equivalent. When you have array attributes, however, the plug is more specific in that it indicates which of the array elements is to be connected.
There are two main types of plugs: networked plugs and non-networked plugs. Non-networked plugs can be considered user plugs as they are created by users and belong to users. Networked plugs can be considered dependency node plugs as they are part of the dependency graph and can only be referenced by users.
In every dependency node there is a network or "tree" of plugs indicating connections that have been made to attributes of the node. The plugs in this tree are known as networked plugs as they belong to the dependency node's network.
Non-networked plugs are plugs that you can create in order to establish a new connection to an attribute, or to get or set a value on an attribute. When a connection is made using these plugs, a networked version of the plug is created and added to the dependency nodes network.
A networked plug cannot be explicitly created. They are created when a connection is established for some attribute of the node. Since the allocation of networked plugs is managed exclusively by Maya, a plugin should never reference a networked plug after changes are made to the DG. Instead, use a non-networked version of the plug, or get a new reference to the networked plug.
All a non-networked plug knows is how to uniquely describe the attribute that it references, in fact the purpose of a non-networked plug is to specify, without ambiguity, an attribute of a dependency node. A non-networked plug contains an array of array indices that plot the path from the root plug to this plug.
For simple attributes the plug and attribute are equivalent. Compound attributes are also unambiguous. A plug that refers to an array attribute, however, is more complex as it can refer to the array plug or an element plug in the array.
Several methods are provided for navigating the plug tree. The child method can be used to retrieve the child plugs of a compound plug. The elementByLogicalIndex and elementByPhysicalIndex methods can be used to retrieve the element plugs of an array plug. The parent and array methods traverse the tree in the opposite direction: parent retrieves a compound plug from a child plug, and array retrieves an array plug from an element plug.
Since connections to arrays are sparse, element plugs have both logical and physical indexes. The logical indexes are used by MEL, and are sparse. Physical indexes, on the other hand, are not sparse. It is guaranteed that the physical indexes will range from 0 to numElements() - 1. Using the physical indexes, iterating over the element plugs in an array is easy:
// See note below on numElements() method for (i = 0; i < arrayPlug.numElements (); i++) { MPlug elementPlug = arrayPlug [i]; unsigned int logicalIndex = elementPlug.logicalIndex(); // ... }
This is equivalent to calling elementByPhysicalIndex since the bracket operator uses physical indexes.
The ancestry of a plug is the tree above the plug: any parents or arrays which this plug belongs to. The selectAncestorLogicalIndex method provides quick access to element plugs without walking the plug tree. A plug does not need to exist in the datablock or plug tree in order to be constructed using selectByLogicalIndex, but once a value is requested or set on the plug, it will be added to the datablock if it was not there already. For example:
MPlug plug(node,attribute); // See note below on numElements() method unsigned int count = plug.numElements(); if (0 == count) { plug.selectAncestorLogicalIndex(0,attribute); plug.setValue(setVal); count = plug.numElements(); // count will now be 1 since we added a value plug.selectAncestorLogicalIndex(10,attribute); MObject getVal; plug.getValue(getVal); count = plug.numElements(); // count will now be 2 since we asked for a value }
Once a value has been added to an array plug, it will usually remain in the datablock as long as the scene is open. The exception is for attributes that have their disconnect behavior set to kDelete; data for these attributes will be deleted when their connection is broken. When a file is saved, only array values that are not at their default values will be written out. Therefore, the number of elements in an array plug may change when the file is read in again.
affectsNode.cpp, animCubeNode.cpp, animExportUtil.cpp, animInfoCmd.cpp, anisotropicShader.cpp, apiMeshCreator.cpp, apiMeshCreator.h, apiMeshShape.cpp, apiMeshShape.h, arcLenNode.cpp, backfillShader.cpp, blindComplexDataCmd.cpp, blindDataMesh.cpp, blindDataMesh.h, blindDataShader.cpp, blindDataShader.h, blindDoubleDataCmd.cpp, brickShader.cpp, buildRotationNode.cpp, cellShader.cpp, cgfxAttrDef.cpp, cgfxAttrDef.h, cgfxShaderNode.cpp, cgfxShaderNode.h, cgfxVector.cpp, cgfxVector.h, checkerShader.cpp, circleNode.cpp, clearcoat.cpp, closestPointCmd.cpp, closestPointOnCurveCmd.cpp, closestPointOnCurveNode.cpp, closestPointOnCurveNode.h, clothPaintAttrCmd.cpp, componentScaleManip.cpp, compositingShader.cpp, contrastShader.cpp, createClipCmd.cpp, curvedArrowsNode.cpp, customAttrManip.cpp, customImagePlane.cpp, cvColorNode.cpp, cvColorShader.cpp, D3DResourceManager.cpp, D3DViewportRenderer.cpp, dagPoseInfoCmd.cpp, depthShader.cpp, displacementShader.cpp, dynExprField.cpp, dynExprField.h, exampleMRampAttribute.cpp, exportJointClusterDataCmd.cpp, filteredAsciiFile.cpp, findFileTexturesCmd.cpp, findTexturesPerPolygonCmd.cpp, flameShader.cpp, footPrintManip.cpp, footPrintNode.cpp, fullLoftNode.cpp, gammaShader.cpp, genericAttributeNode.cpp, geometrySurfaceConstraint.cpp, geometrySurfaceConstraint.h, geomShader.cpp, GLSLShaderNode.cpp, GLSLShaderNode.h, hlslShader.cpp, hlslShader.h, hwAnisotropicShader_NV20.cpp, hwColorPerVertexShader.cpp, hwDecalBumpShader_NV20.cpp, hwDecalBumpShader_NV20.h, hwPhongShader.cpp, hwPhongShader.h, hwPhongShaderBehavior.cpp, hwPhongShaderBehavior.h, hwReflectBumpShader_NV20.cpp, hwReflectBumpShader_NV20.h, hwRefractReflectShader_NV20.cpp, hwRefractReflectShader_NV20.h, hwToonShader_NV20.cpp, hwToonShader_NV20.h, hwUnlitShader.cpp, hwUnlitShader.h, interpShader.cpp, intersectCmd.cpp, jitterNode.cpp, lambertShader.cpp, latticeNoise.h, latticeNoiseNode.cpp, lavaShader.cpp, lightShader.cpp, lockEvent.cpp, maTranslator.cpp, meshOpCmd.cpp, meshOpNode.cpp, meshOpNode.h, mixtureShader.cpp, motionTraceCmd.cpp, moveManip.cpp, MTextureCache.cpp, multiCurveNode.cpp, narrowPolyViewer.h, nodeInfoCmd.cpp, nodeMessageCmd.cpp, noiseShader.cpp, ownerEmitter.cpp, ownerEmitter.h, particleAttrNode.cpp, particleAttrNode.h, phongShader.cpp, pluginMain.cpp, pnTrianglesNode.cpp, pnTrianglesNode.h, pointOnMeshCmd.cpp, pointOnMeshInfoNode.cpp, pointOnMeshInfoNode.h, pointOnSubdNode.cpp, pointOnSubdNode.h, polyExporter.cpp, polyModifierCmd.cpp, polyModifierCmd.h, polyTrgNode.cpp, polyWriter.cpp, quadricShape.cpp, renderAccessNode.cpp, rockingTransform.cpp, rockingTransform.h, rockingTransformCheck.cpp, rockingTransformCheck.h, rotateManip.cpp, ShadingConnection.cpp, ShadingConnection.h, shadowMatteShader.cpp, shellNode.cpp, shiftNode.cpp, simpleEmitter.cpp, simpleEmitter.h, simpleFluidEmitter.cpp, simpleFluidEmitter.h, simpleLoftNode.cpp, simpleSpring.cpp, simpleSpring.h, sineNode.cpp, slopeShaderBehavior.cpp, slopeShaderBehavior.h, slopeShaderNode.cpp, slopeShaderNode.h, solidCheckerShader.cpp, splitUVCmd.cpp, splitUVNode.cpp, splitUVNode.h, squareScaleManipContext.cpp, stringFormatNode.cpp, surfaceBumpManip.cpp, sweptEmitter.cpp, sweptEmitter.h, swissArmyManip.cpp, testNobjectNode.cpp, testNobjectNode.h, testNucleusNode.cpp, testNucleusNode.h, torusField.cpp, torusField.h, transCircleNode.cpp, volumeShader.cpp, and weightListNode.cpp.
#include <MPlug.h>
Public Types |
|
enum | MValueSelector { kAll, kNonDefault, kChanged, kLastAttrSelector } |
Which values to generate setAttr commands for. More... |
|
enum | FreeToChangeState { kFreeToChange = 0, kNotFreeToChange, kChildrenNotFreeToChange } |
Plug state returned by isFreeToChange. More... |
|
Public Member Functions |
|
MPlug () | |
Constructor. |
|
MPlug (const MPlug &in) | |
Copy constructor. |
|
MPlug (const MObject &node, const MObject &attribute) | |
Constructor. |
|
virtual | ~MPlug () |
Destructor. |
|
MStatus | setAttribute (MObject &attribute) |
This method is a convenience routine to
allow quick movement between attributes on a single node. |
|
MObject | attribute (MStatus *ReturnStatus=NULL) const |
This method returns the attribute that this
plug refers to. |
|
MObject | node (MStatus *ReturnStatus=NULL) const |
Returns the dependency node that this plug
belongs to. |
|
MString | name (MStatus *ReturnStatus=NULL) const |
Returns the name of this plug in the form
"<i>nodeName</i>.<i>attributeName</i>".
|
|
MString | partialName (bool includeNodeName=false, bool includeNonMandatoryIndices=false, bool includeInstancedIndices=false, bool useAlias=false, bool useFullAttributePath=false, bool useLongNames=false, MStatus *ReturnStatus=NULL) const |
By default, this method returns the shortest
possible name for the plug, but its parameters can be used to add
parts back in. |
|
MStatus | getSetAttrCmds (MStringArray &cmds, MValueSelector valueSelector=kAll, bool useLongNames=false) |
Returns an array of strings containing
setAttr commands for this plug and all of its descendent
plugs. |
|
bool | isNetworked (MStatus *ReturnStatus=NULL) const |
This method determines if the plug is
networked or non-networked. |
|
bool | isArray (MStatus *ReturnStatus=NULL) const |
This method determines if the plug is an
array plug. |
|
bool | isElement (MStatus *ReturnStatus=NULL) const |
This method determines if the plug is an
element plug. |
|
bool | isCompound (MStatus *ReturnStatus=NULL) const |
This method determines if the plug is a
compound plug. |
|
bool | isChild (MStatus *ReturnStatus=NULL) const |
This method determines if the plug is a
child plug. |
|
bool | isProcedural (MStatus *ReturnStatus=NULL) const |
This method determines if the plug is a
procedural plug. |
|
unsigned int | logicalIndex (MStatus *ReturnStatus=NULL) const |
Returns the logical index of the element
this plug refers to. |
|
MStatus | selectAncestorLogicalIndex (unsigned int index, const MObject &attribute=MObject::kNullObj) |
This method is a convenience routine to
allow quick iteration and construction of plugs with array plugs in
their ancestry. |
|
unsigned int | getExistingArrayAttributeIndices (MIntArray &indices, MStatus *ReturnStatus=NULL) |
This method will return a list of the
logical indices of the elements in an array attribute that are
either connected or have had their value set. |
|
unsigned int | numElements (MStatus *ReturnStatus=NULL) const |
Return the total number of elements in the
datablock of this array plug. |
|
unsigned int | evaluateNumElements (MStatus *ReturnStatus=NULL) |
Return the total number of elements in the
datablock of this array plug. |
|
unsigned int | numChildren (MStatus *ReturnStatus=NULL) const |
Return the total number of children of this
compound plug. |
|
unsigned int | numConnectedElements (MStatus *ReturnStatus=NULL) const |
Return the total number of connected element
plugs belonging to this array plug. |
|
unsigned int | numConnectedChildren (MStatus *ReturnStatus=NULL) const |
Return the number of children of this plug
that are connected in the dependency graph. |
|
MPlug | child (MObject &attr, MStatus *ReturnStatus=NULL) const |
Returns a plug to a given attribute that is
a child of this plug. |
|
MPlug | child (unsigned int index, MStatus *ReturnStatus=NULL) const |
Returns a plug to a given attribute that is
a child of this plug. |
|
MPlug | parent (MStatus *ReturnStatus=NULL) const |
Returns the parent plug. |
|
MPlug | array (MStatus *ReturnStatus=NULL) const |
Returns the array to which this element plug
belongs. |
|
MPlug | elementByLogicalIndex (unsigned int logicalIndex, MStatus *ReturnStatus=NULL) const |
This method will find and return a plug with
the given logical index. |
|
MPlug | elementByPhysicalIndex (unsigned int physicalIndex, MStatus *ReturnStatus=NULL) const |
This method will find and return a plug with
the given physical index. |
|
MPlug | connectionByPhysicalIndex (unsigned int physicalIndex, MStatus *ReturnStatus=NULL) const |
This method will find and return a connected
plug with the given physical index for its connection. |
|
bool | connectedTo (MPlugArray &array, bool asDst, bool asSrc, MStatus *ReturnStatus=NULL) const |
This method finds all of the plugs that this
plug is connected with. |
|
bool | isConnected (MStatus *ReturnStatus=NULL) const |
Determines if this plug is connected to one
or more plugs. |
|
bool | isKeyable (MStatus *ReturnStatus=NULL) const |
Determines if this plug is keyable. |
|
MStatus | setKeyable (bool keyable) |
This overrides the default keyability of a
plug set with MFnAttribute::setKeyable.
|
|
bool | isLocked (MStatus *ReturnStatus=NULL) const |
Determines the locked state of this plug's
value. |
|
MStatus | setLocked (bool locked) |
Sets the locked state for this plug's value.
|
|
bool | isChannelBoxFlagSet (MStatus *ReturnStatus=NULL) const |
Returns true if this plug or its attribute
has its channel box flag set. |
|
MStatus | setChannelBox (bool channelBox) |
Sets whether this plug is displayed in the
channel box. |
|
bool | isCachingFlagSet (MStatus *ReturnStatus=NULL) const |
Returns true if this plug or its attribute
has its caching flag set. |
|
MStatus | setCaching (bool caching) |
Sets whether this plug is cached internally.
|
|
bool | isNull (MStatus *ReturnStatus=NULL) const |
This method determines whether this plug is
valid. |
|
MString | info (MStatus *ReturnStatus=NULL) const |
This method returns a string containing the
name of the node this plug belongs to and the attributes that the
plug refers to. |
|
bool | isFromReferencedFile (MStatus *ReturnStatus=NULL) const |
This method determines whether this plug
came from a referenced file. |
|
bool | isDynamic (MStatus *ReturnStatus=NULL) const |
Determines whether the attribute is of
dynamic type or not. |
|
bool | isIgnoredWhenRendering (MStatus *ReturnStatus=NULL) const |
Determines whether a connection to the
attribute should be ignored during rendering. |
|
MPlug::FreeToChangeState | isFreeToChange (bool checkParents=true, bool checkChildren=true, MStatus *ReturnStatus=NULL) const |
Returns true if the plug's value is allowed
to be set directly. |
|
MDataHandle | constructHandle (MDataBlock &) const |
This method returns a data handle
constructed for this plug. |
|
void | destructHandle (MDataHandle &) const |
This method destructs the data handle for
this plug. |
|
MStatus | getValue (MObject &val, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (MDataHandle &handle, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (double &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (float &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (int &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (short &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (bool &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (MDistance &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (MAngle &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (MTime &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (char &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | getValue (MString &, MDGContext &ctx=MDGContext::fsNormal) const |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (MObject &val) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (MPxData *data) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (MDataHandle &handle) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (double) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (float) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (int) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (short) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (bool) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (MDistance &) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (MAngle &) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (MTime &) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (char) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (const MString &) |
NO SCRIPT SUPPORT. |
|
MStatus | setValue (const char *) |
NO SCRIPT SUPPORT. |
|
MObject | asMObject (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
MDataHandle | asMDataHandle (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
double | asDouble (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
float | asFloat (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
int | asInt (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
short | asShort (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
bool | asBool (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
MDistance | asMDistance (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
MAngle | asMAngle (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
MTime | asMTime (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
char | asChar (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
MString | asString (MDGContext &ctx=MDGContext::fsNormal, MStatus *ReturnStatus=NULL) const |
Retrieve the current value of the attribute
this plug references. |
|
MStatus | setMObject (MObject &val) |
Set the current value of the attribute this
plug references. |
|
MStatus | setMPxData (MPxData *data) |
Set the current value of the attribute this
plug references. |
|
MStatus | setMDataHandle (MDataHandle &handle) |
Set the current value of the attribute this
plug references with the values in the handle. |
|
MStatus | setDouble (double) |
Set the current value of the attribute this
plug references. |
|
MStatus | setFloat (float) |
Set the current value of the attribute this
plug references. |
|
MStatus | setInt (int) |
Set the current value of the attribute this
plug references. |
|
MStatus | setShort (short) |
Set the current value of the attribute this
plug references. |
|
MStatus | setBool (bool) |
Set the current value of the attribute this
plug references. |
|
MStatus | setMDistance (MDistance &) |
Set the current value of the attribute this
plug references. |
|
MStatus | setMAngle (MAngle &) |
Set the current value of the attribute this
plug references. |
|
MStatus | setMTime (MTime &) |
Set the current value of the attribute this
plug references. |
|
MStatus | setChar (char) |
Set the current value of the attribute this
plug references. |
|
MStatus | setString (const MString &) |
Set the current value of the attribute this
plug references. |
|
MPlug & | operator= (const MPlug &other) |
Assignment operator. |
|
MPlug | operator[] (unsigned int physicalIndex) const |
This method will find and return a plug with
the given physical index. |
|
bool | operator== (const MPlug &other) const |
Comparison operator for MPlugs. |
|
bool | operator== (const MObject &other) const |
Comparison operator for a plug and an
attribute. |
|
bool | operator!= (const MPlug &other) const |
The inequality operator for MPlugs. |
|
bool | operator!= (const MObject &other) const |
The inequality operator for a plug and an
attribute. |
|
MStatus | setNumElements (unsigned int) |
The method is used to pre-allocate the
number of elements that an array plug will contain. |
|
MPlug | operator[] (MObject &attr) const |
NO SCRIPT SUPPORT. |
|
operator MObject () const | |
NO SCRIPT SUPPORT. |
|
bool | operator! () const |
NO SCRIPT SUPPORT. |
|
bool | isSource (MStatus *ReturnStatus=NULL) const |
Determines if this plug is connected as a
source. |
|
bool | isDestination (MStatus *ReturnStatus=NULL) const |
Determines if this plug is connected as a
destination. |
|
Static Public Member Functions |
|
static const char * | className () |
Returns the name of this class. |
enum MValueSelector |
Which values to generate setAttr commands for.
enum FreeToChangeState |
Plug state returned by isFreeToChange.
MPlug | ( | ) |
Constructor.
Creates an empty plug.
Copy constructor.
Duplicates the given plug.
[in] | other | Plug to be copied. |
Constructor.
Creates a new plug for the specified attribute and dependency node.
The new plug can be used to establish or remove a connection to the attribute it references. The plug can also be used to query or set the value of the attribute.
This constructor will only create non-networked plugs. A networked version of this plug is automatically created and added to the dependency node's network when a connection to this plug is established.
[in] | node | the dependency node this plug belongs to |
[in] | attribute | the attribute this plug refers to |
This method is a convenience routine to allow quick movement between attributes on a single node.
If the current plug is a networked plug, it becomes a new non-networked plug referring to the requested attribute. If the current plug is a non-networked plug, it is changed to refer to the requested attribute.
The passed attribute must be the attribute of a plug on the current node.
[in] | attribute | attribute to change the plug to |
This method returns the attribute that this plug refers to.
[out] | ReturnStatus | Status Code |
Returns the dependency node that this plug belongs to.
[out] | ReturnStatus | Status Code |
Returns the name of this plug in the form "<i>nodeName</i>.<i>attributeName</i>".
[out] | ReturnStatus | return status |
MString partialName | ( | bool | includeNodeName =
false , |
bool | includeNonMandatoryIndices =
false , |
||
bool | includeInstancedIndices =
false , |
||
bool | useAlias = false , |
||
bool | useFullAttributePath =
false , |
||
bool | useLongNames =
false , |
||
MStatus * | ReturnStatus =
NULL |
||
) | const |
By default, this method returns the shortest possible name for the plug, but its parameters can be used to add parts back in.
[in] | includeNodeName | If true, then the plug's node name is prefixed to the name of the plug, with a dot separating it from the attribute name. If false, then just the attribute name is returned. (default: false) |
[in] | includeNonMandatoryIndices | If the plug's attribute is a non-instanced element of a multi
which is NOT marked as indexMatters, then setting this
parameter true will cause its index to be included in the returned
string anyway. If the attribute is marked as indexMatters then its array index will be included regardless of the setting of this parameter. If the attribute is instanced then it is not affected by this parameter. See the next parameter instead. (default: false) |
[in] | includeInstancedIndices | If the plug's attribute is an element of an instanced multi, then setting this parameter true will cause the array index to be included in the returned string. For example, if you are planning to append the returned plug name to a node's dagPath, then the instance index is unnecessary as it can be determined from the dagPath. (default: false) |
[in] | useFullAttributePath | Normally, the plug's attribute path is compressed so that any compound ancestors which do not serve to uniquely identify the plug are removed. Setting this parameter true will cause the full attribute path to be used. (default: false) |
[in] | useAlias | Display aliased name if alias exists. (default: false) |
[in] | useLongNames | Normally, short attribute names are used. Setting this true will cause long names to be used. (default: false) |
[out] | ReturnStatus | Return status. |
MStatus getSetAttrCmds | ( | MStringArray & | cmds, |
MPlug::MValueSelector | valueSelector =
kAll , |
||
bool | useLongNames =
false |
||
) |
Returns an array of strings containing setAttr commands for this plug and all of its descendent plugs.
[out] | cmds | Array of strings in which the setAttr commands are to
be returned. |
|||||||||
[in] | valueSelector |
Note that if the plug is compound and one of its children has
changed, then setAttrs will be generated for *all* of its children,
even those which have not changed. |
|||||||||
[in] | useLongNames | Normally, the returned commands will use the short names for flags and attributes. If this parameter is true then their long names will be used instead. (default: false) |
bool isNetworked | ( | MStatus * | ReturnStatus =
NULL |
) | const |
This method determines if the plug is networked or non-networked.
Networked plugs are part of a dependency node network and define points where connections have been made to the nodes attributes.
Non-networked plugs are user created plugs that are used to refer to an attribute of a node so that it can be connected. If the attribute that the plug refers to has been connected then there will also be a corresponding networked plug.
[out] | ReturnStatus | Status Code |
bool isArray | ( | MStatus * | ReturnStatus =
NULL |
) | const |
This method determines if the plug is an array plug.
Array plugs refer to array attributes and contain element plugs.
[out] | ReturnStatus | Status Code |
bool isElement | ( | MStatus * | ReturnStatus =
NULL |
) | const |
This method determines if the plug is an element plug.
Element plugs refer to array attributes and are members of array plugs.
[out] | ReturnStatus | Status Code |
bool isCompound | ( | MStatus * | ReturnStatus =
NULL |
) | const |
This method determines if the plug is a compound plug.
Compound plugs refer to compound attributes and have child plugs.
[out] | ReturnStatus | Status Code |
bool isChild | ( | MStatus * | ReturnStatus =
NULL |
) | const |
This method determines if the plug is a child plug.
A child plug's parent is always a compound plug.
[out] | ReturnStatus | Status Code |
bool isProcedural | ( | MStatus * | ReturnStatus =
NULL |
) | const |
This method determines if the plug is a procedural plug.
A procedural plug is one which is created by Maya's internal procedures or by the nodes themselves and which should not be saved to or restored from files.
[out] | ReturnStatus | Status Code |
unsigned int logicalIndex | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Returns the logical index of the element this plug refers to.
The logical index is a sparse index, equivalent to the array index used in MEL.
This plug must be an element plug, and may be either networked or non-networked.
[out] | ReturnStatus | Status Code |
MStatus selectAncestorLogicalIndex | ( | unsigned int | index, |
const MObject & | attribute = MObject::kNullObj |
||
) |
This method is a convenience routine to allow quick iteration and construction of plugs with array plugs in their ancestry.
It selects a plug into the current object by changing an ancestor array's logical index.
The passed attribute must be either the attribute of the current plug, or the attribute of an ancestor's plug. It must be an array attribute. By default, it refers to the attribute of the current plug.
If the passed attribute is the attribute of this plug, then this plug will change to refer to its indexth element plug.
For example, consider the following attribute tree. The topmost attribute is a compound attribute "in". It consists of two children: an enum attribute "operation" and a typed attribute "value". Both "value" and "in" are array attributes. To iterate through all of the values, you could write a loop like this:
MPlug inPlug (node, inAttribute); MPlug valuePlug (node, valueAttribute); MPlug plug (node, valueAttribute); for (i = 0; i < inPlug.numElements (); i++) { valuePlug.selectAncestorLogicalIndex (i, inAttribute); (for j = 0; j < valuePlug.numElements (); j++) { plug.selectAncestorLogicalIndex (i, inAttribute); plug.selectAncestorLogicalIndex (j, valueAttribute); // ... } }
This method is only valid for non-networked plugs since networked plugs are part of a dependency node and can only be modified by making or breaking connections.
[in] | index | index value to be set |
[in] | attribute | array attribute whose index will be changed |
unsigned int getExistingArrayAttributeIndices | ( | MIntArray & | indices, |
MStatus * | ReturnStatus =
NULL |
||
) |
This method will return a list of the logical indices of the elements in an array attribute that are either connected or have had their value set.
This method is useful when the logical indices of connected/set elements are sparse.
[in] | indices | A list to store the logical indices of the set/connected elements. |
[out] | ReturnStatus | Status Code |
unsigned int numElements | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Return the total number of elements in the datablock of this array plug.
The return count will include all existing non-connected elements plus connected elements if they have been evaluated. It will not include connected elements that have not yet been placed into the datablock. The method MPlug::evaluateNumElements can be used in the sitution where you want an accurate count that includes all connected elements.
This method is only valid for array plugs, as no other plugs have elements.
[out] | ReturnStatus | Status Code |
unsigned int evaluateNumElements | ( | MStatus * | ReturnStatus =
NULL |
) |
Return the total number of elements in the datablock of this array plug.
The return count will include both connected and non-connected elements, and will perform an evaluate in order to make sure that the datablock is as up-to-date as possible since some nodes do not place array elements into the datablock until the attribute is evaluated.
Because this method performs an evaluate, it should not be called from within the compute of a node. Instead, if you want to know the number of elements in an array plug while in a compute, use either MDataBlock::inputArrayValue or MDataBlock::outputArrayValue because they are more efficient and will not result in recursion.
This method is only valid for array plugs, as no other plugs have elements.
[out] | ReturnStatus | Status Code |
unsigned int numChildren | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Return the total number of children of this compound plug.
This method is only valid for networked plugs as non-networked plugs contain no information about their children. If this plug is non-networked then a networked version of the plug will be used. If a networked plug does not exist then 0 will be returned.
This method is also only valid for compound plugs or the root plug, since no other plugs have children.
[out] | ReturnStatus | Status Code |
unsigned int numConnectedElements | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Return the total number of connected element plugs belonging to this array plug.
This method is only valid for networked plugs as non-networked plugs contain no information about their children. If this plug is non-networked then a networked version of the plug will be used. If a networked plug does not exist then 0 will be returned.
This method is also only valid for array plugs, as no other plugs have elements.
[out] | ReturnStatus | Status Code |
unsigned int numConnectedChildren | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Return the number of children of this plug that are connected in the dependency graph.
This method is only valid for networked plugs as non-networked plugs contain no information about their children. If this plug is non-networked then a networked version of the plug will be used. If a networked plug does not exist then 0 will be returned.
This method is only valid for compound plugs, since no other plugs have children.
[out] | ReturnStatus | Status Code |
Returns a plug to a given attribute that is a child of this plug.
This method is only valid for compound plugs.
[in] | obj | The child attribute. |
[out] | ReturnStatus | Status code. |
Returns a plug to a given attribute that is a child of this plug.
This method is only valid for compound plugs.
[in] | index | The index of the plug to be found |
[out] | ReturnStatus | Status code. |
Returns the parent plug.
The parent plug will always be a compound plug. This method is only valid for networked child plugs.
[in] | ReturnStatus | Status Code |
Returns the array to which this element plug belongs.
This method is only valid for networked element plugs.
[out] | ReturnStatus | Status Code |
This method will find and return a plug with the given logical index.
The logical index is the sparse array index used in MEL scripts. If a plug does not exist at the given Index, Maya will create a plug at that index. This is not the case with elementByPhysicalIndex(). If needed, elementByLogicalIndex can be used to expand an array plug on a node. It is important to note that Maya assumes that all such plugs serve a purpose and it will not free non-networked plugs that result from such an array expansion.
The returned plug may or may not be connected.
[in] | index | The index of the plug to be found |
[out] | ReturnStatus | Status Code |
This method will find and return a plug with the given physical index.
The index can range from 0 to numElements() - 1. This function is particularly useful for iteration through the element plugs of an array plug. It is equivalent to operator [] (int) This method is only valid for array plugs.
If the returned plug is networked, the networked plug will be returned. Otherwise, a non-networked plug will be returned.
[in] | index | The physical array index of the plug to be found |
[out] | ReturnStatus | Status Code |
This method will find and return a connected plug with the given physical index for its connection.
The index can range from 0 to numConnectedElements() - 1. This method varies from elementByPhysicalIndex in that elementByPhysicalIndex will return plugs pointing to all existing data in the datablock regardless of whether the plug is connected or not.
This method is only valid for array plugs.
[in] | index | The physical array index of the plug to be found |
[out] | ReturnStatus | Status Code |
bool connectedTo | ( | MPlugArray & | array, |
bool | asDst, | ||
bool | asSrc, | ||
MStatus * | ReturnStatus =
NULL |
||
) | const |
This method finds all of the plugs that this plug is connected with.
This method will always produce the networked version of the connected plugs.
[in] | array | Location for storing connected plugs (allocated by the caller) |
[in] | asDst | Check connections with this plug as destination. If there are such connections, put them in array. |
[in] | asSrc | Check connections with this plug as source. If there are such connections, put them in array. |
[out] | ReturnStatus | Status Code |
bool isConnected | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Determines if this plug is connected to one or more plugs.
[out] | ReturnStatus | Status Code |
bool isKeyable | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Determines if this plug is keyable.
The default keyability of a plug is determined by its attribute, and can be retrieved using MFnAttribute::isKeyable. Keyable plugs will be keyed by AutoKey and the Set Keyframe UI. Non-keyable plugs prevent the user from setting keys via the obvious UI provided for keying. Being non-keyable is not a hard block against adding keys to an attribute.
[out] | ReturnStatus | Status Code |
MStatus setKeyable | ( | bool | keyable | ) |
This overrides the default keyability of a plug set with MFnAttribute::setKeyable.
Keyable plugs will be keyed by AutoKey and the Set Keyframe UI. Non-keyable plugs prevent the user from setting keys via the obvious UI provided for keying. Being non-keyable is not a hard block against adding keys to an attribute.
[in] | keyable | True if this plug should be keyable |
bool isLocked | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Determines the locked state of this plug's value.
A plug's locked state determines whether or not the plug's value can be changed.
[out] | ReturnStatus | Status Code |
MStatus setLocked | ( | bool | locked | ) |
Sets the locked state for this plug's value.
A plug's locked state determines whether or not the plug's value can be changed.
[in] | locked | True if this plug's value is to be locked |
bool isChannelBoxFlagSet | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Returns true if this plug or its attribute has its channel box flag set.
Attributes will appear in the channel box if their channel box flag is set or if they are keyable.
[out] | ReturnStatus | Status Code |
MStatus setChannelBox | ( | bool | inChannelBox | ) |
Sets whether this plug is displayed in the channel box.
This overrides the default display of a plug set with MFnAttribute::setChannelBox. Keyable attributes are always shown in the channel box so this flag is ignored on keyable plugs.
[in] | inChannelBox | True if this plug should be displayed in the channel box |
bool isCachingFlagSet | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Returns true if this plug or its attribute has its caching flag set.
[out] | ReturnStatus | Status Code |
MStatus setCaching | ( | bool | isCaching | ) |
Sets whether this plug is cached internally.
Note: turning caching on for a plug will force the plug to become networked. Network plugs take longer to look up in the DG; therefore you should only make a plug cached only if you are certain that the network plug look-up will take less than the saved evaluation cost.
Not all plugs can be made cached (or un-cached). If the attribute is defined to be cached, then you cannot uncache the attribute. As well, you cannot define caching on element plugs.
[in] | isCaching | True if this plug should be cached |
bool isNull | ( | MStatus * | ReturnStatus =
NULL |
) | const |
This method determines whether this plug is valid.
A plug is valid if it refers to an attribute.
[out] | ReturnStatus | Status Code |
This method returns a string containing the name of the node this plug belongs to and the attributes that the plug refers to.
The string is of the form dependNode:atr1.atr2[].attr3 ...
This method is useful for debugging purposes.
[out] | ReturnStatus | Status Code |
bool isFromReferencedFile | ( | MStatus * | ReturnStatus =
NULL |
) | const |
This method determines whether this plug came from a referenced file.
A plug is considered to have come from a referenced file if it is connected and that connection was made within a referenced file.
[out] | ReturnStatus | Status Code |
bool isDynamic | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Determines whether the attribute is of dynamic type or not.
[out] | ReturnStatus | Status Code |
bool isIgnoredWhenRendering | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Determines whether a connection to the attribute should be ignored during rendering.
[out] | ReturnStatus | Status Code |
MPlug::FreeToChangeState isFreeToChange | ( | bool | checkParents =
true , |
bool | checkChildren =
true , |
||
MStatus * | ReturnStatus =
NULL |
||
) | const |
Returns true if the plug's value is allowed to be set directly.
A plug isFreeToChange if it is not locked, and it is not a destination or if it is a destination, then it must be a special case (such as connected to an anim curve).
Normally this is not something that needs to be checked, since the DG or MEL operations take care of this for you.
If the parents are not free to change, then the children will not be free to change. However if the parents are free to change, some children may not be free to change.
[in] | checkParents | Check parent plugs. |
[in] | checkChildren | Check child plugs. |
[out] | ReturnStatus | Status Code |
MDataHandle constructHandle | ( | MDataBlock & | mBlock | ) | const |
This method returns a data handle constructed for this plug.
MStatus getValue | ( | MObject & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
This method returns a copy of the attribute value for the plug and not a reference. The setObject method of this class can be used to modify the plug's value.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asMObject method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | MDataHandle & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
This method is useful when wanting to retrieve an entire set of values from an array plug with a single call. An MArrayDataHandle can then be constructed from the returned MDataHandle to access the array data values.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
After using the returned MDataHandle, the caller must destroy the handle using MPlug::destructHandle().
Python Notes
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | double & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asDouble method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | float & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asFloat method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | int & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asInt method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | short & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asShort method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | bool & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asBool method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | MDistance & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asMDistance method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | MAngle & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asMDGContext method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | MTime & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asMTime method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | char & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asChar method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
MStatus getValue | ( | MString & | val, |
MDGContext & | ctx =
MDGContext::fsNormal |
||
) | const |
NO SCRIPT SUPPORT.
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
Python Notes
This method is not available from Python. See asString method instead.
[out] | val | Storage for the attribute value |
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setMObject method instead.
[in] | val | The value to which the attribute will be set |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setMPxData method instead.
[in] | val | The value to which the attribute will be set |
MStatus setValue | ( | MDataHandle & | handle | ) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references with the values in the handle.
This method is most useful when the plug is an array plug, and you've filled the handle with data. Sending the value using this version of setValue will set the handle's data into the datablock and send out the appropriate attributeChanged messages to update the UI related to the attribute.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setMDataHandle method instead.
[in] | handle | The handle containing the data to which the attribute will be set |
MStatus setValue | ( | double | val | ) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setDouble method instead.
[in] | val | The value to which the attribute will be set |
MStatus setValue | ( | float | val | ) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setFloat method instead.
[in] | val | The value to which the attribute will be set |
MStatus setValue | ( | int | val | ) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setInt method instead.
[in] | val | The value to which the attribute will be set |
MStatus setValue | ( | short | val | ) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setShort method instead.
[in] | val | The value to which the attribute will be set |
MStatus setValue | ( | bool | val | ) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setBool method instead.
[in] | val | The value to which the attribute will be set |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setMDistance method instead.
[in] | val | The value to which the attribute will be set |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setMAngle method instead.
[in] | val | The value to which the attribute will be set |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setMTime method instead.
[in] | val | The value to which the attribute will be set |
MStatus setValue | ( | char | val | ) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setChar method instead.
[in] | val | The value to which the attribute will be set |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setString method instead.
[in] | val | The value to which the attribute will be set |
MStatus setValue | ( | const char * | val | ) |
NO SCRIPT SUPPORT.
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
Python Notes
This method is not available from Python. See setString method instead.
[in] | val | The value to which the attribute will be set |
MObject asMObject | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
This method returns a copy of the attribute value for the plug and not a reference. The setObject method of this class can be used to modify the plug's value.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
MDataHandle asMDataHandle | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
This method is useful when wanting to retrieve an entire set of values from an array plug with a single call. An MArrayDataHandle can then be constructed from the returned MDataHandle to access the array data values.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
double asDouble | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
float asFloat | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
int asInt | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
short asShort | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
bool asBool | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
MDistance asMDistance | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
MAngle asMAngle | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
MTime asMTime | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
char asChar | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[in] | ReturnStatus | Status Code |
MString asString | ( | MDGContext & | ctx =
MDGContext::fsNormal , |
MStatus * | ReturnStatus =
NULL |
||
) | const |
Retrieve the current value of the attribute this plug references.
The default is to get the value at the current time. To specify an alternate time you must create a timed MDGContext that specifies the time of evaluation.
[in] | ctx | Context in which to evaluate the plug (Default is normal) |
[out] | ReturnStatus | Status Code |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
MStatus setMDataHandle | ( | MDataHandle & | handle | ) |
Set the current value of the attribute this plug references with the values in the handle.
This method is most useful when the plug is an array plug, and you've filled the handle with data. Sending the value using this version of setValue will set the handle's data into the datablock and send out the appropriate attributeChanged messages to update the UI related to the attribute.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | handle | The handle containing the data to which the attribute will be set |
MStatus setDouble | ( | double | val | ) |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
MStatus setFloat | ( | float | val | ) |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
MStatus setInt | ( | int | val | ) |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
MStatus setShort | ( | short | val | ) |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
MStatus setBool | ( | bool | val | ) |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
MStatus setChar | ( | char | val | ) |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
Set the current value of the attribute this plug references.
If the attribute is the destination of a connection then setting the value will have no effect as once the node is re-evaluated the attribute value will be reset.
[in] | val | The value to which the attribute will be set |
Assignment operator.
Copies one plug to another.
Networked plugs are not allowed to be duplicated so if the RHS is a networked plug then a non-networked version is returned.
[in] | other | the plug to be copied |
MPlug operator[] | ( | unsigned int | physicalIndex | ) | const |
This method will find and return a plug with the given physical index.
This is the same as the elementByPhysicalIndex method.
[in] | physicalIndex | Array index of child plug |
bool operator== | ( | const MPlug & | other | ) | const |
Comparison operator for MPlugs.
Plugs are considered equal if they refer to the same node and attribute unless both plugs are networked. In such cases a pointer comparison is done as there can only be one version of a networked plug.
If either or both plugs are null, the plugs are not considered equal.
[in] | other | Other plug to compare against |
bool operator== | ( | const MObject & | attr | ) | const |
Comparison operator for a plug and an attribute.
This actually compares the plug's attribute against the other attribute.
[in] | attr | Attribute to compare against |
bool operator!= | ( | const MPlug & | other | ) | const |
The inequality operator for MPlugs.
Plugs are considered equal if they refer to the same node and attribute unless both plugs are networked. In such cases a pointer comparison is done as there can only be one version of a networked plug.
If either or both plugs are null, the plugs are not considered equal.
[in] | other | Other plug to compare against |
bool operator!= | ( | const MObject & | attr | ) | const |
The inequality operator for a plug and an attribute.
This actually compares the plug's attribute against the other attribute.
[in] | attr | Attribute to compare against |
MStatus setNumElements | ( | unsigned int | elements | ) |
The method is used to pre-allocate the number of elements that an array plug will contain.
The plug passed to this method must be an array plug and there must be no elements already allocated.
The numElements() method is used to find the number of elements already in the array plug.
[in] | elements | new array size |
NO SCRIPT SUPPORT.
Returns a plug to the given attribute.
This is only valid for attributes with no arrays in their ancestry.
[in] | attr | The attribute of the plug |
operator MObject | ( | ) | const |
NO SCRIPT SUPPORT.
This method returns the attribute for this plug.
bool operator! | ( | ) | const |
NO SCRIPT SUPPORT.
Returns true if this plug is not valid.
A plug is considered valid if it refers to an attribute.
bool isSource | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Determines if this plug is connected as a source.
[out] | ReturnStatus | pointer to a status code object |
bool isDestination | ( | MStatus * | ReturnStatus =
NULL |
) | const |
Determines if this plug is connected as a destination.
[out] | ReturnStatus | pointer to a status code object |
const char * className | ( | ) | [static] |