What's New in API in Maya 2017 Update 4
Viewport 2.0
- A new
MPxDrawOverride2 class includes new virtual functions, which let you continue to use
MPxLocatorNode class functions to override selection behavior for custom shapes in your plug-ins.
MPxDrawOverride2 class functions also provide the UI drawing mechanism to supersede the
MPxSurfaceShapeUI class.
These updates do not require plug-in source code changes or recompiling.
The new functions include:
- MPxDrawOverride2::wantUserSelection(), which when set to true, gets overridden and allows
MPxDrawOverride2::userSelect() to be invoked for selection testing. Otherwise, the implementation is based on the
rasterization of the drawing method.
- When
MPxDrawOverride2::userSelect() is invoked by
MPxDrawOverride2::wantUserSelection(), the
MUserData instance is used for the current selection context.
The rawfootPrintNode plug-in example has been updated to demonstrate the use of the
new functions.
- The
footPrintNode,
footPrint_GeometryOverride, and
rawFootPrintNode devkit examples have been updated to demonstrate how to optimize the use of
MPxGeometryOverride class functions to improve viewport refreshes while running Maya in Evaluation Mode.
- The
MPxSubSceneOverride.updateSelectionGranularity() method in the Python API no longer raises a
TypeError when it isn't overridden in derived classes.
- The
apiMeshShape devkit example has been modified to demonstrate how to support animation in Parallel
mode.