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
 
const BaseList2DGetMain () const
 
BaseList2DGetMain ()
 
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
 
const CTrackGetFirstCTrack () const
 
CTrackGetFirstCTrack ()
 
const CTrackFindCTrack (const DescID &id) const
 
CTrackFindCTrack (const DescID &id)
 
- 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 C4DAtomGoal
Bool HasLinks () const
 
- 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.