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.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.