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 (MinimalAPI, 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 |
|---|---|---|---|
bool ExecutionIsHaltedAtThisNode() |
RigVMModel/RigVMNode.h |
|
|
URigVMPin * FindExecutePin() |
Returns the first execute pin. | RigVMModel/RigVMNode.h |
|
| 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 | |||
| Returns all of the Pins of this Node (including SubPins). | RigVMModel/RigVMNode.h |
|
|
const uint32 & GetCachedValueVersion() |
RigVMModel/RigVMNode.h | ||
FName GetDisplayNameForPin
(
const FString& InPinPath |
Returns the display name for a pin | 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 |
|
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 | |
const TArray< int32 > & GetInstructionsForVM
(
const FRigVMExtendedExecuteContext& Context, |
Returns the indices of associated instructions for this node. | 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 |
|
int32 GetNodeIndex() |
Returns the current index of the Node within the Graph. | RigVMModel/RigVMNode.h |
|
FString GetNodePath
(
bool bRecursive |
Returns the a . | 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 | |
| Returns the default value for a given pin. | RigVMModel/RigVMNode.h | ||
| Returns all parent categories of a given. | RigVMModel/RigVMNode.h |
|
|
| Returns the parent pin category of the given category (or an empty string in case there's no parent) | RigVMModel/RigVMNode.h |
|
|
| 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 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 |
|
FVector2D GetSize() |
Returns the 2d size of this node - used for UI. | RigVMModel/RigVMNode.h |
|
| Returns all sub user defined categories of a given parent category. | RigVMModel/RigVMNode.h |
|
|
TSharedPtr< FStructOnScope > GetTraitInstance
(
const FName& InName, |
RigVMModel/RigVMNode.h | ||
TSharedPtr< FStructOnScope > GetTraitInstance
(
const URigVMPin* InTraitPin, |
RigVMModel/RigVMNode.h | ||
| RigVMModel/RigVMNode.h | |||
| RigVMModel/RigVMNode.h |
|
||
UScriptStruct * GetTraitScriptStruct
(
const FName& InName |
RigVMModel/RigVMNode.h | ||
UScriptStruct * GetTraitScriptStruct
(
const URigVMPin* InTraitPin |
RigVMModel/RigVMNode.h | ||
bool HasBreakpoint() |
RigVMModel/RigVMNode.h |
|
|
bool HasEarlyExitMarker() |
RigVMModel/RigVMNode.h |
|
|
bool HasOrphanedPins() |
Returns true if the node has orphaned pins - which leads to a compiler error. | RigVMModel/RigVMNode.h |
|
bool HasWildCardPin() |
Returns true if this node has an unknown type pin. | RigVMModel/RigVMNode.h | |
bool IsControlFlowNode() |
Return true if this node is a control flow node | RigVMModel/RigVMNode.h |
|
bool IsExcludedByEarlyExit() |
RigVMModel/RigVMNode.h |
|
|
bool IsHighlighted() |
Returns true if this Node should be highlighted. | RigVMModel/RigVMNode.h |
|
bool IsInjected () |
Returns true if this is an injected node. | 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 |
|
bool IsPinCategoryExpanded
(
FString InCategory |
Returns all pins for a given category. | 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 |
|
void SetExecutionIsHaltedAtThisNode
(
const bool bValue |
RigVMModel/RigVMNode.h |
|
|
void SetHasBreakpoint
(
const bool bValue |
RigVMModel/RigVMNode.h |
|
|
void SetHasEarlyExitMarker
(
const bool bValue |
RigVMModel/RigVMNode.h |
|
|
void SetIsExcludedByEarlyExit
(
bool bIsExcluded |
RigVMModel/RigVMNode.h |
|
Public Virtual
| 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 | ||
virtual URigVMLibraryNode * FindFunctionForNode() |
RigVMModel/RigVMNode.h |
|
|
| RigVMModel/RigVMNode.h |
|
||
| RigVMModel/RigVMNode.h |
|
||
| 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 | ||
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 |
|
|
virtual int32 GetIndexInCategoryForPin
(
const FString& InPinPath |
Returns the index of a pin within a category | RigVMModel/RigVMNode.h | |
virtual int32 GetInstructionVisitedCount
(
const FRigVMExtendedExecuteContext& Context, |
Returns the number of visited / run instructions for this node. | RigVMModel/RigVMNode.h | |
| RigVMModel/RigVMNode.h |
|
||
virtual FLinearColor GetNodeColor() |
Returns the color of this node - used for UI. | RigVMModel/RigVMNode.h |
|
virtual FSlateIcon GetNodeIcon() |
Returns the icon of this node - used for UI. | RigVMModel/RigVMNode.h | |
virtual FRigVMNodeLayout GetNodeLayout
(
bool bIncludeEmptyCategories |
Returns the pin UI layout for this node. | RigVMModel/RigVMNode.h |
|
virtual FString GetNodeSubTitle() |
Get the subtitle of the node. | RigVMModel/RigVMNode.h |
|
virtual FString GetNodeTitle() |
Returns the title of this Node - used for UI. | RigVMModel/RigVMNode.h |
|
virtual URigVMPin * GetOppositeAggregatePin() |
RigVMModel/RigVMNode.h |
|
|
| Returns all of the top-level orphaned Pins of this Node. | RigVMModel/RigVMNode.h |
|
|
| Returns all user defined categories on this node. | RigVMModel/RigVMNode.h |
|
|
| Returns all of the top-level Pins of this Node. | RigVMModel/RigVMNode.h |
|
|
virtual URigVMPin * GetSecondAggregatePin() |
RigVMModel/RigVMNode.h |
|
|
virtual uint32 GetStructureHash() |
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 |
|
| RigVMModel/RigVMNode.h | |||
virtual FRigVMStructUpgradeInfo GetUpgradeInfo() |
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 | |
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 |
|
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 | |
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 varying. | RigVMModel/RigVMNode.h |
|
virtual bool IsEvent() |
Returns true if this Node is the beginning of a scope. | RigVMModel/RigVMNode.h |
|
virtual bool IsInputAggregate() |
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 | ||
virtual bool IsPure() |
Returns true if this Node has no side-effects and no internal state. | RigVMModel/RigVMNode.h |
|
virtual bool IsWithinLoop() |
Returns true if the node is within a loop | RigVMModel/RigVMNode.h | |
virtual bool SupportsRenaming() |
Returns true if this node can be renamed by the user. | 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 |
|---|---|---|---|
void IncrementVersion() |
RigVMModel/RigVMNode.h | ||
void UpdateTraitRootPinNames() |
RigVMModel/RigVMNode.h |
Protected Virtual
| 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 | ||
| RigVMModel/RigVMNode.h | |||
| RigVMModel/RigVMNode.h | |||
virtual void InvalidateCache() |
RigVMModel/RigVMNode.h | ||
virtual bool IsPinConstant
(
const URigVMPin* InPin |
RigVMModel/RigVMNode.h | ||
virtual bool ShouldInputPinComputeLazily
(
const URigVMPin* InPin |
RigVMModel/RigVMNode.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Returns the display name within a property | RigVMModel/RigVMNode.h | ||
static FName GetDisplayNameForStructMember
(
const UStruct* InStruct, |
RigVMModel/RigVMNode.h | ||
static FName GetDisplayNameForStructMember
(
const URigVMPin* InPin |
Returns the display name for a struct member | 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 FString& Left, |
Joins a NodePath from to segments, so for example "CollapseNodeA" and "CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA|CollapseNodeB|CollapseNodeC". | 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 | |
| Splits a NodePath into all segments, so for example "Node.Color.R" becomes ["Node", "Color", "R"]. | RigVMModel/RigVMNode.h | ||
| Splits a NodePath at the end, so for example "CollapseNodeA|CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA|CollapseNodeB" and "CollapseNodeC". | RigVMModel/RigVMNode.h | ||
| Splits a NodePath at the start, so for example "CollapseNodeA|CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA" and "CollapseNodeB|CollapseNodeC". | RigVMModel/RigVMNode.h |