Navigation
API > API/Plugins > API/Plugins/RigVMDeveloper > API/Plugins/RigVMDeveloper/RigVMModel
Inheritance Hierarchy
- UObject
- URigVMNode
- UDEPRECATED_RigVMBranchNode
- URigVMCommentNode
- URigVMEnumNode
- URigVMInvokeEntryNode
- URigVMParameterNode
- URigVMRerouteNode
- URigVMTemplateNode
- UDEPRECATED_RigVMArrayNode
- UDEPRECATED_RigVMIfNode
- UDEPRECATED_RigVMSelectNode
- URigVMDispatchNode
- URigVMFunctionInterfaceNode
- URigVMFunctionEntryNode
- URigVMFunctionReturnNode
- URigVMLibraryNode
- URigVMCollapseNode
- URigVMAggregateNode
- URigVMFunctionReferenceNode
- URigVMUnitNode
- URigVMVariableNode
References
| Module | RigVMDeveloper |
| Header | /Engine/Plugins/Runtime/RigVM/Source/RigVMDeveloper/Public/RigVMModel/RigVMNode.h |
| Include | #include "RigVMModel/RigVMNode.h" |
Syntax
UCLASS (BlueprintType)
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
| Type | Name | Description | |
|---|---|---|---|
| bool | bHaltedAtThisNode | ||
| bool | bHasBreakpoint | ||
| FString | LastAffectedPinCategory | ||
| FLinearColor | NodeColor | ||
| FString | NodeTitle | ||
| TArray< FString > | PinCategories | ||
| TMap< FString, bool > | PinCategoryExpansion | ||
| FVector2D | Position | ||
| FName | PreviousName | ||
| FVector2D | Size | ||
| TMap< FString, FRigVMTraitDefaultValueStruct > | TraitDefaultValues | Root trait pin store their default value in a separate property bag so that things like soft object ptr can be used and tracked in a uproperty | |
| TArray< FString > | TraitRootPinNames |
Constructors
| Type | Name | Description | |
|---|---|---|---|
URigVMNode () |
Default constructor. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
~URigVMNode () |
Default destructor. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AllowsLinksOn
(
const URigVMPin* InPin |
||
| bool | Returns true if the node can be upgraded | ||
| bool | Returns true if this node can only exist once in a graph. | ||
| bool | |||
| bool | |||
| URigVMLibraryNode * | |||
| URigVMPin * | Returns a Pin given it's partial pin path below this node (for example: "Color.R") | ||
| URigVMPin * | FindRootPinByName
(
const FName& InPinName |
Returns a root pin given its name. | |
| URigVMPin * | |||
| URigVMPin * | |||
| TArray< URigVMPin * > | |||
| TArray< URigVMPin * > | |||
| TArray< URigVMPin * > | Returns all of the Pins of this Node (including SubPins). | ||
| FString | GetCategoryForPin
(
const FString& InPinPath |
Returns the category for a pin | |
| const TArray< FName > & | Returns the names of the control flow blocks of this node | ||
| FString | |||
| FName | GetDisplayNameForPin
(
const FString& InPinPath |
Returns the display name for a pin | |
| FName | GetDisplayNameForProperty
(
const FProperty* InProperty, |
Returns the display name within a property | |
| FName | GetDisplayNameForStructMember
(
const UStruct* InStruct, |
Returns the display name for a struct member | |
| FName | GetEventName () |
Returns the name of the event. | |
| URigVMPin * | |||
| URigVMGraph * | GetGraph () |
Returns the Graph of this Node. | |
| int32 | Returns the graph nesting depth of this node. | ||
| int32 | GetIndexInCategoryForPin
(
const FString& InPinPath |
Returns the index of a pin within a category | |
| URigVMInjectionInfo * | Returns the injection info of this Node (or nullptr) | ||
| double | GetInstructionMicroSeconds
(
URigVM* InVM, |
||
| double | GetInstructionMicroSeconds
(
const FRigVMExtendedExecuteContext& Context, |
Returns the accumulated duration of all of instructions for this node. | |
| const TArray< int32 > & | GetInstructionsForVM
(
const FRigVMExtendedExecuteContext& Context, |
Returns the indices of associated instructions for this node. | |
| const TArray< int32 > & | GetInstructionsForVM
(
URigVM* InVM, |
||
| TArray< int32 > | GetInstructionsForVMImpl
(
const FRigVMExtendedExecuteContext& Context, |
||
| int32 | GetInstructionVisitedCount
(
URigVM* InVM, |
||
| int32 | GetInstructionVisitedCount
(
const FRigVMExtendedExecuteContext& Context, |
Returns the number of visited / run instructions for this node. | |
| const FString & | |||
| TArray< URigVMNode * > | Returns a list of Nodes connected as sources to this Node as the target. | ||
| TArray< URigVMNode * > | Returns a list of Nodes connected as targets to this Node as the source. | ||
| TArray< URigVMLink * > | GetLinks () |
Returns all links to any pin on this node. | |
| FName | GetNextAggregateName
(
const FName& InLastAggregatePinName |
||
| FLinearColor | GetNodeColor () |
Returns the color of this node - used for UI. | |
| int32 | GetNodeIndex () |
Returns the current index of the Node within the Graph. | |
| FRigVMNodeLayout | GetNodeLayout
(
bool bIncludeEmptyCategories |
Returns the pin UI layout for this node. | |
| FString | GetNodePath
(
bool bRecursive |
Returns the a . | |
| FString | GetNodeTitle () |
Returns the title of this Node - used for UI. | |
| URigVMPin * | |||
| FString | GetOriginalDefaultValueForRootPin
(
const URigVMPin* InRootPin |
||
| FString | GetOriginalPinDefaultValue
(
const URigVMPin* InPin |
Returns the default value for a given pin. | |
| const TArray< URigVMPin * > & | Returns all of the top-level orphaned Pins of this Node. | ||
| TArray< FString > | GetParentPinCategories
(
const FString InCategory, |
Returns all parent categories of a given. | |
| FString | GetParentPinCategory
(
const FString InCategory, |
Returns the parent pin category of the given category (or an empty string in case there's no parent) | |
| TArray< FString > | Returns all user defined categories on this node. | ||
| int32 | GetPinCategoryDepth
(
const FString& InCategory |
Returns the depth of the category (starting with 0 for "Foo" and 2 for "Foo|Bar|Waldo") | |
| FString | GetPinCategoryName
(
const FString InCategory |
Returns the name of pin category. | |
| const TArray< URigVMPin * > & | GetPins () |
Returns all of the top-level Pins of this Node. | |
| TArray< URigVMPin * > | GetPinsForCategory
(
FString InCategory |
Returns all pins for a given category. | |
| FVector2D | GetPosition () |
Returns the 2d position of this node - used for UI. | |
| FName | Returns the name of the node prior to the renaming. | ||
| URigVMGraph * | GetRootGraph () |
Returns the top level / root Graph of this Node. | |
| URigVMPin * | |||
| FVector2D | GetSize () |
Returns the 2d size of this node - used for UI. | |
| uint32 | |||
| TArray< FString > | GetSubPinCategories
(
const FString InCategory, |
Returns all sub user defined categories of a given parent category. | |
| TArray< FRigVMUserWorkflow > | GetSupportedWorkflows
(
ERigVMUserWorkflowType InType, |
Returns all supported workflows of the node | |
| FText | Returns the tooltip of this node. | ||
| FText | GetToolTipTextForPin
(
const URigVMPin* InPin |
||
| TSharedPtr< FStructOnScope > | GetTraitInstance
(
const FName& InName, |
||
| TSharedPtr< FStructOnScope > | GetTraitInstance
(
const URigVMPin* InTraitPin, |
||
| const TArray< FString > & | |||
| TArray< URigVMPin * > | GetTraitPins () |
||
| UScriptStruct * | GetTraitScriptStruct
(
const FName& InName |
||
| UScriptStruct * | GetTraitScriptStruct
(
const URigVMPin* InTraitPin |
||
| FRigVMStructUpgradeInfo | |||
| bool | |||
| bool | HasInputPin
(
bool bIncludeIO |
Returns true if the node has any input pins. | |
| bool | HasIOPin () |
Returns true if the node has any io pins. | |
| bool | HasLazyPin
(
bool bOnlyConsiderPinsWithLinks |
Returns true if the node has any lazily evaluating pins. | |
| bool | Allows the node to support non-native pins | ||
| bool | Returns true if the node has orphaned pins - which leads to a compiler error. | ||
| bool | HasOutputPin
(
bool bIncludeIO |
Returns true if the node has any output pins. | |
| bool | HasPinOfDirection
(
ERigVMPinDirection InDirection |
Returns true if the node has any pins of the provided direction. | |
| bool | Returns true if this node has an unknown type pin. | ||
| void | |||
| bool | IsAggregate () |
||
| const bool | IsControlFlowBlockSliced
(
const FName& InBlockName |
Returns true if a control flow block requires slicing | |
| bool | Return true if this node is a control flow node | ||
| bool | Returns true if the node is defined as non-varying. | ||
| bool | Returns true if the node is defined as non-varying. | ||
| bool | IsEvent () |
Returns true if this Node is the beginning of a scope. | |
| bool | IsInjected () |
Returns true if this is an injected node. | |
| bool | |||
| bool | IsLinkedTo
(
URigVMNode* InNode |
Returns true if this Node is linked to another given node through any of the Nodes' Pins. | |
| bool | IsLoopNode () |
Return true if this node is a loop node | |
| bool | IsMutable () |
Returns true if this Node has side effects or internal state. | |
| bool | IsOutDated () |
||
| bool | IsPinCategoryExpanded
(
FString InCategory |
Returns all pins for a given category. | |
| bool | IsPure () |
Returns true if this Node has no side-effects and no internal state. | |
| bool | IsSelected () |
Returns true if this Node is currently selected. | |
| bool | IsTraitPin
(
const URigVMPin* InTraitPin |
||
| bool | IsTraitPin
(
FName InName |
||
| bool | Returns true if this should be visible in the UI. | ||
| bool | IsWithinLoop () |
Returns true if the node is within a loop | |
| FString | JoinNodePath
(
const TArray< FString >& InParts |
Joins a NodePath from to segments, so for example ["CollapseNodeA", "CollapseNodeB", "CollapseNodeC"] becomes "CollapseNodeA|CollapseNodeB|CollapseNodeC". | |
| FString | JoinNodePath
(
const FString& Left, |
Joins a NodePath from to segments, so for example "CollapseNodeA" and "CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA|CollapseNodeB|CollapseNodeC". | |
| void | Serialize
(
FArchive& Ar |
||
| void | SetExecutionIsHaltedAtThisNode
(
const bool bValue |
||
| void | SetHasBreakpoint
(
const bool bValue |
||
| bool | ShouldInputPinComputeLazily
(
const URigVMPin* InPin |
||
| bool | SplitNodePath
(
const FString& InNodePath, |
Splits a NodePath into all segments, so for example "Node.Color.R" becomes ["Node", "Color", "R"]. | |
| bool | SplitNodePathAtEnd
(
const FString& InNodePath, |
Splits a NodePath at the end, so for example "CollapseNodeA|CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA|CollapseNodeB" and "CollapseNodeC". | |
| bool | SplitNodePathAtStart
(
const FString& InNodePath, |
Splits a NodePath at the start, so for example "CollapseNodeA|CollapseNodeB|CollapseNodeC" becomes "CollapseNodeA" and "CollapseNodeB|CollapseNodeC". | |
| void |
Constants
| Name | Description |
|---|---|
| EmptyInstructionArray | |
| NodeColorName |