An attribute of a user defined MPxData type that is implemented as an attribute on a user defined node will fail to appear in the Outliner window.
Use of MPlug::numElements() on the dagSetMembers attribute of a shading engine node will return an incorrect number of elements.
MPlug::numConnectedElements() should be used.
When multiple types of object components are selected, e.g. edges and vertices, an MSelectionList that has been assigned the active selection list will contain only the final type of component selected. For example if edges were selected and then vertices were shift-selected the MSelectionList representing the active selection list will contain one MObject representing the vertex components.
MItSelectionList list will differentiate between the different components selected and can be used to identify all of the various components selected.
MItSelectionList::getDagPath() will always return the original dagPath of an instanced node. For example, if two shape nodes are selected and their dagPaths are:
MSelectionList::getDagPath() will return the correct dagPath for each object in the list.
If one creates a camera and immediately calls MFnCamera::setEyePoint() as in the following:
fnCamera.create (); fnCamera.setEyePoint ( MPoint (sceneCamera->eyePt, sceneCamera->eyePt, sceneCamera->eyePt) );
it will fail because MFnCamera::create() does not correctly set the node's path pointer variable.
MFnCamera fnCamera; MDagPath cameraPath; MDagPath::getAPathTo (fnCamera.create(), cameraPath); fnCamera.setObject (cameraPath); fnCamera.setEyePoint (...);
In previous versions of Maya it may have been possible in a startup MEL script to call a custom MEL command which was implemented via an API plug-in. However, plug-ins were among the first objects loaded on Maya startup and this caused initialization problems. Since Maya 4.0, API plug-in loading occurs later in the Maya startup process, and any startup MEL scripts which relied on the plug-ins already being loaded will no longer work correctly.