![]()
Overview of example plug-ins
There are a large number of example plug-ins supplied with the Maya Development Tool Kit. These are described in this chapter to help you find one that demonstrates the operation you are trying to accomplish. The following naming convention is used by the examples so you can tell what kind of plug-in the example is based on its file name.
MEL command plug-ins
blindComplexDataCmd
Command which demonstrates adding more complex blind data, as a user defined data type, to an object. See blindComplexDataCmd.
blindDoubleDataCmd
Command which demonstrates adding blind data, as a user-defined data type, to an object. See blindDoubleDataCmd.
blindShortDataCmd
Command which demonstrates adding blind data to an object. See blindShortDataCmd.
closestPointCmd
command that shows how to use the MMeshIntersector class to find the closest point between a point light and a mesh
closestPointOnCurve
Command that sets the weights of the CVs of a cluster according to a mathematical function. See closestPointOnCurve.
convertBumpCmd
Command that demonstrates the steps necessary to create a non-linear animation clip using the API. See convertBumpCmd.
convertEdgesToContainedFacesCmd
Command that converts a selection of edges into a selection of faces that interconnect. See convertEdgesToContainedFacesCmd.
convertVerticesToContainedEdgesCmd
Command that converts a selection of vertices into a selection of edges that interconnect the original vertices. See convertVerticesToContainedEdgesCmd.
convertVerticesToContainedFacesCmd
Command that converts a selection of vertices into a selection of faces that interconnect the original vertices. See convertVerticesToContainedFacesCmd.
cvExpandCmd
Command that splits NURBS CV selections up into one string per selected CV. See cvExpandCmd.
cvPosCmd
Return the world or local space position of a NURBS CV or a poly vertex. See cvPosCmd.
dagPoseInfoCmd
Command that demonstrates how to extract DAG pose info for a skeleton’s bind pose, or for other poses created using the “dagPose” command. See dagPoseInfoCmd.
deletedMsgCmd
A new example that demonstrates each of the node deletion callbacks available.
deletedMsgCmd
command that demonstrates each of the node deletion callbacks that are available in the API. The command registers callbacks on selected nodes that will trigger messages in the console when the command is run
dynExprFieldTest
A new example that demonstrates the per particle field attributes support that has been added to the class MPxFieldNode.
exportJointClusterDataCmd
command that demonstrates how to find all joint cluster nodes and uses the MFnWeightGeometryFilter function set and MItGeometry iterator to export weights per CV for each geometry deformed by each joint cluster.
exportSkinClusterDataCmd
command that exports smooth skin data to an alternate format
findFileTexturesCmd
locate the file texture nodes in a scene
findTexturesPerPolygonCmd
locate the file texture nodes assigned to each polygon
flipUVCmd
demonstration the use of the MPxPolyTweakUVCommand class to manipulate UVs
helix2Cmd
command which implements undo and redo
helixTool
tool which uses OpenGL to draw out guidelines
helloCmd
trivial command that takes arguments
helloWorldCmd
first simple command
idleTest
display the attribute dependencies within a node
instanceCallbackCmd
A new example that demonstrates listening to instance add and remove messages.
instancerListCmd
demonstrates how to use the MFnInstancer and MItInstancer classes to enumerate all particle instances in a scene.
intersectCmd
an example that demonstrates how to find the intersection points between a mesh and a spotlight. This example demonstrates the accelerated intersection methods of MFnMesh
command to query light linking information
command that produces a list of all the holes in each selected poly mesh
demonstrates the API callbacks for node and plug locking
command which implements mouse selection
demonstrates the use of the high-level polygon API methods that have been added to MFnMesh
meshReorderCmd
command that will re-index a polygon mesh based on a user defined starting face
command to animate an object along a motion path
command that evaluates the position of a keyframed object over time and draws a motion path curve
command that moves CVs to the origin
command which demonstrates walking the dependency graph
command that adds a callback for all the nodes on the active selection list
command that uses particle ID information from the API to derive a set of NURBS curves from the position of particles over time
demonstrates the use of the new MFnParticleSystem class for retrieving particle information
pfxInfoCmd
an example that demonstrates how to extract the render line information from Maya® Paint Effects™
command to pick objects by name
both a MEL command and a DG node that computes the worldspace position and normal on a poly mesh
A new example that demonstrates the use of the MPolyMessage class to listen to vertex, edge and face component id changes.
command to create polygons
A new example that demonstrates the use of the MProgressWindow class.
command to find useful information about the referenced files in a scene
A new example that demonstrates the immediate feedback setting that has been added to the startRender() methods of the MRenderView class.
command which demonstrates walking the DAG
command which demonstrates walking the DAG as well as using syntax objects to parse the arguments to the command
command to move objects in a spiral
command to unshare or “split” select UVs on a poly mesh
command that creates a NURBS surface from CVs and knots using the MFnNurbsSurface function set
command which modifies the CV positions of NURBS surfaces or the vertex positions of polygons in order to twist the surface around the y-axis
threadTestCmd
command that shows how to use the MThreadPool thread class
threadTestWithLocksCmd
command that shows how to use the MThreadPool and MSpinLock threading classes
command to translate objects
A new example that demonstrates the use of the new Undo and Redo events that have been added to the MEventMessage class.
A new example that demonstrates the use of the MUserEventMessage class. This example allows the creation, removal and posting of user-defined events identified by strings.
command that demonstrates how user-defined messages can be used. The command supports options to register, deregister, and post named events through the API. This example uses callbacks that simply print a message when they are entered.
viewCallbackTest
an example that demonstrates how to listen to the pre render, post render, view destroyed callbacks
demonstrates the use of the MFnVolumeLight class
command that prints API type information about objects
command to zoom the view through a camera
Dependency Graph Node Plug-ins
User-defined dependency graph nodes—creating dynamics nodes
These user-defined dependency graph nodes create dynamics nodes derived from MPxEmitterNode, MPxSpringNode, and MPxFieldNode.
Rendering plug-ins
Miscellaneous plug-ins
The following lists several miscellaneous plug-ins.
Shader source code examples
Shader source code examples are provided in Shader source code examples.
System plug-ins
The following table lists the source for several of the system plug-ins shipped with Maya. Unlike most of the other examples, these are complex samples of real production plug-ins.
Detailed documentation for each of these can be found in the Translators guide as compiled versions of these are shipped as part of the Maya package. The following shows the current list.
animImportExport
A translator that allows you to move animation information between scenes.
objExport
A Wavefront OBJ export translator
ribExport
A Pixer® RenderMan® RIB export translator