Navigation
API > API/Plugins > API/Plugins/RigVMDeveloper
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.
| Name | URigVMNode |
| Type | class |
| Header File | /Engine/Plugins/Runtime/RigVM/Source/RigVMDeveloper/Public/RigVMModel/RigVMNode.h |
| Include Path | #include "RigVMModel/RigVMNode.h" |
Syntax
UCLASS (BlueprintType)
class URigVMNode : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → URigVMNode
Derived Classes
URigVMNode derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
URigVMNode() |
Default constructor. | RigVMModel/RigVMNode.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~URigVMNode() |
Default destructor. | RigVMModel/RigVMNode.h |
Structs
| Name | Remarks |
|---|---|
| FProfilingCache |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| EmptyInstructionArray | TArray< int32 > | RigVMModel/RigVMNode.h | |
| NodeColorName | const TCHAR * | RigVMModel/RigVMNode.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CachedOriginalPinDefaultValues | TMap< FString, FString > | RigVMModel/RigVMNode.h | ||
| OrphanedPins | TArray< TObjectPtr< URigVMPin > > | RigVMModel/RigVMNode.h | ||
| Pins | TArray< TObjectPtr< URigVMPin > > | RigVMModel/RigVMNode.h | ||
| ProfilingCache | TMap< uint32, TSharedPtr< FProfilingCache > > | RigVMModel/RigVMNode.h | ||
| ProfilingHash | uint32 | RigVMModel/RigVMNode.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CanBeUpgraded() |
Returns true if the node can be upgraded | RigVMModel/RigVMNode.h |
|
virtual bool CanOnlyExistOnce() |
Returns true if this node can only exist once in a graph. | RigVMModel/RigVMNode.h |
|
virtual bool ContributesToResult() |
RigVMModel/RigVMNode.h | ||
bool ExecutionIsHaltedAtThisNode() |
RigVMModel/RigVMNode.h |
|
|
URigVMPin * FindExecutePin() |
Returns the first execute pin. | RigVMModel/RigVMNode.h |
|
virtual URigVMLibraryNode * FindFunctionForNode() |
RigVMModel/RigVMNode.h |
|
|
URigVMPin * FindPin
(
const FString& InPinPath |
Returns a Pin given it's partial pin path below this node (for example: "Color.R") | RigVMModel/RigVMNode.h |
|
| Returns a root pin given its name. | RigVMModel/RigVMNode.h |
|
|
| RigVMModel/RigVMNode.h | |||
| RigVMModel/RigVMNode.h | |||
| RigVMModel/RigVMNode.h |
|
||
| RigVMModel/RigVMNode.h |
|
||
| Returns all of the Pins of this Node (including SubPins). | RigVMModel/RigVMNode.h |
|
|
const uint32 & GetCachedValueVersion() |
RigVMModel/RigVMNode.h | ||
virtual FString GetCategoryForPin
(
const FString& InPinPath |
Returns the category for a pin | RigVMModel/RigVMNode.h | |
| Returns the names of the control flow blocks of this node | RigVMModel/RigVMNode.h | ||
virtual FString GetDeprecatedMetadata() |
RigVMModel/RigVMNode.h | ||
FName GetDisplayNameForPin
(
const FString& InPinPath |
Returns the display name for a pin | RigVMModel/RigVMNode.h | |
virtual FName GetDisplayNameForPin
(
const URigVMPin* InPin |
RigVMModel/RigVMNode.h | ||
virtual FName GetEventName() |
Returns the name of the event. | RigVMModel/RigVMNode.h |
|
virtual URigVMPin * GetFirstAggregatePin() |
RigVMModel/RigVMNode.h |
|
|
URigVMGraph * GetGraph() |
Returns the Graph of this Node. | RigVMModel/RigVMNode.h |
|
int32 GetGraphDepth() |
Returns the graph nesting depth of this node. | RigVMModel/RigVMNode.h |
|
virtual int32 GetIndexInCategoryForPin
(
const FString& InPinPath |
Returns the index of a pin within a category | RigVMModel/RigVMNode.h | |
URigVMInjectionInfo * GetInjectionInfo() |
Returns the injection info of this Node (or nullptr) | RigVMModel/RigVMNode.h |
|
double GetInstructionMicroSeconds
(
const FRigVMExtendedExecuteContext& Context, |
Returns the accumulated duration of all of instructions for this node. | RigVMModel/RigVMNode.h | |
double GetInstructionMicroSeconds
(
URigVM* InVM, |
RigVMModel/RigVMNode.h | ||
const TArray< int32 > & GetInstructionsForVM
(
URigVM* InVM, |
RigVMModel/RigVMNode.h | ||
const TArray< int32 > & GetInstructionsForVM
(
const FRigVMExtendedExecuteContext& Context, |
Returns the indices of associated instructions for this node. | RigVMModel/RigVMNode.h | |
virtual int32 GetInstructionVisitedCount
(
const FRigVMExtendedExecuteContext& Context, |
Returns the number of visited / run instructions for this node. | RigVMModel/RigVMNode.h | |
virtual int32 GetInstructionVisitedCount
(
URigVM* InVM, |
RigVMModel/RigVMNode.h | ||
const FString & GetLastAffectedPinCategory() |
RigVMModel/RigVMNode.h | ||
TArray< URigVMNode * > GetLinkedSourceNodes() |
Returns a list of Nodes connected as sources to this Node as the target. | RigVMModel/RigVMNode.h |
|
TArray< URigVMNode * > GetLinkedTargetNodes() |
Returns a list of Nodes connected as targets to this Node as the source. | RigVMModel/RigVMNode.h |
|
TArray< URigVMLink * > GetLinks() |
Returns all links to any pin on this node. | RigVMModel/RigVMNode.h |
|
| RigVMModel/RigVMNode.h |
|
||
virtual FLinearColor GetNodeColor() |
Returns the color of this node - used for UI. | RigVMModel/RigVMNode.h |
|
int32 GetNodeIndex() |
Returns the current index of the Node within the Graph. | RigVMModel/RigVMNode.h |
|
virtual FRigVMNodeLayout GetNodeLayout
(
bool bIncludeEmptyCategories |
Returns the pin UI layout for this node. | RigVMModel/RigVMNode.h |
|
FString GetNodePath
(
bool bRecursive |
Returns the a . | RigVMModel/RigVMNode.h |
|
virtual FString GetNodeTitle() |
Returns the title of this Node - used for UI. | RigVMModel/RigVMNode.h |
|
const FString & GetNodeTitleRaw() |
Returns currently node title set in the node, without any transformations Warning : The raw title might be ignored by some nodes overrides to GetNodeTitle | RigVMModel/RigVMNode.h | |
virtual URigVMPin * GetOppositeAggregatePin() |
RigVMModel/RigVMNode.h |
|
|
FString GetOriginalPinDefaultValue
(
const URigVMPin* InPin |
Returns the default value for a given pin. | RigVMModel/RigVMNode.h | |
| Returns all of the top-level orphaned Pins of this Node. | RigVMModel/RigVMNode.h |
|
|
TArray< FString > GetParentPinCategories
(
const FString InCategory, |
Returns all parent categories of a given. | RigVMModel/RigVMNode.h |
|
FString GetParentPinCategory
(
const FString InCategory, |
Returns the parent pin category of the given category (or an empty string in case there's no parent) | RigVMModel/RigVMNode.h |
|
virtual TArray< FString > GetPinCategories() |
Returns all user defined categories on this node. | RigVMModel/RigVMNode.h |
|
FString GetPinCategoryName
(
const FString InCategory |
Returns the name of pin category. | RigVMModel/RigVMNode.h |
|
ERigVMNodeDefaultValueOverrideState::Type GetPinDefaultValueOverrideState() |
Returns 0 if there's no override on this node, 1 if some pins have an override and 2 if all pins are overriden | RigVMModel/RigVMNode.h | |
| Returns all of the top-level Pins of this Node. | RigVMModel/RigVMNode.h |
|
|
| Returns all pins for a given category. | RigVMModel/RigVMNode.h |
|
|
FVector2D GetPosition() |
Returns the 2d position of this node - used for UI. | RigVMModel/RigVMNode.h |
|
FName GetPreviousFName() |
Returns the name of the node prior to the renaming. | RigVMModel/RigVMNode.h |
|
URigVMGraph * GetRootGraph() |
Returns the top level / root Graph of this Node. | RigVMModel/RigVMNode.h |
|
virtual URigVMPin * GetSecondAggregatePin() |
RigVMModel/RigVMNode.h |
|
|
FVector2D GetSize() |
Returns the 2d size of this node - used for UI. | RigVMModel/RigVMNode.h |
|
virtual uint32 GetStructureHash() |
RigVMModel/RigVMNode.h | ||
TArray< FString > GetSubPinCategories
(
const FString InCategory, |
Returns all sub user defined categories of a given parent category. | RigVMModel/RigVMNode.h |
|
virtual TArray< FRigVMUserWorkflow > GetSupportedWorkflows
(
ERigVMUserWorkflowType InType, |
Returns all supported workflows of the node | RigVMModel/RigVMNode.h |
|
virtual FText GetToolTipText() |
Returns the tooltip of this node. | RigVMModel/RigVMNode.h |
|
TSharedPtr< FStructOnScope > GetTraitInstance
(
const URigVMPin* InTraitPin, |
RigVMModel/RigVMNode.h | ||
TSharedPtr< FStructOnScope > GetTraitInstance
(
const FName& InName, |
RigVMModel/RigVMNode.h | ||
const TArray< FString > & GetTraitNames() |
RigVMModel/RigVMNode.h | ||
| RigVMModel/RigVMNode.h |
|
||
UScriptStruct * GetTraitScriptStruct
(
const FName& InName |
RigVMModel/RigVMNode.h | ||
UScriptStruct * GetTraitScriptStruct
(
const URigVMPin* InTraitPin |
RigVMModel/RigVMNode.h | ||
| RigVMModel/RigVMNode.h | |||
virtual FRigVMStructUpgradeInfo GetUpgradeInfo() |
RigVMModel/RigVMNode.h | ||
bool HasBreakpoint() |
RigVMModel/RigVMNode.h |
|
|
virtual bool HasInputPin
(
bool bIncludeIO |
Returns true if the node has any input pins. | RigVMModel/RigVMNode.h |
|
virtual bool HasIOPin() |
Returns true if the node has any io pins. | RigVMModel/RigVMNode.h |
|
virtual bool HasLazyPin
(
bool bOnlyConsiderPinsWithLinks |
Returns true if the node has any lazily evaluating pins. | RigVMModel/RigVMNode.h |
|
virtual bool HasNonNativePins() |
Allows the node to support non-native pins | RigVMModel/RigVMNode.h | |
bool HasOrphanedPins() |
Returns true if the node has orphaned pins - which leads to a compiler error. | RigVMModel/RigVMNode.h |
|
virtual bool HasOutputPin
(
bool bIncludeIO |
Returns true if the node has any output pins. | RigVMModel/RigVMNode.h |
|
virtual bool HasPinOfDirection
(
ERigVMPinDirection InDirection |
Returns true if the node has any pins of the provided direction. | RigVMModel/RigVMNode.h |
|
bool HasWildCardPin() |
Returns true if this node has an unknown type pin. | RigVMModel/RigVMNode.h | |
virtual bool IsAggregate() |
RigVMModel/RigVMNode.h |
|
|
virtual const bool IsControlFlowBlockSliced
(
const FName& InBlockName |
Returns true if a control flow block requires slicing | RigVMModel/RigVMNode.h | |
bool IsControlFlowNode() |
Return true if this node is a control flow node | RigVMModel/RigVMNode.h |
|
virtual bool IsDefinedAsConstant() |
Returns true if the node is defined as non-varying. | RigVMModel/RigVMNode.h |
|
virtual bool IsDefinedAsVarying() |
Returns true if the node is defined as non-varying. | RigVMModel/RigVMNode.h |
|
virtual bool IsEvent() |
Returns true if this Node is the beginning of a scope. | RigVMModel/RigVMNode.h |
|
bool IsInjected () |
Returns true if this is an injected node. | RigVMModel/RigVMNode.h |
|
virtual bool IsInputAggregate() |
RigVMModel/RigVMNode.h |
|
|
bool IsLinkedTo
(
URigVMNode* InNode |
Returns true if this Node is linked to another given node through any of the Nodes' Pins. | RigVMModel/RigVMNode.h |
|
bool IsLoopNode() |
Return true if this node is a loop node | RigVMModel/RigVMNode.h |
|
virtual bool IsMutable() |
Returns true if this Node has side effects or internal state. | RigVMModel/RigVMNode.h |
|
virtual bool IsOutDated() |
RigVMModel/RigVMNode.h | ||
bool IsPinCategoryExpanded
(
FString InCategory |
Returns all pins for a given category. | RigVMModel/RigVMNode.h |
|
virtual bool IsPure() |
Returns true if this Node has no side-effects and no internal state. | RigVMModel/RigVMNode.h |
|
bool IsSelected() |
Returns true if this Node is currently selected. | RigVMModel/RigVMNode.h |
|
bool IsTraitPin
(
const URigVMPin* InTraitPin |
RigVMModel/RigVMNode.h | ||
bool IsTraitPin
(
FName InName |
RigVMModel/RigVMNode.h |
|
|
bool IsVisibleInUI() |
Returns true if this should be visible in the UI. | RigVMModel/RigVMNode.h |
|
virtual bool IsWithinLoop() |
Returns true if the node is within a loop | RigVMModel/RigVMNode.h | |
void SetExecutionIsHaltedAtThisNode
(
const bool bValue |
RigVMModel/RigVMNode.h |
|
|
void SetHasBreakpoint
(
const bool bValue |
RigVMModel/RigVMNode.h |
|
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Serialize
(
FArchive& Ar |
RigVMModel/RigVMNode.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool AllowsLinksOn
(
const URigVMPin* InPin |
RigVMModel/RigVMNode.h | ||
virtual TArray< int32 > GetInstructionsForVMImpl
(
const FRigVMExtendedExecuteContext& Context, |
RigVMModel/RigVMNode.h | ||
virtual FString GetOriginalDefaultValueForRootPin
(
const URigVMPin* InRootPin |
RigVMModel/RigVMNode.h | ||
| RigVMModel/RigVMNode.h | |||
void IncrementVersion() |
RigVMModel/RigVMNode.h | ||
virtual void InvalidateCache() |
RigVMModel/RigVMNode.h | ||
virtual bool ShouldInputPinComputeLazily
(
const URigVMPin* InPin |
RigVMModel/RigVMNode.h | ||
void UpdateTraitRootPinNames() |
RigVMModel/RigVMNode.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Returns the display name within a property | RigVMModel/RigVMNode.h | ||
static FName GetDisplayNameForStructMember
(
const URigVMPin* InPin |
Returns the display name for a struct member | RigVMModel/RigVMNode.h | |
static FName GetDisplayNameForStructMember
(
const UStruct* InStruct, |
RigVMModel/RigVMNode.h | ||
static int32 GetPinCategoryDepth
(
const FString& InCategory |
Returns the depth of the category (starting with 0 for "Foo" and 2 for "Foo|Bar|Waldo") | RigVMModel/RigVMNode.h | |
static FString JoinNodePath
(
const TArray< FString >& InParts |
Joins a NodePath from to segments, so for example ["CollapseNodeA", "CollapseNodeB", "CollapseNodeC"] becomes "CollapseNodeA|CollapseNodeB|CollapseNodeC". | RigVMModel/RigVMNode.h | |
static FString JoinNodePath
(
const FString& Left, |
Joins a NodePath from to segments, so for example "CollapseNodeA" and "CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA|CollapseNodeB|CollapseNodeC". | RigVMModel/RigVMNode.h | |
static bool SplitNodePath
(
const FString& InNodePath, |
Splits a NodePath into all segments, so for example "Node.Color.R" becomes ["Node", "Color", "R"]. | RigVMModel/RigVMNode.h | |
static bool SplitNodePathAtEnd
(
const FString& InNodePath, |
Splits a NodePath at the end, so for example "CollapseNodeA|CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA|CollapseNodeB" and "CollapseNodeC". | RigVMModel/RigVMNode.h | |
static bool SplitNodePathAtStart
(
const FString& InNodePath, |
Splits a NodePath at the start, so for example "CollapseNodeA|CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA" and "CollapseNodeB|CollapseNodeC". | RigVMModel/RigVMNode.h |