Table of Contents

About

NodeData based classic plugin classes can implement NodeData::GetDEnabling(). This allows to dynamically enable and disable parameters in the Attribute Manager.

NodeData::GetDEnabling() corresponds to C4DAtom::GetEnabling().

Usage

NodeData::GetDEnabling() is called with the DescID of each parameter. The function simply returns true if the given parameter should be enabled and false if the given parameter should be disabled.

Bool GetDEnabling(GeListNode* node, const DescID& id, const GeData& t_data, DESCFLAGS_ENABLE flags, const BaseContainer* itemdesc)
{
if (node == nullptr)
return false;
// check parameter ID
switch (id[0].id)
{
case EXAMPLE_GENERATOR_PARAMETER_VALUE:
{
// get the value of another parameter
GeData data;
node->GetParameter(EXAMPLE_GENERATOR_PARAMETER_BOOL, data, DESCFLAGS_GET::NONE);
// if true, then enable the parameter
// if not, disable the parameter
if (data.GetBool())
return true;
else
return false;
break;
}
}
return SUPER::GetDEnabling(node, id, t_data, flags, itemdesc);
}
PyCompilerFlags * flags
Definition: ast.h:14
Definition: c4d_basecontainer.h:47
Definition: lib_description.h:330
Definition: c4d_gedata.h:83
Bool GetBool(void) const
Definition: c4d_gedata.h:421
Represents a C4DAtom that resides in a 4D list.
Definition: c4d_baselist.h:1813
maxon::Bool Bool
Definition: ge_sys_math.h:55
DESCFLAGS_ENABLE
Definition: ge_prepass.h:3379
Definition: node.h:10

The arguments of the function are:

  • The node itself.
  • The parameter DescID in question.
  • The parameter value.
  • Some flags that are currently not used.
  • The parameter description stored in a BaseContainer.

Further Reading