URigVMController

The Controller is the sole authority to perform changes on the Graph.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

RigVMDeveloper

Header

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

Include

#include "RigVMModel/RigVMController.h"

Syntax

class URigVMController : public UObject

Remarks

The Controller is the sole authority to perform changes on the Graph. The Controller itself is stateless. The Controller offers a Modified event to subscribe to for user interface views - so they can be informed about any change that's happening within the Graph. The Controller routes all changes through the Graph itself, so you can have N Controllers performing edits on 1 Graph, and N Views subscribing to 1 Controller. In Python you can also subscribe to this event to be able to react to topological changes of the Graph there.

Variables

Name Description

Public variable

bool

 

bValidatePinDefaults

A flag that can be used to turn off pin default value validation if necessary.

Public variable

FRigVMControlle...

 

GetCurrentByteCodeDelegate

A delegate to retrieve the current bytecode of the graph.

Public variable

FRigVMControlle...

 

GetExternalVariablesDelegate

A delegate to retrieve the list of external variables.

Public variable

FRigVMControlle...

 

IsDependencyCyclicDelegate

A delegate to validate if we are allowed to introduce a dependency between two objects.

Public variable

FRigVMControlle...

 

IsFunctionAvailableDelegate

A delegate to determine if a function is public.

Public variable

FRigVMControlle...

 

OnBulkEditProgressDelegate

A delegate to inform the host / client about the progress during a bulk edit.

Public variable

FRigVMControlle...

 

RequestBulkEditDialogDelegate

A delegate to ask the host / client for a dialog to confirm a bulk edit.

Public variable

FRigVMControlle...

 

RequestLocalizeFunctionDelegate

A delegate to localize a function on demand.

Public variable

FRigVMControlle...

 

RequestNewExternalVariableDelegate

A delegate to create a new blueprint member variable.

Public variable

FRigVMControlle...

 

UnfoldStructDelegate

A delegate that can be set to change the struct unfolding behaviour.

Constructors

Name Description

Public function

URigVMController()

Default constructor.

Public function

URigVMController

(
    const FObjectInitializer& ObjectIn...
)

Destructors

Name Description

Public function

~URigVMController()

Default destructor.

Functions

Name Description

Public function

URigVMArrayN...

 

AddArrayNode

