New methods have been added to the MDGContext class to help better manage the current evaluation contexts. These methods include:
MDGContext::current() lets you determine the current context being used for evaluation.MDGContext::isCurrent() lets you determine if a context is currently being used for evaluation.MDGContext::makeCurrent() sets a context to be the current evaluation context.Added a new MDGContextGuard class, which lets you use a scope object to modify evaluation context for a sequence of context-related calls.
See Evaluation using current context for more information.
A number of methods from the following classes have been deprecated and replaced with current context versions.
See Evaluation using current context for more information.
New methods have been added to the MProfiler class that allow plug-in writers to export a recording to either a .json or a .csv file, which can then be visualized in a spreadsheet or webpage, independently of Maya.
These methods include:
MProfiler::getThreadDuration()MProfiler::eventDataAvailable()MProfiler::recordingActive()MProfiler::resetRecording()MProfiler::setRecordingActive()MProfiler::saveRecording()MProfiler::loadRecording()MProfiler::isDataFromFile()MProfiler::getNumberOfCPUs()The MEvaluationNode class is now exposed in the Python API.
The MPxNode class MPxNode::preEvaluation() and MPxNode::postEvaluation() virtual methods are now exposed in the Python API.
MHWRender class override interfaces (and optionally using MUIDrawManager) has been improved. These improvements have been added the following:
footPrintNodefootPrintManiprawfootPrintNodefootPrintNode_GeometryOverridefootPrintNode_SubSceneOverride devkit example demonstrates how to implement sub-scene overrides for locator objects.MOpenCLInfo::supportsDoublePrecision() method to check for GPU double precision support.