Open Search

    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