(
    ERigVMOpCode InOpCode,
    const FString& InCPPType,
    UObject* InCPPTypeObject,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Array Node to the edited Graph. This causes a NodeAdded modified event.

Public function

URigVMArrayN...

 

AddArrayNodeFromObjectPath

(
    ERigVMOpCode InOpCode,
    const FString& InCPPType,
    const FString& InCPPTypeObjectPath,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Array Node to the edited Graph given a struct object path name.

Public function

FString

 

AddArrayPin

(
    const FString& InArrayPinPath,
    const FString& InDefaultValue,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds an array element pin to the end of an array pin.

Public function

URigVMBranch...

 

AddBranchNode

(
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a branch node to the graph.

Public function

URigVMCommen...

 

AddCommentNode

(
    const FString& InCommentText,
    const FVector2D& InPosition,
    const FVector2D& InSize,
    const FLinearColor& InColor,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Comment Node to the edited Graph.

Public function

URigVMEnumNo...

 

AddEnumNode

(
    const FName& InCPPTypeObjectPath,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds an enum node to the graph Enum nodes can be used to represent constant enum values within the graph

Public function

FName

 

AddExposedPin

(
    const FName& InPinName,
    ERigVMPinDirection InDirection,
    const FString& InCPPType,
    const FName& InCPPTypeObjectPath,
    const FString& InDefaultValue,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds an exposed pin to the graph controlled by this.

Public function

URigVMRerout...

 

AddFreeRerouteNode

(
    bool bShowAsFullNode,
    const FString& InCPPType,
    const FName& InCPPTypeObjectPath,
    bool bIsConstant,
    const FName& InCustomWidgetName,
    const FString& InDefaultValue,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo
)

Adds a free Reroute Node.

Public function

URigVMFuncti...

 

AddFunctionReferenceNode

(
    URigVMLibraryNode* InFunctionD...,
    const FVector2D& InNodePosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a function reference / invocation to the graph.

Public function

URigVMLibrar...

 

AddFunctionToLibrary

(
    const FName& InFunctionName,
    bool bMutable,
    const FVector2D& InNodePosition,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a function definition to a function library graph.

Public function

URigVMIfNode...

 

AddIfNode

(
    const FString& InCPPType,
    const FName& InCPPTypeObjectPath,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds an if node to the graph. If nodes can be used to pick between two values based on a condition.

Public function

URigVMIfNode...

 

AddIfNodeFromStruct

(
    UScriptStruct* InScriptStruct,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo
)

Public function

URigVMInject...

 

AddInjectedNode

(
    const FString& InPinPath,
    bool bAsInput,
    UScriptStruct* InScriptStruct,
    const FName& InMethodName,
    const FName& InInputPinName,
    const FName& InOutputPinName,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Function / Struct Node to the edited Graph as an injected node UnitNode represent a RIGVM_METHOD declaration on a USTRUCT.

Public function

URigVMInject...

 

AddInjectedNodeFromStructPath

(
    const FString& InPinPath,
    bool bAsInput,
    const FString& InScriptStructPath,
    const FName& InMethodName,
    const FName& InInputPinName,
    const FName& InOutputPinName,
    const FString& InNodeName,
    bool bSetupUndoRedo
)

Adds a Function / Struct Node to the edited Graph as an injected node UnitNode represent a RIGVM_METHOD declaration on a USTRUCT.

Public function

bool

 

AddLink

(
    const FString& InOutputPinPath,
    const FString& InInputPinPath,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a link to the graph. This causes a LinkAdded modified event.

Public function

bool

 

AddLink

(
    URigVMPin* OutputPin,
    URigVMPin* InputPin,
    bool bSetupUndoRedo
)

Public function

FRigVMGraphV...

 

AddLocalVariable

(
    const FName& InVariableName,
    const FString& InCPPType,
    UObject* InCPPTypeObject,
    const FString& InDefaultValue,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Add a local variable to the graph.

Public function

FRigVMGraphV...

 

AddLocalVariableFromObjectPath

(
    const FName& InVariableName,
    const FString& InCPPType,
    const FString& InCPPTypeObjectPath,
    const FString& InDefaultValue,
    bool bSetupUndoRedo
)

Add a local variable to the graph given a struct object path name.

Public function

URigVMParame...

 

AddParameterNode

(
    const FName& InParameterName,
    const FString& InCPPType,
    UObject* InCPPTypeObject,
    bool bIsInput,
    const FString& InDefaultValue,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Parameter Node to the edited Graph.

Public function

URigVMParame...

 

AddParameterNodeFromObjectPath

(
    const FName& InParameterName,
    const FString& InCPPType,
    const FString& InCPPTypeObjectPath,
    bool bIsInput,
    const FString& InDefaultValue,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Parameter Node to the edited Graph given a struct object path name.

Public function

void

 

AddPinRedirector

(
    bool bInput,
    bool bOutput,
    const FString& OldPinPath,
    const FString& NewPinPath
)

Public function

URigVMProtot...

 

AddPrototypeNode

(
    const FName& InNotation,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a prototype node to the graph.

Public function

URigVMRerout...

 

AddRerouteNodeOnLink

(
    URigVMLink* InLink,
    bool bShowAsFullNode,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Reroute Node on an existing Link to the edited Graph.

Public function

URigVMRerout...

 

AddRerouteNodeOnLinkPath

(
    const FString& InLinkPinPathRepres...,
    bool bShowAsFullNode,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Reroute Node on an existing Link to the edited Graph given the Link's string representation.

Public function

URigVMRerout...

 

AddRerouteNodeOnPin

(
    const FString& InPinPath,
    bool bAsInput,
    bool bShowAsFullNode,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Reroute Node on an existing Pin to the editor Graph.

Public function

URigVMSelect...

 

AddSelectNode

(
    const FString& InCPPType,
    const FName& InCPPTypeObjectPath,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a select node to the graph.

Public function

URigVMSelect...

 

AddSelectNodeFromStruct

(
    UScriptStruct* InScriptStruct,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo
)

Public function

URigVMUnitNo...

 

AddUnitNode

(
    UScriptStruct* InScriptStruct,
    const FName& InMethodName,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

To move this code into the runtime in the future.

Public function

URigVMUnitNo...

 

AddUnitNodeFromStructPath

(
    const FString& InScriptStructPath,
    const FName& InMethodName,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Function / Struct Node to the edited Graph given its struct object path name.

Public function

URigVMVariab...

 

AddVariableNode

(
    const FName& InVariableName,
    const FString& InCPPType,
    UObject* InCPPTypeObject,
    bool bIsGetter,
    const FString& InDefaultValue,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Variable Node to the edited Graph.

Public function

URigVMVariab...

 

AddVariableNodeFromObjectPath

(
    const FName& InVariableName,
    const FString& InCPPType,
    const FString& InCPPTypeObjectPath,
    bool bIsGetter,
    const FString& InDefaultValue,
    const FVector2D& InPosition,
    const FString& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Adds a Variable Node to the edited Graph given a struct object path name.

Public function

bool

 

BindPinToVariable

(
    const FString& InPinPath,
    const FString& InNewBoundVariableP...,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Binds a pin to a variable (or removes the binding given NAME_None) This causes a PinBoundVariableChanged modified event.

Public function

bool

 

BreakAllLinks

(
    URigVMPin* Pin,
    bool bAsInput,
    bool bSetupUndoRedo
)

Public function

bool

 

BreakAllLinks

(
    const FString& InPinPath,
    bool bAsInput,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Removes all links on a given pin from the graph.

Public function

bool

 

BreakLink

(
    const FString& InOutputPinPath,
    const FString& InInputPinPath,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Removes a link from the graph. This causes a LinkRemoved modified event.

Public function

bool

 

BreakLink

(
    URigVMPin* OutputPin,
    URigVMPin* InputPin,
    bool bSetupUndoRedo
)

Public function

bool

 

CancelUndoBracket()

Cancels an undo bracket / scoped transaction.

Public function

bool

 

CanImportNodesFromText

(
    const FString& InText
)

Exports the given nodes as text.

Public function

bool

 

ChangeExposedPinType

(
    const FName& InPinName,
    const FString& InCPPType,
    const FName& InCPPTypeObjectPath,
    bool& bSetupUndoRedo,
    bool bSetupOrphanPins,
    bool bPrintPythonCommand
)

Changes the type of an exposed pin in the graph controlled by this.

Public function

bool

 

ClearArrayPin

(
    const FString& InArrayPinPath,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Removes all (but one) array element pin from an array pin.

Public function

bool

 

ClearNodeSelection

(
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Deselects all currently selected nodes in the graph.

Public function

bool

 

CloseUndoBracket()

Closes an undo bracket / scoped transaction.

Public function

URigVMCollap...

 

CollapseNodes

(
    const TArray< FName >& InNodeNames,
    const FString& InCollapseNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Turns a series of nodes into a Collapse node.

Public function

int32

 

DetachLinksFromPinObjects

(
    const TArray< URigVMLink* >&#...,
    bool bNotify
)

Public function

FString

 

DuplicateArrayPin

(
    const FString& InArrayElementPinPa...,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Duplicates an array element pin. This causes a PinArraySizeChanged modified event.

Public function

URigVMNode &...

 

EjectNodeFromPin

(
    const FString& InPinPath,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Ejects the last injected node on a pin.

Public function

void

 

EnableReporting

(
    bool bEnabled
)

Enables or disables the error reporting of this Controller.

Public function

TArray< URig...

 

ExpandLibraryNode

(
    const FName& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Turns a library node into its contained nodes.

Public function

FString

 

ExportNodesToText

(
    const TArray< FName >& InNodeNames
)

Exports the given nodes as text.

Public function

FString

 

ExportSelectedNodesToText()

Exports the selected nodes as text.

Public function

TArray< FStr...

 

GeneratePythonCommands()

Public function Const

TArray< FStr...

 

GetAddNodePythonCommands

(
    URigVMNode* Node
)

Public function

TArray< FAss...

 

GetAffectedAssets

(
    ERigVMControllerBulkEditType InEdit...,
    bool bForceLoad,
    bool bNotify
)

Determine affected assets for a potential bulk edit on a library node.

Public function

TArray< TSof...

 

GetAffectedReferences

(
    ERigVMControllerBulkEditType InEdit...,
    bool bForceLoad,
    bool bNotify
)

Determine affected function references for a potential bulk edit on a library node.

Public function Const

const FRigVM...

 

GetCurrentByteCode()

Public function Const

URigVMGraph ...

 

GetGraph()

Returns the currently edited Graph of this controller.

Public function Static

int32

 

GetMaxNameLength()

Public function

FString

 

GetPinDefaultValue

(
    const FString& InPinPath
)

Returns the default value of a pin given its pinpath.

Public function Static

FString

 

GetSanitizedGraphName

(
    const FString& InName
)

Public function Static

FString

 

GetSanitizedName

(
    const FString& InName,
    bool bAllowPeriod,
    bool bAllowSpace
)

Public function Static

FString

 

GetSanitizedNodeName

(
    const FString& InName
)

Public function Static

FString

 

GetSanitizedPinName

(
    const FString& InName
)

Public function Static

FString

 

GetSanitizedPinPath

(
    const FString& InName
)

Public function Static

FString

 

GetSanitizedVariableName

(
    const FString& InName
)

Public function Const

URigVMGraph ...

 

GetTopLevelGraph()

Returns the top level graph.

Public function Static

FName

 

GetUniqueName

(
    const FName& InName,
    TFunction< bool&)> IsN...,
    bool bAllowPeriod,
    bool bAllowSpace
)

Returns a unique name.

Public function

FRigVMUnitNo...

 

GetUnitNodeCreatedContext()

Public function

TArray< FNam...

 

ImportNodesFromText

(
    const FString& InText,
    bool bSetupUndoRedo,
    bool bPrintPythonCommands
)

Exports the given nodes as text.

Public function

FString

 

InsertArrayPin

(
    const FString& InArrayPinPath,
    int32 InIndex,
    const FString& InDefaultValue,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Inserts an array element pin into an array pin. This causes a PinArraySizeChanged modified event.

Public function Const

bool

 

IsReportingEnabled()

Returns true if reporting is enabled.

Public function

URigVMLibrar...

 

LocalizeFunction

(
    URigVMLibraryNode* InFunctionD...,
    bool bLocalizeDependentPrivateFunct...,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Copies a function declaration into this graph's local function library.

Public function

TMap< URigVM...

 

LocalizeFunctions

(
    TArray< URigVMLibraryNode* > I...,
    bool bLocalizeDependentPrivateFunct...,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Copies a series of function declaratioms into this graph's local function library.

Public function

bool

 

MakeBindingsFromVariableNode

(
    const FName& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Turns a variable node into one or more bindings.

Public function

bool

 

MakeVariableNodeFromBinding

(
    const FString& InPinPath,
    const FVector2D& InNodePosition,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Turns a binding to a variable node.

Public function Const

void

 

Notify

(
    ERigVMGraphNotifType InNotifType,
    UObject* InSubject
)

Submits an event to the graph for broadcasting.

Public function

void

 

OnExternalVariableRemoved

(
    const FName& InVarName,
    bool bSetupUndoRedo
)

Removes all nodes related to a given variable.

Public function

void

 

OnExternalVariableRenamed

(
    const FName& InOldVarName,
    const FName& InNewVarName,
    bool bSetupUndoRedo
)

Renames the variable name in all relevant nodes.

Public function

void

 

OnExternalVariableTypeChanged

(
    const FName& InVarName,
    const FString& InCPPType,
    UObject* InCPPTypeObject,
    bool bSetupUndoRedo
)

Changes the data type of all nodes matching a given variable name.

Public function

void

 

OnExternalVariableTypeChangedFromObjectPath

(
    const FName& InVarName,
    const FString& InCPPType,
    const FString& InCPPTypeObjectPath,
    bool bSetupUndoRedo
)

Changes the data type of all nodes matching a given variable name.

Public function

FRigVMGraphM...

 

OnModified()

The Modified event used to subscribe to changes happening within the Graph.

Public function

bool

 

OpenUndoBracket

(
    const FString& InTitle
)

Opens an undo bracket / scoped transaction for a series of actions to be performed as one step on the Undo stack.

Public function

URigVMGraph ...

 

PopGraph

(
    bool bSetupUndoRedo
)

Pops the last graph off the stack This causes a GraphChanged modified event.

Public function

FName

 

PromoteCollapseNodeToFunctionReferenceNode

(
    const FName& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand,
    const FString& InExistingFunctionD...
)

Turns a collapse node into a function node.

Public function

FName

 

PromoteFunctionReferenceNodeToCollapseNode

(
    const FName& InNodeName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand,
    bool bRemoveFunctionDefinition
)

Turns a collapse node into a function node.

Public function

bool

 

PromotePinToVariable

(
    const FString& InPinPath,
    bool bCreateVariableNode,
    const FVector2D& InNodePosition,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Promotes a pin to a variable.

Public function

void

 

PushGraph

(
    URigVMGraph* InGraph,
    bool bSetupUndoRedo
)

Pushes a new graph to the stack This causes a GraphChanged modified event.

Public function

int32

 

ReattachLinksToPinObjects

(
    bool bFollowCoreRedirectors,
    const TArray< URigVMLink* >&#...,
    bool bNotify,
    bool bSetupOrphanedPins
)

Public function

bool

 

Redo()

Re-does the last action on the stack.

Public function

void

 

RefreshVariableNode

(
    const FName& InNodeName,
    const FName& InVariableName,
    const FString& InCPPType,
    UObject* InCPPTypeObject,
    bool bSetupUndoRedo,
    bool bSetupOrphanPins
)

Refreshes the variable node with the new data.

Public function

bool

 

RemoveArrayPin

(
    const FString& InArrayElementPinPa...,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Removes an array element pin from an array pin. This causes a PinArraySizeChanged modified event.

Public function

bool

 

RemoveExposedPin

(
    const FName& InPinName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Removes an exposed pin from the graph controlled by this.

Public function

bool

 

RemoveFunctionFromLibrary

(
    const FName& InFunctionName,
    bool bSetupUndoRedo
)

Removes a function from a function library graph.

Public function

bool

 

RemoveInjectedNode

(
    const FString& InPinPath,
    bool bAsInput,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Removes an injected node This causes a NodeRemoved modified event.

Public function

bool

 

RemoveLocalVariable

(
    const FName& InVariableName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Remove a local variable from the graph.

Public function

bool

 

RemoveNode

(
    URigVMNode* InNode,
    bool bSetupUndoRedo,
    bool bRecursive,
    bool bPrintPythonCommand,
    bool bRelinkPins
)

Removes a node from the graph This causes a NodeRemoved modified event.

Public function

bool

 

RemoveNodeByName

(
    const FName& InNodeName,
    bool bSetupUndoRedo,
    bool bRecursive,
    bool bPrintPythonCommand,
    bool bRelinkPins
)

Removes a node from the graph given the node's name. This causes a NodeRemoved modified event.

Public function

void

 

RemovePinsDuringRepopulate

(
    URigVMNode* InNode,
    TArray< URigVMPin* >& InPins,
    bool bNotify,
    bool bSetupOrphanedPins
)

Public function

void

 

RemoveStaleNodes()

Removes nodes which went stale.

Public function

bool

 

RemoveUnusedOrphanedPins

(
    URigVMNode* InNode,
    bool bNotify
)

Removes any orphan pins that no longer holds a link

Public function

bool

 

RenameExposedPin

(
    const FName& InOldPinName,
    const FName& InNewPinName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Renames an exposed pin in the graph controlled by this.

Public function

bool

 

RenameFunction

(
    const FName& InOldFunctionName,
    const FName& InNewFunctionName,
    bool bSetupUndoRedo
)

Renames a function in the function library.

Public function

bool

 

RenameLocalVariable

(
    const FName& InVariableName,
    const FName& InNewVariableName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Rename a local variable from the graph.

Public function

bool

 

RenameNode

(
    URigVMNode* InNode,
    const FName& InNewName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Renames a node in the graph This causes a NodeRenamed modified event.

Public function

bool

 

RenameParameter

(
    const FName& InOldName,
    const FName& InNewName,
    bool bSetupUndoRedo
)

Renames a parameter in the graph. This causes a ParameterRenamed modified event.

Public function

bool

 

RenameVariable

(
    const FName& InOldName,
    const FName& InNewName,
    bool bSetupUndoRedo
)

Renames a variable in the graph. This causes a VariableRenamed modified event.

Public function

URigVMVariab...

 

ReplaceParameterNodeWithVariable

(
    const FName& InNodeName,
    const FName& InVariableName,
    const FString& InCPPType,
    UObject* InCPPTypeObject,
    bool bSetupUndoRedo
)

Refreshes the variable node with the new data.

Public function

void

 

RepopulatePinsOnNode

(
    URigVMNode* InNode,
    bool bFollowCoreRedirectors,
    bool bNotify,
    bool bSetupOrphanedPins
)

Public function Const

void

 

ReportAndNotifyError

(
    const FString& InMessage
)

Public function

void

 

ReportAndNotifyErrorf

(
    const FmtType& Fmt,
    Types... Args
)

Public function Const

void

 

ReportError

(
    const FString& InMessage
)

Public function

void

 

ReportErrorf

(
    const FmtType& Fmt,
    Types... Args
)

Public function Const

void

 

ReportWarning

(
    const FString& InMessage
)

Public function

void

 

ReportWarningf

(
    const FmtType& Fmt,
    Types... Args
)

Public function

void

 

ResendAllNotifications()

Resends all notifications.

Public function

bool

 

ResetPinDefaultValue

(
    const FString& InPinPath,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Resets the default value of a pin given its pinpath.

Public function

void

 

ResetUnitNodeDelegates()

Public function Static

void

 

SanitizeName

(
    FString& InOutName,
    bool bAllowPeriod,
    bool bAllowSpace
)

Public function

bool

 

SelectNode

(
    URigVMNode* InNode,
    bool bSelect,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Selects a single node in the graph. This causes a NodeSelected / NodeDeselected modified event.

Public function

bool

 

SelectNodeByName

(
    const FName& InNodeName,
    bool bSelect,
    bool bSetupUndoRedo
)

Selects a single node in the graph by name.

Public function

bool

 

SetArrayPinSize

(
    const FString& InArrayPinPath,
    int32 InSize,
    const FString& InDefaultValue,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Sets the size of the array pin This causes a PinArraySizeChanged modified event.

Public function

bool

 

SetCommentText

(
    URigVMNode* InNode,
    const FString& InCommentText,
    const int32& InCommentFontSize,
    const bool& bInCommentBubbleVisibl...,
    const bool& bInCommentColorBubble,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Sets the comment text and properties of a comment node in the graph.

Public function

bool

 

SetCommentTextByName

(
    const FName& InNodeName,
    const FString& InCommentText,
    const int32& InCommentFontSize,
    const bool& bInCommentBubbleVisibl...,
    const bool& bInCommentColorBubble,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Sets the comment text and properties of a comment node in the graph by name.

Public function

void

 

SetExecuteContextStruct

(
    UStruct* InExecuteContextStruc...
)

Sets the execute context struct type to use.

Public function

bool

 

SetExposedPinIndex

(
    const FName& InPinName,
    int32 InNewIndex,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Sets the index for an exposed pin. This can be used to move the pin up and down on the node.

Public function

void

 

SetGraph

(
    URigVMGraph* InGraph
)

Sets the currently edited Graph of this controller. This causes a GraphChanged modified event.

Public function

void

 

SetIsRunningUnitTest

(
    bool bIsRunning
)

Helper function to disable a series of checks that can be ignored during a unit test

Public function

bool

 

SetLocalVariableDefaultValue

(
    const FName& InVariableName,
    const FString& InDefaultValue,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand,
    bool bNotify
)

Public function

bool

 

SetLocalVariableType

(
    const FName& InVariableName,
    const FString& InCPPType,
    UObject* InCPPTypeObject,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Sets the type of the local variable.

Public function

bool

 

SetLocalVariableTypeFromObjectPath

(
    const FName& InVariableName,
    const FString& InCPPType,
    const FString& InCPPTypeObjectPath,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Sets the type of the local variable.

Public function

bool

 

SetNodeCategory

(
    URigVMCollapseNode* InNode,
    const FString& InCategory,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the category of a node in the graph. This causes a NodeCategoryChanged modified event.

Public function

bool

 

SetNodeCategoryByName

(
    const FName& InNodeName,
    const FString& InCategory,
    bool bSetupUndoRedo,
    bool bMergeUndoAction
)

Sets the category of a node in the graph. This causes a NodeCategoryChanged modified event.

Public function

bool

 

SetNodeColor

(
    URigVMNode* InNode,
    const FLinearColor& InColor,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the color of a node in the graph. This causes a NodeColorChanged modified event.

Public function

bool

 

SetNodeColorByName

(
    const FName& InNodeName,
    const FLinearColor& InColor,
    bool bSetupUndoRedo,
    bool bMergeUndoAction
)

Sets the color of a node in the graph by name. This causes a NodeColorChanged modified event.

Public function

bool

 

SetNodeDescription

(
    URigVMCollapseNode* InNode,
    const FString& InDescription,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the function description of a node in the graph.

Public function

bool

 

SetNodeDescriptionByName

(
    const FName& InNodeName,
    const FString& InDescription,
    bool bSetupUndoRedo,
    bool bMergeUndoAction
)

Sets the keywords of a node in the graph. This causes a NodeDescriptionChanged modified event.

Public function

bool

 

SetNodeKeywords

(
    URigVMCollapseNode* InNode,
    const FString& InKeywords,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the keywords of a node in the graph. This causes a NodeKeywordsChanged modified event.

Public function

bool

 

SetNodeKeywordsByName

(
    const FName& InNodeName,
    const FString& InKeywords,
    bool bSetupUndoRedo,
    bool bMergeUndoAction
)

Sets the keywords of a node in the graph. This causes a NodeKeywordsChanged modified event.

Public function

bool

 

SetNodePosition

(
    URigVMNode* InNode,
    const FVector2D& InPosition,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the position of a node in the graph. This causes a NodePositionChanged modified event.

Public function

bool

 

SetNodePositionByName

(
    const FName& InNodeName,
    const FVector2D& InPosition,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the position of a node in the graph by name. This causes a NodePositionChanged modified event.

Public function

bool

 

SetNodeSelection

(
    const TArray< FName >& InNodeNames,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Selects the nodes given the selection This might cause several NodeDeselected modified event.

Public function

bool

 

SetNodeSize

(
    URigVMNode* InNode,
    const FVector2D& InSize,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the size of a node in the graph. This causes a NodeSizeChanged modified event.

Public function

bool

 

SetNodeSizeByName

(
    const FName& InNodeName,
    const FVector2D& InSize,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the size of a node in the graph by name. This causes a NodeSizeChanged modified event.

Public function

bool

 

SetPinDefaultValue

(
    const FString& InPinPath,
    const FString& InDefaultValue,
    bool bResizeArrays,
    bool bSetupUndoRedo,
    bool bMergeUndoAction,
    bool bPrintPythonCommand
)

Sets the default value of a pin given its pinpath.

Public function

bool

 

SetPinExpansion

(
    const FString& InPinPath,
    bool bIsExpanded,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Sets the pin to be expanded or not This causes a PinExpansionChanged modified event.

Public function

bool

 

SetPinIsWatched

(
    const FString& InPinPath,
    bool bIsWatched,
    bool bSetupUndoRedo
)

Sets the pin to be watched (or not) This causes a PinWatchedChanged modified event.

Public function

bool

 

SetRemappedVariable

(
    URigVMFunctionReferenceNode* I...,
    const FName& InInnerVariableName,
    const FName& InOuterVariableName,
    bool bSetupUndoRedo
)

Sets the remapped variable on a function reference node.

Public function

bool

 

SetRerouteCompactness

(
    URigVMNode* InNode,
    bool bShowAsFullNode,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Sets the compactness of a reroute node in the graph.

Public function

bool

 

SetRerouteCompactnessByName

(
    const FName& InNodeName,
    bool bShowAsFullNode,
    bool bSetupUndoRedo
)

Sets the compactness of a reroute node in the graph by name.

Public function

void

 

SetupDefaultUnitNodeDelegates

(
    TDelegate< FName...
)

Wires the unit node delegates to the default controller delegates.

Public function Const

bool

 

ShouldRedirectPin

(
    const FString& InOldPinPath,
    FString& InOutNewPinPath
)

Public function Const

bool

 

ShouldRedirectPin

(
    UScriptStruct* InOwningStruct,
    const FString& InOldRelativePinPat...,
    FString& InOutNewRelativePinPath
)

Public function

void

 

SuspendNotifications

(
    bool bSuspend
)

Function to override the notification behavior and temporarily disable all notifications.

Public function

bool

 

UnbindPinFromVariable

(
    const FString& InPinPath,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Removes the binging of a pin to a variable This causes a PinBoundVariableChanged modified event.

Public function

bool

 

Undo()

Un-does the last action on the stack.

Constants

Name

Description

PinPathCoreRedirectors