Table of Contents


NodeData based classic plugin classes can implement NodeData::GetDDescription(). This allows to dynamically add parameters to the element's parameter description. This description is then used by Cinema 4D to define the parameters that are displayed in the Attribute Manager.

NodeData::GetDDescription() corresponds to C4DAtom::GetDescription().

NodeData::GetDDescription() will be called when the DIRTYFLAGS::DESCRIPTION flag of an object is set.


When NodeData::GetDDescription() is called it is supposed to fill the given Description object.

// This example defines the element's parameter description by loading the registered description of the plugin type.
virtual Bool GetDDescription(GeListNode* node, Description* description, DESCFLAGS_DESC& flags)
const Bool invalidNode = node == nullptr;
const Bool invalidDescription = description == nullptr;
if (invalidNode || invalidDescription)
return false;
// load the description of this type
if (description->LoadDescription(node->GetType()) == false)
return false;
return SUPER::GetDDescription(node, description, flags);
PyCompilerFlags * flags
Definition: ast.h:14
Definition: lib_description.h:530
Bool LoadDescription(const BCResourceObj *bc, Bool copy)
Represents a C4DAtom that resides in a 4D list.
Definition: c4d_baselist.h:1811
maxon::Bool Bool
Definition: ge_sys_math.h:55
Definition: ge_prepass.h:3305
Set if elements have been added to the description, either by loading or manual addition.
Definition: node.h:10

The arguments of the function are:

Details on how to handle a Description are described in Description Manual and Description Settings Manual.

Further Reading