With R20 the new MAXON API is introduced. This new API extends the existing "classic" API defined in cinema.framework. See Introduction.
For information on how to adapt existing code see API Transition.
The COFFEE programming language and all related functions and header files were removed.
Most enumerations were refactored to use enumeration classes. For instance, EXECUTIONFLAGS_ANIMATION
was changed to EXECUTIONFLAGS::ANIMATION
.
Also enumeration value with the name 0 were renamed to NONE
. For instance, DESCFLAGS_SET_0
was changed to DESCFLAGS_SET::NONE
.
The macro ENUM_END_FLAGS()
has been removed and replaced with MAXON API counterparts like MAXON_ENUM_LIST()
. See enumflags.h in core.framework.
The classic String
class is now a sub-class of the new maxon::String
. The API was refactored to use this new maxon::String
wherever possible.
Functions and classes of the "classic" API were replaced with new MAXON API functions. See Replacements.
The string resource folder naming scheme was changed. See Plugin Resources.
Cinema 4D R20 introduces new classes and tools to handle volumes. See Volumes Overview.
Cinema 4D R20 comes out with the new MoGraph fields system that replaces the existing falloff system. See MoGraph Overview.
MSG_MENUPREPARE
to that deformer to correctly initialize the internal field.Cinema 4D R20 extends the existing Instance object. See InstanceObject Manual.
The Mesh Attribute system allows to add arbitrary data for polygon mesh objects. See Mesh Attributes Interfaces and CustomDataTag Manual.
A new console window and logger system were introduced. See LoggerInterface Manual.
The color swatches system was reworked. It uses now maxon::ColorA
data and can handle multiple groups in both the document and application. See ColorSwatchData Manual.
The following flags of the spline GUI (CUSTOMGUI_SPLINE
/ SplineCustomGui
) have been removed:
See API Changes in R20.011 for the detailed list.
Previously, the internal IDs of plugins, modules and frameworks has been generated automatically. With the R20 SP1 it is now required to manually define the "ModuleId" parameter in the projectdefinition.txt file. Third party must not use the "net.maxon.*" namespace for their IDs.
See General Settings.
The CommandContextInterface
has been renamed to CommandDataInterface
. Accordingly, CommandContextClasses
has been renamed to CommandDataClasses
etc.
See Commands Manual.
Image format settings are stored in a maxon::DataDicitionary. It is possible to store these settings in a BaseContainer using GetImageSettingsDictionary() and SetImageSettingsDictionary().
See RenderData Manual.
The AutoLocker class was re-added. It is needed to use MoData::GetAutoLock().
See API Changes in R20.026 for the detailed list.
This hotfix for Cinema 4D R20 SP1 did not change any API functionality.
This hotfix for Cinema 4D R20 SP1 did not change any API functionality.
New symbols for several file importers/exporters were added:
The new function maxon::VolumeToolsInterface::CreateNewVector32Volume() allows the creation of maxon::Vector32 volumes.
See API Changes in R20.055 for the detailed list.
This hotfix for Cinema 4D R20 SP2 did not change any API functionality.