Open Search
    Graph View

    Detailed Description

    Groups

     DRAGTYPE_GVNODE
     
     DataTypes
     
     GRAPHVIEW_PRIORITY
     
     GVNodeIDs
     
     GV_CONSTANT
     
     GV_GROUP
     
     GV_INITIAL
     
     GV_MESSAGE_FIRST_DATA_ID
     
     GV_PORTS
     
     GV_PREFERENCES_ID
     
     GV_VERSION
     
     Graph View Internal
     
     GvAnimHookType
     
     GvBodyDefaultSize
     
     GvCalcFlags
     
     GvCalcHookType
     
     GvCalcState
     
     GvConnMode
     
     GvDataType
     
     GvDrawState
     
     GvFileIdent
     
     GvGuiConfigIDs
     
     GvInsertMode
     
     GvLayoutType
     
     GvMasterConfigIDs
     
     GvMessage
     
     GvOpSetDataMode
     
     GvOperatorDescriptionFlags
     
     GvOperatorFlags
     
     GvOperatorType
     
     GvPortDescFlags
     
     GvPortFlags
     
     GvPortID
     
     GvPortIO
     
     GvRunId
     
     GvState
     
     GvWorldConfigIDs
     
     ID_GV_DATA_TYPE
     
     ID_GV_OPERATOR
     
     ID_GV_OPGROUP_TYPE
     
     ID_GV_OWNER
     
     ID_GV_VALUE_TYPE
     
     ID_OPERATOR
     
     ID_PLUGIN
     
     ID_PREFS
     
     VERSION_OPERATOR
     

    Classes

    struct  GvPortListEntry
     
    class  GvPortList
     
    class  GvCalcTime
     
    class  GvCalc
     
    class  GvInit
     
    class  GvValue
     
    class  GvQuery
     
    class  GvRun
     
    class  GvCalcTable
     
    class  GvNode
     
    class  GvPort
     
    class  GvNodeMaster
     
    class  GvNodeGUI
     
    class  GvWorld
     
    struct  ResolvePortDescId
     
    struct  GV_OPCLASS_HANDLER
     
    struct  GV_OPGROUP_HANDLER
     
    struct  GV_VALUE_HANDLER
     
    struct  GV_VALGROUP_HANDLER
     
    struct  GV_DATA_HANDLER
     
    struct  GvDestination
     
    struct  GvPortDescription
     
    struct  GvPortInfo
     
    struct  GvPortDescInfo
     
    struct  GvPortsDescInfo
     
    struct  GvPortsInfo
     
    struct  GvValuesInfo
     
    struct  GvDynamicData
     
    struct  GvOperatorDescription
     
    struct  GvDropHook
     
    struct  GvCalcHook
     
    struct  GvMenuHook
     
    struct  GvMessHook
     
    struct  GvAnimHook
     
    struct  GvDrawHook
     
    struct  GvHook
     
    class  GvOperatorData
     

    Macros

    #define GV_NODEMASTER_RELEASE
     
    #define ID_GV_VALGROUP_TYPE_GENERAL
     
    #define ID_GV_OPCLASS_TYPE_GENERAL
     
    #define CUSTOMGUI_NORMAL
     
    #define GV_OPERATOR_PORTS_ID
     
    #define GV_OPERATOR_DATA_ID
     
    #define GV_NODE_INVALID_INDEX
     
    #define GV_PORT_INVALID_ID
     
    #define GV_PORT_INVALID_INDEX
     
    #define GV_PORT_INVALID_SUB_ID
     
    #define GV_USERDATA_INVALID_ID
     
    #define GV_OPERATOR_INVALID_ID
     
    #define GV_PORT_INVALID_DESC
     
    #define GV_RESOURCE_SYMBOL_MAX_LENGTH
     
    #define GV_DATAHANDLER_FLAGS_DISCLEVEL
     
    #define GV_OPERATORFLAGS_MASK
     
    #define GV_MULTIPLE_PORTS
     

    Typedefs

    typedef NodeDataDataAllocator()
     
    typedef Bool(* GvDropHookFunc) (GvDropHook &hook)
     
    typedef Bool(* GvCalcHookFunc) (GvCalcHook &hook)
     
    typedef Bool(* GvMenuHookFunc) (GvMenuHook &hook)
     
    typedef Bool(* GvMessHookFunc) (GvMessHook &hook)
     
    typedef Bool(* GvAnimHookFunc) (GvAnimHook &hook)
     
    typedef void(* GvDrawHookFunc) (GvDrawHook &hook)
     
    typedef BaseList2D *(* GvHookCallback) (BaseDocument *doc, Int32 id)
     
    typedef Int32 GvValueType
     
    typedef Int32GvIdTablePtr
     

    Functions

    GvWorldGvGetWorld ()
     
    const String GvGetEmptyString ()
     
    const String GvGetErrorString (const maxon::String &command, Int32 err)
     
    void GvGetPortList (GvPortsDescInfo *info, GvPortIO port, GvPortList &portlist)
     
    Bool GvGetPortDescription (GvPortsDescInfo *info, GvPortIO port, Int32 id, GvPortDescription *pd)
     
    Bool GvGetAllDataTypes (GvPortDescInfo *info, UInt32 default_flag, Int32 first_id)
     
    void GvFreePortDescInfo (GvPortDescInfo *info)
     
    Bool GvRegisterOpClassType (GV_OPCLASS_HANDLER *data, Int32 struct_size)
     
    Bool GvRegisterOpGroupType (GV_OPGROUP_HANDLER *data, Int32 struct_size)
     
    Bool GvRegisterValueType (GV_VALUE_HANDLER *data, Int32 struct_size)
     
    Bool GvRegisterDataType (GV_DATA_HANDLER *data, Int32 struct_size, const char *symbol=nullptr)
     
    Bool GvRegisterValGroupType (GV_VALGROUP_HANDLER *data, Int32 struct_size)
     
    GV_OPCLASS_HANDLERGvFindRegisteredOpClass (GvOpClassID id)
     
    GV_OPGROUP_HANDLERGvFindRegisteredOpGroup (GvOpGroupID id)
     
    const String GvGetOperatorDetailedText (const GvOperatorData *op, const GvNode *bn)
     
    const String GvGetOperatorTitle (const GvNode *bn, Int32 string_id)
     
    void GvFreeValuesTable (GvNode *bn, maxon::BaseArray< GvValue * > &ports)
     
    void GvFreeValuesTable (GvNode *bn, GvValuesInfo &info)
     
    Bool GvBuildInValuesTable (GvNode *bn, maxon::BaseArray< GvValue * > &ports, GvCalc *c, GvRun *r, Int32 *ids)
     
    Bool GvBuildOutPortsTable (GvNode *bn, maxon::BaseArray< GvPort * > &ports)
     
    Bool GvBuildValuesTable (GvNode *bn, maxon::BaseArray< GvPort * > &in_ports, maxon::BaseArray< GvPort * > &out_ports)
     
    Bool GvCalculateInValuesTable (GvNode *bn, GvRun *run, GvCalc *calc, GvValuesInfo &info, Int32 singleport=((cinema::GvValueType)(-1)), BaseTime *time=nullptr)
     
    Bool GvBuildInValuesTable (GvNode *bn, GvValuesInfo &info, GvCalc *c, GvRun *r, GvIdTablePtr ids)
     
    Bool GvBuildOutValuesTable (GvNode *bn, GvValuesInfo &info)
     
    Bool GvBuildValuesTable (GvNode *bn, GvValuesInfo &info, GvCalc *c, GvRun *r, GvIdTablePtr input_ids)
     
    const GvDataInfoGvGetDataInfo (const GvNode *bn, Int32 id)
     
    GvDataInfoGvGetDataInfo (GvNode *bn, Int32 id)
     
    Bool GvCheckDataInfo (GvNode *bn, Int32 id)
     
    Bool GvAllocDynamicData (GvNode *bn, GvDynamicData &data, GvCalc *c, Int32 id)
     
    void GvFreeDynamicData (GvDynamicData &data)
     
    void GvClearDynamicData (GvDynamicData &data, GvRun *r)
     
    void GvClearDynamicData (GvDynamicData &data)
     
    Bool GvAllocDynamicDataClear (GvNode *bn, GvDynamicData &data, GvCalc *c, Int32 id)
     
    Bool GvAllocDynamicData (GvNode *bn, GvDynamicData &data, GvDataInfo *info)
     
    Bool GvSetDataInContainer (const void *const data, GvValueID value_id, BaseContainer &bc, Int32 container_id, Int32 cpu_id=0)
     
    GvNodeGetNode (GeListNode *bn)
     
    Bool GvRegisterOperatorPlugin (GvOperatorID id, const maxon::String &str, Int32 info, DataAllocator *at, const maxon::String &description, Int32 disklevel, GvOpClassID op_class, GvOpGroupID op_group, Int32 op_owner, BaseBitmap *icon)
     

    Macro Definition Documentation

    ◆ GV_NODEMASTER_RELEASE

    #define GV_NODEMASTER_RELEASE

    ◆ ID_GV_VALGROUP_TYPE_GENERAL

    #define ID_GV_VALGROUP_TYPE_GENERAL

    General value group.

    ◆ ID_GV_OPCLASS_TYPE_GENERAL

    #define ID_GV_OPCLASS_TYPE_GENERAL

    General operator class.

    ◆ CUSTOMGUI_NORMAL

    #define CUSTOMGUI_NORMAL

    Normal custom GUI.

    ◆ GV_OPERATOR_PORTS_ID

    #define GV_OPERATOR_PORTS_ID

    ◆ GV_OPERATOR_DATA_ID

    #define GV_OPERATOR_DATA_ID

    ◆ GV_NODE_INVALID_INDEX

    #define GV_NODE_INVALID_INDEX

    ◆ GV_PORT_INVALID_ID

    #define GV_PORT_INVALID_ID

    ◆ GV_PORT_INVALID_INDEX

    #define GV_PORT_INVALID_INDEX

    ◆ GV_PORT_INVALID_SUB_ID

    #define GV_PORT_INVALID_SUB_ID

    ◆ GV_USERDATA_INVALID_ID

    #define GV_USERDATA_INVALID_ID

    ◆ GV_OPERATOR_INVALID_ID

    #define GV_OPERATOR_INVALID_ID

    ◆ GV_PORT_INVALID_DESC

    #define GV_PORT_INVALID_DESC

    ◆ GV_RESOURCE_SYMBOL_MAX_LENGTH

    #define GV_RESOURCE_SYMBOL_MAX_LENGTH

    Resource symbol maximum length.

    ◆ GV_DATAHANDLER_FLAGS_DISCLEVEL

    #define GV_DATAHANDLER_FLAGS_DISCLEVEL

    GV_DATA_HANDLER has a GV_DATA_HANDLER::disclevel.

    ◆ GV_OPERATORFLAGS_MASK

    #define GV_OPERATORFLAGS_MASK

    Mask for GvOperatorFlags.

    ◆ GV_MULTIPLE_PORTS

    #define GV_MULTIPLE_PORTS

    All ports.

    Typedef Documentation

    ◆ DataAllocator

    typedef NodeData * DataAllocator()

    NodeData allocator.

    ◆ GvDropHookFunc

    typedef Bool(* GvDropHookFunc) (GvDropHook &hook)

    Drop hook function pointer.

    Parameters
    [in]hookThe hook data.
    Returns
    true if successful, otherwise false.

    ◆ GvCalcHookFunc

    typedef Bool(* GvCalcHookFunc) (GvCalcHook &hook)

    Calculation hook function pointer.

    Parameters
    [in]hookThe hook data.
    Returns
    true if successful, otherwise false.

    ◆ GvMenuHookFunc

    typedef Bool(* GvMenuHookFunc) (GvMenuHook &hook)

    Menu hook function pointer.

    Parameters
    [in]hookThe hook data.
    Returns
    true if successful, otherwise false.

    ◆ GvMessHookFunc

    typedef Bool(* GvMessHookFunc) (GvMessHook &hook)

    Message hook function pointer.

    Parameters
    [in]hookThe hook data.
    Returns
    true if successful, otherwise false.

    ◆ GvAnimHookFunc

    typedef Bool(* GvAnimHookFunc) (GvAnimHook &hook)

    Animation hook function pointer.

    Parameters
    [in]hookThe hook data.
    Returns
    true if successful, otherwise false.

    ◆ GvDrawHookFunc

    typedef void(* GvDrawHookFunc) (GvDrawHook &hook)

    Draw hook function pointer.

    Parameters
    [in]hookThe hook data.

    ◆ GvHookCallback

    typedef BaseList2D*(* GvHookCallback) (BaseDocument *doc, Int32 id)

    Hook callback function pointer.

    Parameters
    [in]docDocument.
    [in]idHook ID.
    Returns
    The scene hook.

    ◆ GvValueType

    typedef Int32 GvValueType

    ◆ GvIdTablePtr

    typedef Int32* GvIdTablePtr

    Function Documentation

    ◆ GvGetWorld()

    GvWorld* cinema::GvGetWorld ( )

    Retrieves the GV world.

    Returns
    The GV world. Cinema 4D owns the pointed GV world.

    ◆ GvGetEmptyString()

    const String cinema::GvGetEmptyString ( )

    Gets an empty string, just like String() would do.

    Returns
    An empty string.

    ◆ GvGetErrorString()

    const String cinema::GvGetErrorString ( const maxon::String command,
    Int32  err 
    )

    Returns an error string for display in for example the status bar. The format is currently Status: <command> error!, where error is determined by err.

    Parameters
    [in]commandThe command string.
    [in]errThe error ID. Either a GvError value, in which case an appropriate error string is loaded, or another number that is passed through String::IntToString().
    Returns
    The error string.

    ◆ GvGetPortList()

    void cinema::GvGetPortList ( GvPortsDescInfo info,
    GvPortIO  port,
    GvPortList portlist 
    )

    Gets the port list from the information in info.

    Parameters
    [in]infoThe port description. The caller owns the pointed port description.
    [in]portThe port IO mode: GvPortIO
    [out]portlistEntries are added to this list.

    ◆ GvGetPortDescription()

    Bool cinema::GvGetPortDescription ( GvPortsDescInfo info,
    GvPortIO  port,
    Int32  id,
    GvPortDescription pd 
    )

    Fills pd with information from info for the specified port.

    Parameters
    [in]infoThe port description. The caller owns the pointed port description.
    [in]portThe port IO mode: GvPortIO
    [in]idThe port ID.
    [out]pdFilled with the port information about port id from info.
    Returns
    true if succesful, otherwise false.

    ◆ GvGetAllDataTypes()

    Bool cinema::GvGetAllDataTypes ( GvPortDescInfo info,
    UInt32  default_flag,
    Int32  first_id 
    )

    Fills info with data type information. Free the structure with GvFreePortDescInfo().

    Parameters
    [in]infoThe port description to fill. The caller owns the pointed port description.
    [in]default_flagThe default flag for the GvPortDescInfo::flags array.
    [in]first_idThe first ID for the GvPortDescInfo::ids array. All data type IDs are offset by this amount.
    Returns
    true if successful, otherwise false.

    ◆ GvFreePortDescInfo()

    void cinema::GvFreePortDescInfo ( GvPortDescInfo info)

    Frees port description structures allocated with GvGetAllDataTypes().

    Parameters
    [out]infoThe port description to free.

    ◆ GvRegisterOpClassType()

    Bool cinema::GvRegisterOpClassType ( GV_OPCLASS_HANDLER data,
    Int32  struct_size 
    )

    Registers an operator class. See GV_OPCLASS_HANDLER for more information.

    Parameters
    [in]dataThe handler structure. The caller owns the pointed structure.
    Make sure that the passed structure has a long enough life time. The easiest way is to use a static or global variable.
    [in]struct_sizeThe size of the structure passed to data, i.e. sizeof(*data).
    Returns
    true if successful, otherwise false.

    ◆ GvRegisterOpGroupType()

    Bool cinema::GvRegisterOpGroupType ( GV_OPGROUP_HANDLER data,
    Int32  struct_size 
    )

    Registers an operator group. See GV_OPGROUP_HANDLER for more information.

    Parameters
    [in]dataThe handler structure. The caller owns the pointed structure.
    Make sure that the passed structure has a long enough life time. The easiest way is to use a static or global variable.
    [in]struct_sizeThe size of the structure passed to data, i.e. sizeof(*data).
    Returns
    true if successful, otherwise false.

    ◆ GvRegisterValueType()

    Bool cinema::GvRegisterValueType ( GV_VALUE_HANDLER data,
    Int32  struct_size 
    )

    Registers a value type. See GV_VALUE_HANDLER for more information.

    Parameters
    [in]dataThe handler structure. The caller owns the pointed structure.
    Make sure that the passed structure has a long enough life time. The easiest way is to use a static or global variable.
    [in]struct_sizeThe size of the structure passed to data, i.e. sizeof(*data).
    Returns
    true if successful, otherwise false.

    ◆ GvRegisterDataType()

    Bool cinema::GvRegisterDataType ( GV_DATA_HANDLER data,
    Int32  struct_size,
    const char *  symbol = nullptr 
    )

    Registers a data type. See GV_DATA_HANDLER for more information.

    Parameters
    [in]dataThe handler structure. The caller owns the pointed structure.
    Make sure that the passed structure has a long enough life time. The easiest way is to use a static or global variable.
    [in]struct_sizeThe size of the structure passed to data, i.e. sizeof(*data).
    [in]symbolThe data type symbol. The caller owns the pointed character buffer.
    Returns
    true if successful, otherwise false.

    ◆ GvRegisterValGroupType()

    Bool cinema::GvRegisterValGroupType ( GV_VALGROUP_HANDLER data,
    Int32  struct_size 
    )

    Registers a value group type. See GV_VALGROUP_HANDLER for more information.

    Parameters
    [in]dataThe handler structure. The caller owns the pointed structure.
    Make sure that the passed structure has a long enough life time. The easiest way is to use a static or global variable.
    [in]struct_sizeThe size of the structure passed to data, i.e. sizeof(*data).
    Returns
    true if successful, otherwise false.

    ◆ GvFindRegisteredOpClass()

    GV_OPCLASS_HANDLER* cinema::GvFindRegisteredOpClass ( GvOpClassID  id)

    Finds a registered operator class by ID.

    Parameters
    [in]idThe operator class ID to find.
    Returns
    The found class handler, or nullptr. Cinema 4D owns the pointed class handler.

    ◆ GvFindRegisteredOpGroup()

    GV_OPGROUP_HANDLER* cinema::GvFindRegisteredOpGroup ( GvOpGroupID  id)

    Finds a registered operator group by ID.

    Parameters
    [in]idThe operator group ID to find.
    Returns
    The found group handler, or nullptr. Cinema 4D owns the pointed group handler.

    ◆ GvGetOperatorDetailedText()

    const String cinema::GvGetOperatorDetailedText ( const GvOperatorData op,
    const GvNode bn 
    )

    Gets the detailed text for an operator, containing bn->GetTitle() and op->GetText().

    Parameters
    [in]opThe operator to get the text for. The caller owns the pointed GvOperatorData.
    [in]bnThe node to get the title for. The caller owns the pointed GvNode.
    Returns
    The operator detailed text.

    ◆ GvGetOperatorTitle()

    const String cinema::GvGetOperatorTitle ( const GvNode bn,
    Int32  string_id 
    )

    Gets the title for an operator, containing either bn->GetTitle() or GeLoadString(string_id) if the title is empty.

    Parameters
    [in]bnThe node to get the title for. The caller owns the pointed GvNode.
    [in]string_idThe string ID to load if the title is empty.
    Returns
    The operator title.

    ◆ GvFreeValuesTable() [1/2]

    void cinema::GvFreeValuesTable ( GvNode bn,
    maxon::BaseArray< GvValue * > &  ports 
    )

    Frees value tables allocated with the direct versions of the GvBuildValuesTable() functions.

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [out]portsTODO: (Sdkteam) describe

    ◆ GvFreeValuesTable() [2/2]

    void cinema::GvFreeValuesTable ( GvNode bn,
    GvValuesInfo info 
    )

    Frees value tables allocated with the GvValuesInfo versions of the GvBuildValuesTable() functions.

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [out]infoThe values info structure to free. The freed pointers are set to nullptr.

    ◆ GvBuildInValuesTable() [1/2]

    Bool cinema::GvBuildInValuesTable ( GvNode bn,
    maxon::BaseArray< GvValue * > &  ports,
    GvCalc c,
    GvRun r,
    Int32 ids 
    )

    Builds an input values table for bn for the specified ids.
    Use GvCalculateInValuesTable() to calculate the values, and then get the values from ports.
    Free the values table with GvFreeValuesTable().

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [in]portsTODO: (Sdkteam) describe
    [in]cThe current calculation helper. The caller owns the pointed calculation helper.
    [in]rThe current run helper. The caller owns the pointed run helper.
    [in]idsA zero terminated array of port IDs or one of these constants: GV_PORTS
    Returns
    true if successful, otherwise false.

    ◆ GvBuildOutPortsTable()

    Bool cinema::GvBuildOutPortsTable ( GvNode bn,
    maxon::BaseArray< GvPort * > &  ports 
    )

    Builds an output values table for bn. Then set the values in ports. Free the values table with GvFreeValuesTable().

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [out]portsTODO: (Sdkteam) describe
    Returns
    true if successful, otherwise false.

    ◆ GvBuildValuesTable() [1/2]

    Bool cinema::GvBuildValuesTable ( GvNode bn,
    maxon::BaseArray< GvPort * > &  in_ports,
    maxon::BaseArray< GvPort * > &  out_ports 
    )

    A combination of GvBuildInValuesTable() and GvBuildOutPortsTable().

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [out]in_portsTODO: (Sdkteam) describe
    [out]out_portsTODO: (Sdkteam) describe
    Returns
    true if successful, otherwise false.

    ◆ GvCalculateInValuesTable()

    Bool cinema::GvCalculateInValuesTable ( GvNode bn,
    GvRun run,
    GvCalc calc,
    GvValuesInfo info,
    Int32  singleport = ((cinema::GvValueType)(-1)),
    BaseTime time = nullptr 
    )

    Calls GvValue::Calculate() for all input ports in info.

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [in]runThe current run helper. The caller owns the pointed run helper.
    [in]calcThe current calculation helper. The caller owns the pointed calculation helper.
    [out]infoThe values information structure with the value tables to calculate.
    [in]singleportThe port index. GV_MULTIPLE_PORTS (default) calculates all ports.
    [in]timeIf not nullptr animation tracks of the node at time are evaluated before the calculation.
    Returns
    true if successful, otherwise false.

    ◆ GvBuildInValuesTable() [2/2]

    Bool cinema::GvBuildInValuesTable ( GvNode bn,
    GvValuesInfo info,
    GvCalc c,
    GvRun r,
    GvIdTablePtr  ids 
    )

    ◆ GvBuildOutValuesTable()

    Bool cinema::GvBuildOutValuesTable ( GvNode bn,
    GvValuesInfo info 
    )

    ◆ GvBuildValuesTable() [2/2]

    Bool cinema::GvBuildValuesTable ( GvNode bn,
    GvValuesInfo info,
    GvCalc c,
    GvRun r,
    GvIdTablePtr  input_ids 
    )

    ◆ GvGetDataInfo() [1/2]

    const GvDataInfo* cinema::GvGetDataInfo ( const GvNode bn,
    Int32  id 
    )

    Gets data info for an element in the operator container of bn.

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [in]idThe container ID.
    Returns
    The data type information. The GV world owns the pointed GvDataInfo.

    ◆ GvGetDataInfo() [2/2]

    GvDataInfo* cinema::GvGetDataInfo ( GvNode bn,
    Int32  id 
    )

    ◆ GvCheckDataInfo()

    Bool cinema::GvCheckDataInfo ( GvNode bn,
    Int32  id 
    )

    Checks if there is a data info available for an element in the operator container of bn.

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [in]idThe container ID.
    Returns
    true if there is a data info, otherwise false.

    ◆ GvAllocDynamicData() [1/2]

    Bool cinema::GvAllocDynamicData ( GvNode bn,
    GvDynamicData data,
    GvCalc c,
    Int32  id 
    )

    Allocates a dynamic data structure suitable for an element in the operator container of bn.
    Free the allocated data with GvFreeDynamicData().

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [out]dataThe dynamic data to allocate.
    [in]cThe current calculation helper. The caller owns the pointed calculation helper.
    [in]idThe container ID.
    Returns
    true if successful, otherwise false.

    ◆ GvFreeDynamicData()

    void cinema::GvFreeDynamicData ( GvDynamicData data)

    Frees the dynamic data in data.

    Parameters
    [in,out]dataThe dynamic data to free. The associated pointers are set to nullptr.

    ◆ GvClearDynamicData() [1/2]

    void cinema::GvClearDynamicData ( GvDynamicData data,
    GvRun r 
    )

    Clears the dynamic data in data, i.e. performs a GV_CALC_CLR calculation. This version of the function clears the data for the CPU specified by r->GetCpuID().

    Parameters
    [in,out]dataThe dynamic data to clear.
    [in]rThe current run helper. The caller owns the pointed run helper.

    ◆ GvClearDynamicData() [2/2]

    void cinema::GvClearDynamicData ( GvDynamicData data)

    Clears the dynamic data in data, i.e. performs a GV_CALC_CLR calculation. This version of the function clears the data for all CPUs.

    Parameters
    [in,out]dataThe dynamic data to clear.

    ◆ GvAllocDynamicDataClear()

    Bool cinema::GvAllocDynamicDataClear ( GvNode bn,
    GvDynamicData data,
    GvCalc c,
    Int32  id 
    )

    A combination of GvAllocDynamicData() and GvClearDynamicData().

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [out]dataThe dynamic data to allocate and clear.
    [in]cThe current calculation helper. The caller owns the pointed calculation helper.
    [in]idThe container ID.
    Returns
    true if successful, otherwise false.

    ◆ GvAllocDynamicData() [2/2]

    Bool cinema::GvAllocDynamicData ( GvNode bn,
    GvDynamicData data,
    GvDataInfo info 
    )

    Allocates a dynamic data structure suitable for for the data type described in info. Free the allocated data with GvFreeDynamicData().

    Parameters
    [in]bnThe node. The caller owns the pointed GvNode.
    [out]dataThe dynamic data to allocate.
    [in]infoData type specification.
    Returns
    true if successful, otherwise false.

    ◆ GvSetDataInContainer()

    Bool cinema::GvSetDataInContainer ( const void *const  data,
    GvValueID  value_id,
    BaseContainer bc,
    Int32  container_id,
    Int32  cpu_id = 0 
    )

    Sets data in bc at container_id.

    Parameters
    [in]dataThe data to set. The caller owns the pointed data.
    Points to GV data. The layout of the pointed data is determined by value_id.
    [in]value_idDetermines the type of data.
    [in]bcThe container to set the value in.
    [in]container_idThe container ID to set.
    [in]cpu_idThe CPU ID.
    Returns
    true if successful, otherwise false.

    ◆ GetNode()

    GvNode* cinema::GetNode ( GeListNode bn)

    A safe cast from GeListNode to GvNode.

    Parameters
    [in]bnThe list node to cast. The caller owns the pointed node.
    Returns
    The cast node pointer.

    ◆ GvRegisterOperatorPlugin()

    Bool cinema::GvRegisterOperatorPlugin ( GvOperatorID  id,
    const maxon::String str,
    Int32  info,
    DataAllocator at,
    const maxon::String description,
    Int32  disklevel,
    GvOpClassID  op_class,
    GvOpGroupID  op_group,
    Int32  op_owner,
    BaseBitmap icon 
    )

    Registers an operator plugin with Cinema 4D.

    Parameters
    [in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
    [in]strThe name of the plugin.
    To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
    Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
    [in]infoThe settings for the plugin. Possible flags are: PLUGINFLAG GvOperatorFlags
    [in]atThe allocator for the operator plugin. This is a pointer to a function that creates a new instance of GvOperatorData with NewObj.
    [in]descriptionThe name of the description resource file to use for the operator plugin without .res extension, for example "GVoperator".
    The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
    [in]disklevelThe plugin level is similar to a version number. The default level is 0.
    Increase this for new revisions of a plugin to allow for forward and backward compatibility.

    As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings you can increase the level.
    During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
    For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

    disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
    [in]op_classThe operator class. Either a class registered with GvRegisterOpClassType() or ID_GV_OPCLASS_TYPE_GENERAL.
    [in]op_groupThe operator group. Either a group registered with GvRegisterOpGroupType() or one of these: ID_GV_OPGROUP_TYPE
    [in]op_ownerThe owner ID. Either 0 or a unique ID for a custom plugin family.
    [in]iconThe icon for the operator. The bitmap is copied.
    The icon should be of size 32x32, but will be scaled if needed.
    It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
    Returns
    true if the plugin was registered, otherwise false.