Open Search
    GvNode Class Reference

    #include <c4d_graphview.h>

    Inheritance diagram for GvNode:

    Detailed Description

    The GvNode is a double BaseList2D node. Internally it has an operator that corresponds to GvOperatorData. Use GetOperatorContainer() to access most parameters.
    Cannot be instantiated. Call GvNodeMaster::CreateNode() to create nodes.

    Private Member Functions

     GvNode ()
     
     ~GvNode ()
     

    Navigation

    GvNodeGetNext ()
     
    const GvNodeGetNext () const
     
    GvNodeGetPred ()
     
    const GvNodeGetPred () const
     
    GvNodeGetUp ()
     
    const GvNodeGetUp () const
     
    GvNodeGetDown ()
     
    const GvNodeGetDown () const
     

    Miscellaneous

    void Redraw ()
     
    const String GetTitle () const
     
    void SetTitle (const maxon::String &title)
     
    Bool CreateOperator ()
     
    GvNodeMasterGetNodeMaster ()
     
    const GvNodeMasterGetNodeMaster () const
     
    GvOperatorDataGetOperatorData ()
     
    Int32 GetOperatorID () const
     
    Int32 GetOwnerID () const
     
    Bool IsGroupNode () const
     

    Port

    GvPortAddPort (GvPortIO io, Int32 id, GvPortFlags flags=GV_PORT_FLAG_IS_VISIBLE, Bool message=false)
     
    Bool AddPortIsOK (GvPortIO io, Int32 id)
     
    Bool SetPortType (GvPort *port, Int32 id)
     
    Bool ResetPortType (Int32 id)
     
    void RemovePort (GvPort *port, Bool message=true)
     
    Bool RemovePortIsOK (GvPort *port)
     
    void RemoveUnusedPorts (Bool message=true)
     
    GvPortAddConnection (GvNode *source_node, GvPort *source_port, GvNode *dest_node, GvPort *dest_port)
     
    void RemoveConnections ()
     
    void GetPortList (GvPortIO port, GvPortList &portlist) const
     
    Bool GetPortDescription (GvPortIO port, Int32 id, GvPortDescription *pd) const
     
    Int32 GetInPortCount () const
     
    Int32 GetOutPortCount () const
     
    GvPortGetInPort (Int32 index)
     
    const GvPortGetInPort (Int32 index) const
     
    GvPortGetOutPort (Int32 index)
     
    const GvPortGetOutPort (Int32 index) const
     
    GvPortGetInPortFirstMainID (Int32 id)
     
    const GvPortGetInPortFirstMainID (Int32 id) const
     
    GvPortGetOutPortFirstMainID (Int32 id)
     
    const GvPortGetOutPortFirstMainID (Int32 id) const
     
    GvPortGetInPortMainID (Int32 id, Int32 &start)
     
    const GvPortGetInPortMainID (Int32 id, Int32 &start) const
     
    GvPortGetOutPortMainID (Int32 id, Int32 &start)
     
    const GvPortGetOutPortMainID (Int32 id, Int32 &start) const
     
    GvPortGetInPortSubID (Int32 id)
     
    const GvPortGetInPortSubID (Int32 id) const
     
    GvPortGetOutPortSubID (Int32 id)
     
    const GvPortGetOutPortSubID (Int32 id) const
     
    GvPortGetPort (Int32 sub_id)
     
    const GvPortGetPort (Int32 sub_id) const
     
    Int32 GetPortIndex (Int32 sub_id) const
     

    Calculate

    GvPortCalculateInPortIndex (Int32 port_index, GvRun *run, GvCalc *calc)
     
    GvPortCalculateOutPortIndex (Int32 port_index, GvRun *run, GvCalc *calc)
     
    GvPortCalculateInPort (GvPort *port, GvRun *run, GvCalc *calc)
     
    GvPortCalculateOutPort (GvPort *port, GvRun *run, GvCalc *calc)
     
    Bool SetRecalculate (GvRun *r, Bool force_set=false)
     
    Bool CalculateRawData (GvValueID value_id, const void *const data1, const void *const data2, void *dest, GvValueFlags calculation, Float parm1)
     

    Operator Container

    BaseContainerGetOpContainerInstance ()
     
    const BaseContainerGetOpContainerInstance () const
     
    BaseContainer GetOperatorContainer () const
     
    void SetOperatorContainer (const BaseContainer &bc)
     

    Operator Information/Data

    const String OperatorGetDetailedText ()
     
    const String OperatorGetErrorString (Int32 error)
     
    Bool OperatorSetData (GvDataType type, void *data, GvOpSetDataMode mode)
     
    Bool OperatorIsSetDataAllowed (GvDataType type, void *data, GvOpSetDataMode mode)
     
    void OperatorGetIcon (IconData &dat)
     

    Node State

    Bool GetSelectState ()
     
    Bool GetFailureState ()
     
    Bool GetDisabledState ()
     
    Bool GetOpenState ()
     
    void SetOpenState (Bool state)
     
    Bool GetLockState ()
     
    void SetLockState (Bool state)
     
    Bool GetShowPortNamesState ()
     
    void SetShowPortNamesState (Bool state)
     

    Calculation Handler

    GvValueAllocCalculationHandler (Int32 main_id, GvCalc *calc, GvRun *run, Int32 singleport)
     
    void FreeCalculationHandler (GvValue *&value)
     

    Additional Inherited Members

    - Public Member Functions inherited from BaseList2D
    void SetBit (Int32 mask)
     
    Bool GetBit (Int32 mask) const
     
    void DelBit (Int32 mask)
     
    void ToggleBit (Int32 mask)
     
    Int32 GetAllBits () const
     
    void SetAllBits (Int32 bits)
     
    void SetBitEx (Int32 mask, Int32 flags)
     
    const CharGetViewportRenderId (VIEWPORT_RENDER_ID typeId) const
     
    BaseList2DGetNext ()
     
    const BaseList2DGetNext () const
     
    BaseList2DGetPred ()
     
    const BaseList2DGetPred () const
     
    BaseContainer GetData ()
     
    void SetData (const BaseContainer &bc, Bool add=true)
     
    const BaseContainerGetDataInstanceRef () const
     
    BaseContainerGetDataInstanceRef ()
     
    const BaseContainerGetDataInstance () const
     
    BaseContainerGetDataInstance ()
     
    String GetName () const
     
    void SetName (const maxon::String &name, Bool setDirty=true)
     
    String GetBubbleHelp ()
     
    Bool TransferGoal (BaseList2D *dst, Bool undolink)
     
    Bool TransferMarker (BaseList2D *dst) const
     
    Bool CopyDynamicDescriptionFrom (const BaseList2D *src)
     
    Bool Scale (Float scale)
     
    Bool Edit ()
     
    void GetIcon (IconData *dat)
     
    GeListHeadGetNLARoot (Bool create)
     
    BaseList2DAnimationLayerRemap (BaseObject **layer=nullptr)
     
    String GetTypeName () const
     
    BaseList2DGetMain () const
     
    void InsertTrackSorted (CTrack *track)
     
    Bool AddEventNotification (BaseList2D *bl, NOTIFY_EVENT eventid, NOTIFY_EVENT_FLAG flags, const BaseContainer *data)
     
    Bool RemoveEventNotification (const BaseDocument *doc, BaseList2D *bl, NOTIFY_EVENT eventid)
     
    Bool FindEventNotification (const BaseDocument *doc, BaseList2D *bl, NOTIFY_EVENT eventid)
     
    Bool SetDescIDState (const DescID &id, DESCIDSTATE descidstate)
     
    DESCIDSTATE GetDescIDState (const DescID &id, Bool tolerant) const
     
    GeListHeadGetOverrideRoot (Bool create)
     
    BaseOverrideGetFirstOverride ()
     
    GeListHeadGetShaderRepositoryRoot (Bool create)
     
    GeListHeadGetHiddenShaderRoot (Bool create)
     
    maxon::NimbusForwardRef GetNimbusRef (const maxon::Id &spaceId) const
     
    maxon::Result< maxon::NimbusForwardRefPrivateGetOrCreateNimbusRef (const maxon::Id &spaceId)
     
    void RemoveNimbusRef (const maxon::Id &spaceId)
     
    maxon::Result< maxon::HashMap< maxon::Id, maxon::NimbusForwardRef > > GetAllNimbusRefs () const
     
    Bool IsNodeBased () const
     
    maxon::Result< BoolGetAccessedObjects (METHOD_ID method, AccessedObjectsCallback &access) const
     
    maxon::Result< BoolGetAccessedObjectsRec (ACCESSED_OBJECTS_MASK read, ACCESSED_OBJECTS_MASK write, METHOD_ID method, Bool withSiblings, Bool withChildren, AccessedObjectsCallback &access) const
     
    maxon::Result< BoolGetAccessedObjectsOfHierarchy (ACCESSED_OBJECTS_MASK read, ACCESSED_OBJECTS_MASK write, METHOD_ID method, AccessedObjectsCallback &access) const
     
    maxon::Result< BoolGetAccessedObjectsOfChildren (ACCESSED_OBJECTS_MASK read, ACCESSED_OBJECTS_MASK write, METHOD_ID method, AccessedObjectsCallback &access) const
     
    maxon::Result< BoolGetAccessedObjectsOfFirstChildHierarchy (ACCESSED_OBJECTS_MASK read, ACCESSED_OBJECTS_MASK write, METHOD_ID method, AccessedObjectsCallback &access) const
     
    maxon::Result< maxon::GenericDataGroupChanges ()
     
    void GetMarkerStampEx (UInt32 *l1, UInt32 *l2)
     
    const GeMarkerGetMarker () const
     
    void SetMarker (const GeMarker &m)
     
    Bool AddUniqueID (Int32 appid, const Char *const mem, Int bytes)
     
    Bool FindUniqueID (Int32 appid, const Char *&mem, Int &bytes) const
     
    Int32 GetUniqueIDCount () const
     
    Bool GetUniqueIDIndex (Int32 idx, Int32 &id, const Char *&mem, Int &bytes) const
     
    Bool SetAnimatedParameter (const CTrack *track, const DescID &id, const GeData &t_data1, const GeData &t_data2, Float mix, DESCFLAGS_SET flags)
     
    Bool GetAnimatedParameter (const DescID &id, GeData &t_data1, GeData &t_data2, Float &mix, DESCFLAGS_GET flags) const
     
    BaseShaderGetFirstShader () const
     
    void InsertShader (BaseShader *shader, BaseShader *pred=nullptr)
     
    void ClearKeyframeSelection ()
     
    Bool FindKeyframeSelection (const DescID &id)
     
    Bool SetKeyframeSelection (const DescID &id, Bool selection)
     
    Bool KeyframeSelectionContent ()
     
    LayerObjectGetLayerObject (const BaseDocument *doc)
     
    const LayerObjectGetLayerObject (const BaseDocument *doc) const
     
    Bool SetLayerObject (const LayerObject *layer)
     
    const LayerDataGetLayerData (const BaseDocument *doc, Bool rawdata=false) const
     
    Bool SetLayerData (BaseDocument *doc, const LayerData &data)
     
    GeListHeadGetCTrackRoot (Bool create)
     
    const GeListHeadGetCTrackRoot () const
     
    CTrackGetFirstCTrack ()
     
    const CTrackGetFirstCTrack () const
     
    CTrackFindCTrack (const DescID &id)
     
    const CTrackFindCTrack (const DescID &id) const
     
    - Public Member Functions inherited from GeListNode
    GeListNodeGetNext ()
     
    const GeListNodeGetNext () const
     
    GeListNodeGetPred ()
     
    const GeListNodeGetPred () const
     
    GeListNodeGetDown ()
     
    const GeListNodeGetDown () const
     
    GeListNodeGetUp ()
     
    const GeListNodeGetUp () const
     
    GeListNodeGetDownLast ()
     
    const GeListNodeGetDownLast () const
     
    void InsertBefore (GeListNode *bl)
     
    void InsertAfter (GeListNode *bl)
     
    void InsertUnder (GeListNode *bl)
     
    void InsertUnderLast (GeListNode *bl)
     
    void Remove ()
     
    void FlushChilds ()
     
    void MoveChildrenTo (GeListNode *dest)
     
    GeListHeadGetListHead ()
     
    const GeListHeadGetListHead () const
     
    Int32 GetNodeID (Int32 index=0) const
     
    template<typename CAST >
    const CAST * GetNodeData (Int32 index=0) const
     
    template<typename CAST >
    CAST * GetNodeData (Int32 index=0)
     
    void SetCustomData (GeListNode *node)
     
    GeListNodeGetCustomData ()
     
    const GeListNodeGetCustomData () const
     
    const BaseDocumentGetDocument () const
     
    BaseDocumentGetDocument ()
     
    maxon::Result< BoolGetBranchInfo (const maxon::ValueReceiver< const BranchInfo & > &info, GETBRANCHINFO flags) const
     
    Bool IsDocumentRelated () const
     
    Int32 GetInfo () const
     
    Bool GetNBit (NBIT bit) const
     
    UInt32 GetNBitMask (Int32 index) const
     
    Bool ChangeNBit (NBIT bit, NBITCONTROL bitmode)
     
    - Public Member Functions inherited from C4DAtom
    Int32 GetType () const
     
    Int32 GetRealType () const
     
    Int32 GetDiskType () const
     
    Bool IsInstanceOf (Int32 id) const
     
    Int32 GetClassification () const
     
    Bool Message (Int32 type, void *data=nullptr)
     
    Bool MultiMessage (MULTIMSG_ROUTE flags, Int32 type, void *data)
     
    C4DAtomGetClone (COPYFLAGS flags, AliasTrans *trn) const
     
    Bool CopyTo (C4DAtom *dst, COPYFLAGS flags, AliasTrans *trn) const
     
    Bool Read (HyperFile *hf, Int32 id, Int32 level)
     
    Bool Write (HyperFile *hf) const
     
    Bool ReadObject (HyperFile *hf, Bool readheader)
     
    Bool WriteObject (HyperFile *hf) const
     
    Bool GetDescription (Description *description, DESCFLAGS_DESC flags) const
     
    Bool GetParameter (const DescID &id, GeData &t_data, DESCFLAGS_GET flags) const
     
    Bool SetParameter (const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
     
    DynamicDescriptionGetDynamicDescriptionWritable ()
     
    const DynamicDescriptionGetDynamicDescription () const
     
    Bool CopyDynamicDescriptionFrom (const BaseList2D *src)
     
    Bool GetEnabling (const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) const
     
    Bool TranslateDescID (const DescID &id, DescID &res_id, C4DAtom *&res_at)
     
    UInt32 GetDirty (DIRTYFLAGS flags) const
     
    void SetDirty (DIRTYFLAGS flags)
     
    UInt32 GetHDirty (HDIRTYFLAGS mask) const
     
    void SetHDirty (HDIRTYFLAGS mask)
     
    - Static Public Member Functions inherited from BaseList2D
    static BaseList2DAlloc (Int32 type)
     
    static void Free (BaseList2D *&bl)
     
    - Static Public Attributes inherited from BaseList2D
    static const Int32 SETBIT_FLAG_NODIRTY
     
    static const Int32 SETBIT_FLAG_REMOVE
     

    Constructor & Destructor Documentation

    ◆ GvNode()

    GvNode ( )
    private

    ◆ ~GvNode()

    ~GvNode ( )
    private

    Member Function Documentation

    ◆ GetNext() [1/2]

    GvNode* GetNext ( )

    Gets the next GV node in the list. Convenience version of GeListNode::GetNext().

    Returns
    The next GV node, or nullptr if there is none. Cinema 4D owns the pointed node.

    ◆ GetNext() [2/2]

    const GvNode* GetNext ( ) const

    ◆ GetPred() [1/2]

    GvNode* GetPred ( )

    Gets the previous GV node in the list. Convenience version of GeListNode::GetPred().

    Returns
    The previous GV node, or nullptr if there is none. Cinema 4D owns the pointed node.

    ◆ GetPred() [2/2]

    const GvNode* GetPred ( ) const

    ◆ GetUp() [1/2]

    GvNode* GetUp ( )

    Gets the parent node of the GV node. Convenience version of GeListNode::GetUp().

    Returns
    The parent node, or nullptr if there is none. Cinema 4D owns the pointed node.

    ◆ GetUp() [2/2]

    const GvNode* GetUp ( ) const

    ◆ GetDown() [1/2]

    GvNode* GetDown ( )

    Gets the first child node of the GV node. Convenience version of GeListNode::GetDown().

    Returns
    The first child node, or nullptr if there is none. Cinema 4D owns the pointed node.

    ◆ GetDown() [2/2]

    const GvNode* GetDown ( ) const

    ◆ Redraw()

    void Redraw ( )

    Redraws the GV node.

    ◆ GetTitle()

    const String GetTitle ( ) const

    Gets the title of the GV node.

    Returns
    The title.

    ◆ SetTitle()

    void SetTitle ( const maxon::String title)

    Sets the title of the GV node.

    Parameters
    [in]titleThe title to set.

    ◆ CreateOperator()

    Bool CreateOperator ( )

    Creates the internal operator.

    Note
    Mainly this means that ports are added and that GvOperatorData::iCreateOperator() is called.
    Returns
    true if successful, otherwise false.

    ◆ GetNodeMaster() [1/2]

    GvNodeMaster* GetNodeMaster ( )

    Retrieves the node master that the GV node belongs to.

    Returns
    The node master of this node. Cinema 4D owns the pointed node master.

    ◆ GetNodeMaster() [2/2]

    const GvNodeMaster* GetNodeMaster ( ) const

    ◆ GetOperatorData()

    GvOperatorData* GetOperatorData ( )

    Retrieves the operator data for the GV node.

    Returns
    The operator data, or nullptr. The node owns the pointed operator data.

    ◆ GetOperatorID()

    Int32 GetOperatorID ( ) const

    Retrieves the operator ID for the GV node.

    Returns
    The operator ID.

    ◆ GetOwnerID()

    Int32 GetOwnerID ( ) const

    Retrieves the owner ID of the GV node.

    Returns
    The owner ID. Here are the predefined IDs: ID_GV_OWNER

    ◆ IsGroupNode()

    Bool IsGroupNode ( ) const

    Checks if the GV node is a group node.

    Note
    To access the content of a group node use the standard GeListNode navigation methods.
    Returns
    true if the GV node is a group node, otherwise false.

    ◆ AddPort()

    GvPort* AddPort ( GvPortIO  io,
    Int32  id,
    GvPortFlags  flags = GV_PORT_FLAG_IS_VISIBLE,
    Bool  message = false 
    )

    Adds a port to the GV node and returns a pointer to it.

    Parameters
    [in]ioThe IO mode of the port to create: GvPortIO
    [in]idThe ID of the port to create.
    [in]flagsThe port flags: GvPortFlags
    [in]messageIf true the operator receives a message when the port is added.
    Returns
    The created port, or nullptr if failed. The node owns the pointed port.

    ◆ AddPortIsOK()

    Bool AddPortIsOK ( GvPortIO  io,
    Int32  id 
    )

    Checks if it is OK to add a port to the GV node. Used to check if a call to AddPort() would succeed.

    Parameters
    [in]ioThe IO mode of the port to create: GvPortIO
    [in]idThe ID of the port to create.
    Returns
    true if it is OK to add the port, otherwise false.

    ◆ SetPortType()

    Bool SetPortType ( GvPort port,
    Int32  id 
    )

    Changes the type of a port of the GV node. Used to manage dynamic data ports.

    Parameters
    [in]portA port of the GV node. The caller owns the pointed port.
    [in]idThe port ID.
    Returns
    true if the port type was set, otherwise false.

    ◆ ResetPortType()

    Bool ResetPortType ( Int32  id)

    Changes the type of the port. Used to manage dynamic data ports.

    Parameters
    [in]idThe port ID.
    Returns
    true if the port type was reset, otherwise false.

    ◆ RemovePort()

    void RemovePort ( GvPort port,
    Bool  message = true 
    )

    Removes a port from the GV node.

    Parameters
    [in]portA port of the GV node to remove. The caller owns the pointed port.
    [in]messageIf true the operator receives a message when the port is removed.

    ◆ RemovePortIsOK()

    Bool RemovePortIsOK ( GvPort port)

    Checks if it is OK to remove a port from this node. Used to check if a call to RemovePort() would succeed.

    Parameters
    [in]portA port of the GV node to remove. The caller owns the pointed port.
    Returns
    true if it is OK to remove the port, otherwise false.

    ◆ RemoveUnusedPorts()

    void RemoveUnusedPorts ( Bool  message = true)

    Removes all unused ports from the GV node.

    Parameters
    [in]messageIf true the operator receives a message when ports are removed.

    ◆ AddConnection()

    GvPort* AddConnection ( GvNode source_node,
    GvPort source_port,
    GvNode dest_node,
    GvPort dest_port 
    )

    Adds a connection between the source_port of source_node and dest_port of dest_node.

    Note
    Has to be called for the destination node of a connection.
    Does not check if the connection is valid. Always combine it with a call to GvNodeMaster::IsConnectionValid():
    if (nm->IsConnectionValid(source_node, source_port, dest_node, dest_port,
    source_node_out, source_port_out, dest_node_out, dest_port_out))
    {
    AddConnection(source_node_out, source_port_out, dest_node_out, dest_port_out);
    }
    GvPort * AddConnection(GvNode *source_node, GvPort *source_port, GvNode *dest_node, GvPort *dest_port)
    Definition: c4d_graphview.h:602
    Parameters
    [in]source_nodeThe source node. The caller owns the pointed node.
    [in]source_portThe source port. The caller owns the pointed port.
    [in]dest_nodeThe destination node. The caller owns the pointed node.
    [in]dest_portThe destination port. The caller owns the pointed port.
    Returns
    The dest_port, or nullptr if the operation failed.

    ◆ RemoveConnections()

    void RemoveConnections ( )

    Removes all connections from all ports of the GV node.

    ◆ GetPortList()

    void GetPortList ( GvPortIO  port,
    GvPortList portlist 
    ) const

    Retrieves the list of port for the GV node.

    Parameters
    [in]portOnly retrieve ports with the passed IO mode: GvPortIO
    [out]portlistFilled with the ports from the node.

    ◆ GetPortDescription()

    Bool GetPortDescription ( GvPortIO  port,
    Int32  id,
    GvPortDescription pd 
    ) const

    Retrieves the description for a port of the GV node.

    Parameters
    [in]portThe port IO mode: GvPortIO
    [in]idThe port ID.
    [out]pdFilled with the port description. The caller owns the pointed GvPortDescription.
    Returns
    true if the port description was retrieved, otherwise false.

    ◆ GetInPortCount()

    Int32 GetInPortCount ( ) const

    Gets the number of input ports of the GV node.

    Returns
    The number of input ports.

    ◆ GetOutPortCount()

    Int32 GetOutPortCount ( ) const

    Gets the number of output ports of the GV node.

    Returns
    The number of output ports.

    ◆ GetInPort() [1/2]

    GvPort* GetInPort ( Int32  index)

    Retrieves the input port at index.

    Parameters
    [in]indexThe input port index: 0 <= index < GetInPortCount()
    Returns
    The retrieved input port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetInPort() [2/2]

    const GvPort* GetInPort ( Int32  index) const

    ◆ GetOutPort() [1/2]

    GvPort* GetOutPort ( Int32  index)

    Retrieves the output port at index.

    Parameters
    [in]indexThe output port index: 0 <= index < GetOutPortCount()
    Returns
    The retrieved output port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetOutPort() [2/2]

    const GvPort* GetOutPort ( Int32  index) const

    ◆ GetInPortFirstMainID() [1/2]

    GvPort* GetInPortFirstMainID ( Int32  id)

    Retrieves an input port by main ID. The first port found is returned.

    Parameters
    [in]idThe port main ID.
    Returns
    The retrieved input port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetInPortFirstMainID() [2/2]

    const GvPort* GetInPortFirstMainID ( Int32  id) const

    ◆ GetOutPortFirstMainID() [1/2]

    GvPort* GetOutPortFirstMainID ( Int32  id)

    Retrieves an output port by main ID. The first port found is returned.

    Parameters
    [in]idThe port main ID.
    Returns
    The retrieved output port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetOutPortFirstMainID() [2/2]

    const GvPort* GetOutPortFirstMainID ( Int32  id) const

    ◆ GetInPortMainID() [1/2]

    GvPort* GetInPortMainID ( Int32  id,
    Int32 start 
    )

    Retrieves an input port by main ID. The first port found with index greater or equal than start is returned.

    Parameters
    [in]idThe port main ID.
    [in,out]startThe start index: 0 <= start <= GetInPortCount(). Assigned a suitable value for consecutive calls, i.e. the next index.
    Returns
    The retrieved input port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetInPortMainID() [2/2]

    const GvPort* GetInPortMainID ( Int32  id,
    Int32 start 
    ) const

    ◆ GetOutPortMainID() [1/2]

    GvPort* GetOutPortMainID ( Int32  id,
    Int32 start 
    )

    Retrieves an output port by main ID. The first port found with index greater or equal than start is returned.

    Parameters
    [in]idThe port main ID.
    [in,out]startThe start index: 0 <= start <= GetInPortCount(). Assigned a suitable value for consecutive calls, i.e. the next index.
    Returns
    The retrieved output port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetOutPortMainID() [2/2]

    const GvPort* GetOutPortMainID ( Int32  id,
    Int32 start 
    ) const

    ◆ GetInPortSubID() [1/2]

    GvPort* GetInPortSubID ( Int32  id)

    Retrieves an input port by sub ID.

    Parameters
    [in]idThe port sub ID.
    Returns
    The retrieved input port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetInPortSubID() [2/2]

    const GvPort* GetInPortSubID ( Int32  id) const

    ◆ GetOutPortSubID() [1/2]

    GvPort* GetOutPortSubID ( Int32  id)

    Retrieves an output port by sub ID.

    Parameters
    [in]idThe port sub ID.
    Returns
    The retrieved output port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetOutPortSubID() [2/2]

    const GvPort* GetOutPortSubID ( Int32  id) const

    ◆ GetPort() [1/2]

    GvPort* GetPort ( Int32  sub_id)

    Retrieves a port by sub ID.

    Parameters
    [in]sub_idThe port sub ID.
    Returns
    The retrieved port, or nullptr if failed. The GV node owns the pointed port.

    ◆ GetPort() [2/2]

    const GvPort* GetPort ( Int32  sub_id) const

    ◆ GetPortIndex()

    Int32 GetPortIndex ( Int32  sub_id) const

    Gets the index of a port by sub ID.

    Parameters
    [in]sub_idThe port sub ID.
    Returns
    The port index.

    ◆ CalculateInPortIndex()

    GvPort* CalculateInPortIndex ( Int32  port_index,
    GvRun run,
    GvCalc calc 
    )

    Calculates an input port by index. Equivalent to GetInPort(port_index)->GvPort::Calculate(this, run, calc).

    Warning
    CalculateInPortIndex() should normally not be used. Use GvValue::Calculate() instead.
    Parameters
    [in]port_indexThe port index: 0 <= start <= GetInPortCount()
    [in]runThe run helper. The caller owns the pointed run helper.
    [in]calcThe calculation helper. The caller owns the pointed calculation helper.
    Returns
    The calculated port, or nullptr. The GV node owns the pointed port.

    ◆ CalculateOutPortIndex()

    GvPort* CalculateOutPortIndex ( Int32  port_index,
    GvRun run,
    GvCalc calc 
    )

    Calculates an output port by index. Equivalent to GetOutPort(port_index)->GvPort::Calculate(this, run, calc).

    Warning
    CalculateOutPortIndex() should normally not be used. Use GvValue::Calculate() instead.
    Parameters
    [in]port_indexThe port index: 0 <= start <= GetOutPortCount()
    [in]runThe run helper. The caller owns the pointed run helper.
    [in]calcThe calculation helper. The caller owns the pointed calculation helper.
    Returns
    The calculated port, or nullptr. The GV node owns the pointed port.

    ◆ CalculateInPort()

    GvPort* CalculateInPort ( GvPort port,
    GvRun run,
    GvCalc calc 
    )

    Calculates an input port.

    Warning
    CalculateInPort() should normally not be used. Use GvValue::Calculate() instead.
    Parameters
    [in]portThe input port to calculate. The caller owns the pointed port.
    [in]runThe run helper. The caller owns the pointed run helper.
    [in]calcThe calculation helper. The caller owns the pointed calculation helper.
    Returns
    The calculated port, or nullptr. The GV node owns the pointed port.

    ◆ CalculateOutPort()

    GvPort* CalculateOutPort ( GvPort port,
    GvRun run,
    GvCalc calc 
    )

    Calculates an output port.

    Warning
    CalculateOutPort() should normally not be used. Use GvValue::Calculate() instead.
    Parameters
    [in]portThe output port to calculate. The caller owns the pointed port.
    [in]runThe run helper. The caller owns the pointed run helper.
    [in]calcThe calculation helper. The caller owns the pointed calculation helper.
    Returns
    The calculated port, or nullptr. The GV node owns the pointed port.

    ◆ SetRecalculate()

    Bool SetRecalculate ( GvRun r,
    Bool  force_set = false 
    )

    Equivalents to GvPort::SetRecalculate() for each output port of the GV node.

    Parameters
    [in]rThe run helper. The caller owns the pointed run helper.
    [in]force_setForces all nodes to be set to be recalculated, even if they seem to be valid.
    Returns
    true if successful, otherwise false.

    ◆ GetOpContainerInstance() [1/2]

    BaseContainer* GetOpContainerInstance ( )

    Retrieves a pointer to the internal operator's container. This means that the container can be changed directly.

    Returns
    The operator's container. The GV node owns the pointed container.

    ◆ GetOpContainerInstance() [2/2]

    const BaseContainer* GetOpContainerInstance ( ) const

    ◆ GetOperatorContainer()

    BaseContainer GetOperatorContainer ( ) const

    Retrieves a copy of the internal operator's container.

    Returns
    A copy of the operator's container.

    ◆ SetOperatorContainer()

    void SetOperatorContainer ( const BaseContainer bc)

    Sets the internal operator's container.

    Parameters
    [in]bcThe container to set for the operator.

    ◆ OperatorGetDetailedText()

    const String OperatorGetDetailedText ( )

    Gets the detailed text of the operator.

    Returns
    The detailed text.

    ◆ OperatorGetErrorString()

    const String OperatorGetErrorString ( Int32  error)

    Gets error strings for the operator.

    Parameters
    [in]errorThe error.
    Returns
    The error string.

    ◆ OperatorSetData()

    Bool OperatorSetData ( GvDataType  type,
    void *  data,
    GvOpSetDataMode  mode 
    )

    Sets data in the operator.

    See also
    GvOperatorData::SetData.
    Parameters
    [in]typeThe data type: GvDataType
    [in]dataThe data pointer. The format depends on type. The caller owns the pointed data.
    [in]modeThe set data mode: GvOpSetDataMode
    Returns
    true if the data was set, otherwise false.

    ◆ OperatorIsSetDataAllowed()

    Bool OperatorIsSetDataAllowed ( GvDataType  type,
    void *  data,
    GvOpSetDataMode  mode 
    )

    Checks if a call to OperatorSetData() is allowed.

    Parameters
    [in]typeThe data type: GvDataType
    [in]dataThe data pointer. The format depends on type. The caller owns the pointed data.
    [in]modeThe set data mode: GvOpSetDataMode
    Returns
    true if the data can be set, otherwise false.

    ◆ OperatorGetIcon()

    void OperatorGetIcon ( IconData dat)

    Retrieves the operator icon.

    Parameters
    [in]datFilled with the operator icon data.

    ◆ GetSelectState()

    Bool GetSelectState ( )

    Gets the selection state of the GV node.

    Returns
    The selection state.

    ◆ GetFailureState()

    Bool GetFailureState ( )

    Gets the failure state of the GV node.

    Returns
    The failure state.

    ◆ GetDisabledState()

    Bool GetDisabledState ( )

    Gets the disabled state of the GV node.

    Returns
    The disabled state.

    ◆ GetOpenState()

    Bool GetOpenState ( )

    Gets the open state of the GV node.

    Returns
    The open state.

    ◆ SetOpenState()

    void SetOpenState ( Bool  state)

    Sets the open state of the GV node.

    Parameters
    [in]stateThe open state.

    ◆ GetLockState()

    Bool GetLockState ( )

    Gets the lock state of the GV node.

    Returns
    The lock state.

    ◆ SetLockState()

    void SetLockState ( Bool  state)

    Sets the lock state of the GV node.

    Parameters
    [in]stateThe lock state.

    ◆ GetShowPortNamesState()

    Bool GetShowPortNamesState ( )

    Gets the show port name state of the GV node.

    Returns
    The show port name state.

    ◆ SetShowPortNamesState()

    void SetShowPortNamesState ( Bool  state)

    Sets the show port name state of the GV node.

    Parameters
    [in]stateThe show port name state.

    ◆ AllocCalculationHandler()

    GvValue* AllocCalculationHandler ( Int32  main_id,
    GvCalc calc,
    GvRun run,
    Int32  singleport 
    )

    Allocates a calculation handler for the ports of a main ID of the GV node.
    Free the allocated handler with FreeCalculationHandler().

    Parameters
    [in]main_idThe main ID.
    [in]calcThe calculation helper. The caller owns the pointed calculation helper.
    [in]runThe run helper. The caller owns the pointed run helper.
    [in]singleportThe port index if the handler should be for a specific port. Otherwise pass GV_MULTIPLE_PORTS.
    Returns
    The allocated handler, or nullptr if failed.

    ◆ FreeCalculationHandler()

    void FreeCalculationHandler ( GvValue *&  value)

    Frees calculation handlers allocated with AllocCalculationHandler().

    Parameters
    [in,out]valueThe calculation handler to free. Set to nullptr afterwards.

    ◆ CalculateRawData()

    Bool CalculateRawData ( GvValueID  value_id,
    const void *const  data1,
    const void *const  data2,
    void *  dest,
    GvValueFlags  calculation,
    Float  parm1 
    )

    Convenience function to do calculation with unknown data.
    Retrieves the handler for value_id and then calls GV_VALUE_HANDLER::Calculate(userdata, value_id, data1, data2, dest, 0, calculation, parm1).

    See also
    GvPort::CalculateRawData() for a similar functionality for ports.
    Parameters
    [in]value_idDetermines the type of the data parameters.
    [in]data1The first data. The caller owns the pointed data.
    Points to GV data. The layout of the pointed data is determined by value_id.
    [in]data2The second data. The caller owns the pointed data.
    Points to GV data. The layout of the pointed data is determined by value_id.
    [out]destThe destination. The caller owns the pointed data.
    Points to GV data. The layout of the pointed data is determined by value_id.
    [in]calculationThe calculation to perform: GvValueFlags
    [in]parm1An additional parameter.
    Returns
    true if the result of the calculation was GV_CALC_ERR_NONE, otherwise false.