A Description object stores information on how C4DAtom parameters are to be displayed in the GUI (Attribute Manager). It contains information on:
The information is stored using description setting IDs, see Description Settings Manual.
To add dynamic parameters to a NodeData based plugin one can implement NodeData::GetDDescription(). This function receives a given Description object that should be filled with the description of the visible parameters.
See NodeData::GetDDescription() Manual.
Correspondingly it is possible to get the parameter description from a C4DAtom:
See C4DAtom Parameter Properties.
A Description object can be created with the usual tools:
This is needed to access the parameter description of a given object:
The description of an plugin's static parameters is defined in the plugin's *.res file. This *.res file is typically registered using the "Register" function of the plugin (see General Plugin Information Manual). Such a registered description can then be loaded:
A custom data type can also define its own description. This sub-description (or sub-channels) can be loaded with:
In certain situations NodeData::GetDDescription() is not called to get the description of all parameters but of only one specific parameter.
Existing parameter descriptions are stored in BaseContainers that can be accessed with:
Also a new parameter description can be added:
There are two ways to iterate over all elements stored in a Description object. The first way is to loop over all stored parameters in a list:
The other way to iterate over all elements is to navigate down the tree hierarchy defined by parameter groups:
This convenience function allows to fill the BaseContainer for a pop-up menu based on the content of the Description:
This function allows to complete a given DescID: