#include <MPxSkinCluster.h>
Base class for user-defined skin deformers.
MPxSkinCluster allows the creation of user-defined skin deformers. It derives from MPxGeometryFilter and so offers all the functionality of that class. Additionally, it has the per-vertex skin weights and other skin-related attributes of the Maya built-in skinCluster node.
Custom nodes derived from MPxSkinCluster are treated by Maya just like the built-in skinCluster, so all the weight painting/editing etc. tools that artists are used to also work on the custom nodes.
Public Member Functions | |
MPxSkinCluster () | |
Class constructor. | |
virtual | ~MPxSkinCluster () |
Class destructor. | |
virtual MPxNode::Type | type () const |
This method returns the type of the node. More... | |
float | weightValue (MDataBlock &mblock, unsigned int multiIndex, unsigned int wtIndex) |
This method returns the weightValue stored in the datablock for the given geometry's lattice point/CV/vertex. More... | |
Public Member Functions inherited from MPxGeometryFilter | |
MPxGeometryFilter () | |
Class constructor. | |
virtual | ~MPxGeometryFilter () |
Class destructor. | |
virtual MStatus | deform (MDataBlock &block, MItGeometry &iter, const MMatrix &mat, unsigned int multiIndex) |
This method performs the deformation algorithm. More... | |
virtual MObject & | accessoryAttribute () const |
This method returns an MObject for the attribute to which an accessory shape is connected. More... | |
virtual MStatus | accessoryNodeSetup (MDagModifier &cmd) |
This method is called by the "deformer -type" command when your node is specified. More... | |
void | setUseExistingConnectionWhenSetEditing (bool state) |
This method allows the plugin node to request special treatment during set editing. More... | |
MStatus | setDeformationDetails (unsigned int flags) |
This method allows the plug-in node to inform the system that it intends to deform components other than just positions. More... | |
unsigned int | getDeformationDetails (MStatus *ReturnStatus=NULL) |
Retrieves the value set by setDeformationDetails(). More... | |
virtual void | setModifiedCallback (MSelectionList &list, bool listAdded) |
This callback method can be overriden and is called whenever the set this deformer is operating on is modified. More... | |
Public Member Functions inherited from MPxNode | |
MPxNode () | |
Constructor. More... | |
virtual | ~MPxNode () |
Destructor. | |
virtual void | postConstructor () |
Post constructor. More... | |
virtual MStatus | compute (const MPlug &plug, MDataBlock &dataBlock) |
This method should be overridden in user defined nodes. More... | |
virtual bool | getInternalValueInContext (const MPlug &plug, MDataHandle &dataHandle, MDGContext &ctx) |
This method is overridden by nodes that store attribute data in some internal format. More... | |
virtual bool | setInternalValueInContext (const MPlug &plug, const MDataHandle &dataHandle, MDGContext &ctx) |
This method is overridden by nodes that store attribute data in some internal format. More... | |
virtual bool | getInternalValue (const MPlug &plug, MDataHandle &dataHandle) |
This method is obsolete. More... | |
virtual bool | setInternalValue (const MPlug &plug, const MDataHandle &dataHandle) |
This method is obsolete. More... | |
virtual int | internalArrayCount (const MPlug &plug, const MDGContext &ctx) const |
This method is overridden by nodes that have internal array attributes which are not stored in Maya's datablock. More... | |
virtual void | copyInternalData (MPxNode *) |
This method is overridden by nodes that store attribute data in some internal format. More... | |
virtual MStatus | legalConnection (const MPlug &plug, const MPlug &otherPlug, bool asSrc, bool &isLegal) const |
This method allows you to check for legal connections being made to attributes of this node. More... | |
virtual MStatus | legalDisconnection (const MPlug &plug, const MPlug &otherPlug, bool asSrc, bool &isLegal) const |
This method allows you to check for legal disconnections being made to attributes of this node. More... | |
virtual MStatus | setDependentsDirty (const MPlug &plug, MPlugArray &plugArray) |
This method can be overridden in user defined nodes to specify which plugs should be set dirty based upon an input plug {plugBeingDirtied} which Maya is marking dirty. More... | |
virtual MStatus | preEvaluation (const MDGContext &context, const MEvaluationNode &evaluationNode) |
Prepare a node's internal state for threaded evaluation. More... | |
virtual MStatus | postEvaluation (const MDGContext &context, const MEvaluationNode &evaluationNode, PostEvaluationType evalType) |
Clean up node's internal state after threaded evaluation. More... | |
virtual SchedulingType | schedulingType () const |
When overridden this method controls the degree of parallelism supported by the node during threaded evaluation. More... | |
virtual MStatus | connectionMade (const MPlug &plug, const MPlug &otherPlug, bool asSrc) |
This method gets called when connections are made to attributes of this node. More... | |
virtual MStatus | connectionBroken (const MPlug &plug, const MPlug &otherPlug, bool asSrc) |
This method gets called when connections are broken with attributes of this node. More... | |
virtual MStatus | dependsOn (const MPlug &plug, const MPlug &otherPlug, bool &depends) const |
This method may be overridden by the user defined node. More... | |
virtual bool | isPassiveOutput (const MPlug &plug) const |
This method may be overridden by the user defined node if it wants to provide output attributes which do not prevent value modifications to the destination attribute. More... | |
virtual MStatus | shouldSave (const MPlug &plug, bool &isSaving) |
This method may be overridden by the user defined node. More... | |
virtual MPlug | passThroughToOne (const MPlug &plug) const |
This method may be overridden by nodes that have a one-to-one relationship between an input attribute and a corresponding output attribute. More... | |
virtual bool | passThroughToMany (const MPlug &plug, MPlugArray &plugArray) const |
This method is overridden by nodes that want to control the traversal behavior of some Maya search algorithms which traverse the history/future of shape nodes looking for directly related nodes. More... | |
virtual bool | isAbstractClass () const |
Override this class to return true if this node is an abstract node. More... | |
virtual MStringArray | getFilesToArchive (bool shortName=false, bool unresolvedName=false, bool markCouldBeImageSequence=false) const |
Use this method to return all external files used by this node. More... | |
virtual void | getExternalContent (MExternalContentInfoTable &table) const |
Returns the external content (files) that this node depends on. More... | |
bool | addExternalContentForFileAttr (MExternalContentInfoTable &table, const MObject &attr) const |
Adds content info to the specified table from a file path attribute. More... | |
bool | setExternalContentForFileAttr (const MObject &attr, const MExternalContentLocationTable &table) |
Sets content info in the specified attribute from the table. More... | |
virtual void | setExternalContent (const MExternalContentLocationTable &table) |
Changes the location of external content in batch. More... | |
virtual MTypeId | typeId () const |
Returns the TYPEID of this node. More... | |
virtual MString | typeName () const |
Returns the type name of this node. More... | |
virtual MString | name () const |
Returns the name of this particular instance of this class. More... | |
virtual MObject | thisMObject () const |
Returns the MObject associated with this user defined node. More... | |
virtual MStatus | setExistWithoutInConnections (bool flag) |
This method specifies whether or not the node can exist without input connections. More... | |
virtual bool | existWithoutInConnections (MStatus *ReturnStatus=NULL) const |
Determines whether or not this node can exist without input connections. More... | |
virtual MStatus | setExistWithoutOutConnections (bool flag) |
This method specifies whether or not the node can exist without output connections. More... | |
virtual bool | existWithoutOutConnections (MStatus *ReturnStatus=NULL) const |
Determines whether or not this node can exist without output connections. More... | |
Static Public Member Functions | |
static const char * | className () |
Returns the name of this class. More... | |
Static Public Member Functions inherited from MPxGeometryFilter | |
static const char * | className () |
Returns the name of this class. More... | |
Static Public Member Functions inherited from MPxNode | |
static MStatus | addAttribute (const MObject &attr) |
This method adds a new attribute to a user defined node type during the type's initialization. More... | |
static MStatus | inheritAttributesFrom (const MString &parentClassName) |
This method allows a class of plugin node to inherit all of the attributes of a second class of plugin node. More... | |
static MStatus | attributeAffects (const MObject &whenChanges, const MObject &isAffected) |
This method specifies that a particular input attribute affects a specific output attribute. More... | |
static const char * | className () |
Returns the name of this class. More... | |
Static Public Attributes | |
static MObject | weightList |
weight list attribute, multi | |
static MObject | weights |
weight attribute, multi | |
static MObject | matrix |
matrix attribute, multi | |
static MObject | bindPreMatrix |
bindPreMatrix attribute, multi | |
Static Public Attributes inherited from MPxGeometryFilter | |
static MObject | input |
input attribute, multi | |
static MObject | inputGeom |
input geometry attribute | |
static MObject | groupId |
input group id attribute | |
static MObject | outputGeom |
geometry output attribute | |
static MObject | envelope |
envelope attribute | |
Static Public Attributes inherited from MPxNode | |
static MObject | message |
message attribute | |
static MObject | isHistoricallyInteresting |
is historically interesting attribute | |
static MObject | caching |
caching attribute | |
static MObject | state |
state attribute | |
static MObject | frozen |
frozen attribute | |
|
virtual |
This method returns the type of the node.
This method should not be overridden by the user. It will return MPxNode::kSkinCluster.
Reimplemented from MPxGeometryFilter.
float weightValue | ( | MDataBlock & | block, |
unsigned int | multiIndex, | ||
unsigned int | wtIndex | ||
) |
This method returns the weightValue stored in the datablock for the given geometry's lattice point/CV/vertex.
[in] | block | the datablock for the node |
[in] | multiIndex | the index corresponding to the geometry |
[in] | wtIndex | the index corresponding to the component |
|
static |
Returns the name of this class.