Table of Contents

About

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().

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

Usage

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(const GeListNode* node, Description* description, DESCFLAGS_DESC& flags) const
{
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:622
Bool LoadDescription(const BCResourceObj *bc, Bool copy)
Represents a C4DAtom that resides in a 4D list.
Definition: c4d_baselist.h:1975
maxon::Bool Bool
Definition: ge_sys_math.h:51
DESCFLAGS_DESC
Definition: ge_prepass.h:3327
@ LOADED
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