URigVMNode

The Node represents a single statement within a Graph.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

RigVMDeveloper

Header

/Engine/Source/Developer/RigVMDeveloper/Public/RigVMModel/RigVMNode.h

Include

#include "RigVMModel/RigVMNode.h"

Syntax

class URigVMNode : public UObject

Remarks

The Node represents a single statement within a Graph. Nodes can represent values such as Variables / Parameters, they can represent Function Invocations or Control Flow logic statements (such as If conditions of For loops). Additionally Nodes are used to represent Comment statements. Nodes contain Pins to represent parameters for Function Invocations or Value access on Variables / Parameters.

Variables

Name Description

Protected variable

bool

 

bHaltedAtThisNode

Protected variable

bool

 

bHasBreakpoint

Protected variable

FLinearColor

 

NodeColor

Protected variable

FString

 

NodeTitle

Protected variable

FVector2D

 

Position

Protected variable

FName

 

PreviousName

Protected variable

FVector2D

 

Size

Constructors

Name Description

Public function

URigVMNode()

Default constructor.

Destructors

Name Description

Public function Virtual

~URigVMNode()

Default destructor.

Functions

Name Description

Protected function Virtual Const

bool

 

AllowsLinksOn

(
    const URigVMPin* InPin
)

Public function Virtual Const

bool

 

ContributesToResult()

Public function Const

bool

 

ExecutionIsHaltedAtThisNode()

Public function Const

URigVMPin &#...

 

FindPin

(
    const FString& InPinPath
)

Returns a Pin given it's partial pin path below this node (for example: "Color.R")

Public function Const

TArray< URig...

 

GetAllPinsRecursively()

Returns all of the Pins of this Node (including SubPins).

Public function Virtual Const

FName

 

GetEventName()

Returns the name of the event.

Public function Const

URigVMGraph ...

 

GetGraph()

Returns the Graph of this Node.

Public function Const

URigVMInject...

 

GetInjectionInfo()

Returns the injection info of this Node (or nullptr)

Public function Const

double

 

GetInstructionMicroSeconds

(
    URigVM* InVM,
    const FRigVMASTProxy& InProxy
)

Returns the accumulated duration of all of instructions for this node.

Public function Const

const TArray...

 

GetInstructionsForVM

(
    URigVM* InVM,
    const FRigVMASTProxy& InProxy
)

Returns the indices of associated instructions for this node.

Protected function Virtual Const

TArray< int3...

 

GetInstructionsForVMImpl

(
    URigVM* InVM,
    const FRigVMASTProxy& InProxy
)

Public function Virtual Const

int32

 

GetInstructionVisitedCount

(
    URigVM* InVM,
    const FRigVMASTProxy& InProxy
)

Returns the number of visited / run instructions for this node.

Public function Const

TArray< URig...

 

GetLinkedSourceNodes()

Returns a list of Nodes connected as sources to this Node as the target.

Public function Const

TArray< URig...

 

GetLinkedTargetNodes()

Returns a list of Nodes connected as targets to this Node as the source.

Public function Const

TArray< URig...

 

GetLinks()

Returns all links to any pin on this node.

Public function Virtual Const

FLinearColor

 

GetNodeColor()

Returns the color of this node - used for UI.

Public function Const

int32

 

GetNodeIndex()

Returns the current index of the Node within the Graph.

Public function Const

FString

 

GetNodePath

(
    bool bRecursive
)

Returns the a .

Public function Virtual Const

FString

 

GetNodeTitle()

Returns the title of this Node - used for UI.

Public function Virtual Const

const TArray...

 

GetOrphanedPins()

Returns all of the top-level orphaned Pins of this Node.

Public function Virtual Const

const TArray...

 

GetPins()

Returns all of the top-level Pins of this Node.

Public function Const

FVector2D

 

GetPosition()

Returns the 2d position of this node - used for UI.

Public function Const

FName

 

GetPreviousFName()

Returns the name of the node prior to the renaming.

Public function Const

URigVMGraph ...

 

GetRootGraph()

Returns the top level / root Graph of this Node.

Public function Const

FVector2D

 

GetSize()

Returns the 2d size of this node - used for UI.

Public function Virtual Const

FText

 

GetToolTipText()

Returns the tooltip of this node.

Protected function Virtual Const

FText

 

GetToolTipTextForPin

(
    const URigVMPin* InPin
)

Public function Const

bool

 

HasBreakpoint()

Public function Virtual Const

bool

 

HasInputPin

(
    bool bIncludeIO
)

Returns true if the node has any input pins.

Public function Virtual Const

bool

 

HasIOPin()

Returns true if the node has any io pins.

Public function Const

bool

 

HasOrphanedPins()

Returns true if the node has orphaned pins - which leads to a compiler error.

Public function Virtual Const

bool

 

HasOutputPin

(
    bool bIncludeIO
)

Returns true if the node has any output pins.

Public function Virtual Const

bool

 

HasPinOfDirection

(
    ERigVMPinDirection InDirection
)

Returns true if the node has any pins of the provided direction.

Public function Const

bool

 

HasUnknownTypePin()

Returns true if this node has an unknown type pin.

Public function Virtual Const

bool

 

IsDefinedAsConstant()

Returns true if the node is defined as non-varying.

Public function Virtual Const

bool

 

IsDefinedAsVarying()

Returns true if the node is defined as non-varying.

Public function Virtual Const

bool

 

IsEvent()

Returns true if this Node is the beginning of a scope.

Public function Const

bool

 

IsInjected()

Returns true if this is an injected node.

Public function Const

bool

 

IsLinkedTo

(
    URigVMNode* InNode
)

Returns true if this Node is linked to another given node through any of the Nodes' Pins.

Public function Virtual Const

bool

 

IsLoopNode()

Return true if this node is a loop node

Public function Virtual Const

bool

 

IsMutable()

Returns true if this Node has side effects or internal state.

Public function Virtual Const

bool

 

IsPure()

Returns true if this Node has no side-effects and no internal state.

Public function Const

bool

 

IsSelected()

Returns true if this Node is currently selected.

Public function Const

bool

 

IsVisibleInUI()

Returns true if this should be visible in the UI.

Public function Static

FString

 

JoinNodePath

(
    const TArray< FString >& InParts
)

Joins a NodePath from to segments, so for example ["CollapseNodeA", "CollapseNodeB", "CollapseNodeC"] becomes "CollapseNodeA|CollapseNodeB|CollapseNodeC".

Public function Static

FString

 

JoinNodePath

(
    const FString& Left,
    const FString& Right
)

Joins a NodePath from to segments, so for example "CollapseNodeA" and "CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA|CollapseNodeB|CollapseNodeC".

Public function

void

 

SetExecutionIsHaltedAtThisNode

(
    const bool bValue
)

Public function

void

 

SetHasBreakpoint

(
    const bool bValue
)

Public function Static

bool

 

SplitNodePath

(
    const FString& InNodePath,
    TArray< FString >& Parts
)

Splits a NodePath into all segments, so for example "Node.Color.R" becomes ["Node", "Color", "R"].

Public function Static

bool

 

SplitNodePathAtEnd

(
    const FString& InNodePath,
    FString& Left,
    FString& RightMost
)

Splits a NodePath at the end, so for example "CollapseNodeA|CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA|CollapseNodeB" and "CollapseNodeC".

Public function Static

bool

 

SplitNodePathAtStart

(
    const FString& InNodePath,
    FString& LeftMost,
    FString& Right
)

Splits a NodePath at the start, so for example "CollapseNodeA|CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA" and "CollapseNodeB|CollapseNodeC".

Constants