What's New in API in Maya 2017 Update 4
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.