Applications and plug-ins are now built using the cmake tool. When building a plug-in or application, cmake must be called twice: once to create a makefile, and a second time to build the application or plug-in using the makefile.
CMake is available to download from https://cmake.org/download/.
The embedded version of Python on MacOSX has been updated to Python 2.7.15.
Maya now sets the SSL_CERT_FILE environment variable to point to the cert.pem file within its embedded Python Framework if SSL_CERT_FILE is unset.
To keep SSL_CERT_FILE unset, the MAYA_DO_NOT_SET_SSL_CERT_FILE environment variable must be set to 1 before launching Maya.
Updates to the MPxGeometryOverride class include the following new methods:
The MPyMPxGeometryOverride class in the Python API also includes these new methods.
When a 3D model view activates Isolate Select for components, Viewport 2.0 creates and maintains necessary render items to represent the drawing of the isolate selected components specifically for that view. These render items are copies of their original items and so they have the same properties including name, type, primitive type, and draw mode. However, their shading components are filtered from the view selected set of that view.
New methods have been added to allow custom render items created in a MPxGeometryOverride implementation to have their copies created for the drawing of isolate selected components. They also provide access of the view-selected shading components so that the MPxGeometryOverride implementation can fill in geometries properly.
These new methods include:
The apiMeshShape example plugin has been updated to use these new methods.
The Python API also includes these changes.
The MColorManagementNodes C++ API class has been added that allows you to manipulate color managed nodes; for example: you can color manage one or all input nodes, and query whether an object is color manageable or color managed. A colorManageAllNodes flag has also been added to the colorManagementPrefs MEL/Python command.
The following methods have been deprecated:
New methods added to the MFnDependencyNode class let you set and manage which nodes have permission to be scheduled for evaluation by the evaluation graph. Nodes that do not have permission for evaluation can be created and destroyed without invalidating the evaluation graph.
The Python API also includes these new methods. See the MPyMFnDependencyNode class.
Added the following new methods to the MGraphEditorInfo class:
A new MPxCacheConfigRuleFilter class lets you define custom configuration rule filters for background evaluation caching. The new class includes the following methods:
A new MCacheConfigRuleRegistry class includes a static method for registering and deregistering MPxCacheConfigRuleFilter custom classes.
A new nameFilter/NameFilter.cpp example demonstrates how to create custom configuration rule filters.
Updates to the MUIDrawManager include the following:
The Python API also includes these methods. See the pyUiDrawManager.py class.
Updates to the uiDrawManager example plugin in the Maya devkit include the new methods.
A new MCameraMessage class lets you register callbacks for interactive camera manipulation messages. To remove a callback use MMessage::removeCallback(). Note that all callbacks registered by a plug-in must be removed by that plug-in when it is unloaded. Failure to do so will result in a fatal error. The Python API has also been updated with these new methods. See the MPyMCameraMessage class.
A new cameraMessageCmd/cameraMessageCmd.cpp plug-in example demonstrates how to use each of the new camera manipulation callbacks.
A new version of the MFnMesh::create() method now stores vertices in doubles and allows edge connections.
The OpenMaya.MFnMesh.create () method in the Python API has also been updated with this improvement.
Added new kPinToGeometryUV and kPinToGeometryProx enums.
Added the MPolyMessage::addColorSetChangedCallback() method to register a callback when ColorSetChanged is modified.
Added the following new enums to specify the type of color set change message:
The Python API has also been updated to include these changes.
Updates to the MGlobal class include the addition of the MGlobal::executeTaskOnIdle() method. Use this method to execute a customized task to execute on the next idle event. This is a thread safe way to schedule a task for the main thread to execute. This method is not available in Python.
Added the MMessage::stopRegisteringCallableScript() method. Use this method to stop the MMessage object from being passed.
The following methods are deprecated: