UOptimusNodeGraph

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

OptimusDeveloper

Header

/Engine/Plugins/Experimental/Optimus/Source/OptimusDeveloper/Public/OptimusNodeGraph.h

Include

#include "OptimusNodeGraph.h"

Syntax

UCLASS()
class UOptimusNodeGraph :
    public UObject,
    public IOptimusNodeGraphCollectionOwner

Variables

Name Description

Protected variable UProperty Category BlueprintReadOnly visibleanywhere

EOptimusNodeGra...

 

GraphType

The type of graph this represents.

Functions

Name Description

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

AddDataInterfaceNode

(
    const TSubclassOf< UOptimusComputeD...,
    const FVector2D& InPosition
)

Public function UFunction BlueprintCallable, Category

bool

 

AddLink

(
    UOptimusNodePin* InNodeOutputP...,
    UOptimusNodePin* InNodeInputPi...
)

Protected function

bool

 

AddLinkDirect

(
    UOptimusNodePin* InNodeOutputP...,
    UOptimusNodePin* InNodeInputPi...
)

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

AddNode

(
    const TSubclassOf< UOptimusNode > I...,
    const FVector2D& InPosition
)

TODO: Add magic connection from a pin.

Protected function

bool

 

AddNodeDirect

(
    UOptimusNode* InNode
)

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

AddResourceGetNode

(
    UOptimusResourceDescription* I...,
    const FVector2D& InPosition
)

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

AddResourceSetNode

(
    UOptimusResourceDescription* I...,
    const FVector2D& InPosition
)

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

AddValueNode

(
    FOptimusDataTypeRef InDataTypeRef,
    const FVector2D& InPosition
)

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

AddVariableGetNode

(
    UOptimusVariableDescription* I...,
    const FVector2D& InPosition
)

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

CollapseNodesToFunction

(
    const TArray< UOptimusNode* > ...
)

Take a set of nodes and collapse them into a single function, replacing the given nodes with the new function node and returning it.

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

CollapseNodesToSubGraph

(
    const TArray< UOptimusNode* > ...
)

Take a set of nodes and collapse them into a subgraph, replacing the given nodes with a new subgraph node and returning it.

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

ConvertCustomKernelToFunction

(
    UOptimusNode* InCustomKernel
)

Node Packaging.

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

ConvertFunctionToCustomKernel

(
    UOptimusNode* InKernelFunction
)

Takes a kernel function and unpackages to a custom kernel.

Protected function

UOptimusNode...

 

CreateNodeDirect

(
    const UClass* InNodeClass,
    FName InName,
    TFunction< bool*)...
)

Direct edit functions. Used by the actions.

Public function Const

bool

 

DoesLinkFormCycle

(
    const UOptimusNodePin* InNodeO...,
    const UOptimusNodePin* InNodeI...
)

Check to see if connecting these two pins will form a graph cycle.

Public function UFunction BlueprintCallable, Category

UOptimusNode...

 

DuplicateNode

(
    UOptimusNode* InNode,
    const FVector2D& InPosition
)

Public function

bool

 

DuplicateNodes

(
    const TArray< UOptimusNode* > ...,
    const FVector2D& InPosition,
    const FString& InActionName
)

Public function UFunction BlueprintCallable, Category

bool

 

DuplicateNodes

(
    const TArray< UOptimusNode* > ...,
    const FVector2D& InPosition
)

Duplicate a collection of nodes from the same graph, using the InPosition position to be the top-left origin of the pasted nodes.

Public function UFunction BlueprintCallable, Category

TArray< UOpt...

 

ExpandCollapsedNodes

(
    UOptimusNode* InFunctionNode
)

Take a function or subgraph node and expand it in-place, replacing the given function node.

Public function Const

UOptimusActi...

 

GetActionStack()

Public function Const

const TArray...

 

GetAllLinks()

Public function Const

const TArray...

 

GetAllNodes()

Public function Const

TArray< UOpt...

 

GetConnectedPins

(
    const UOptimusNodePin* InNodeP...
)

Returns all pins that have a direct connection to this pin.

Public function Const

TArray< FOpt...

 

GetConnectedPinsWithRouting

(
    const UOptimusNodePin* InNodeP...,
    const FOptimusPinTraversalContext&...
)

See UOptimusNodePin::GetConnectedRoutedPins for information on what this function does.

Public function Const UFunction BlueprintCallable, Category

int32

 

GetGraphIndex()

Public function Const

FString

 

GetGraphPath()

Public function Const UFunction BlueprintCallable, Category

EOptimusNode...

 

GetGraphType()

Public function

FOptimusGrap...

 

GetNotifyDelegate()

Returns the modify event object that can listened to in case there are changes to the graph that need to be reacted to.

Public function Const

TArray< cons...

 

GetPinLinks

(
    const UOptimusNodePin* InNodeP...
)

Protected function Const

void

 

GlobalNotify

(
    EOptimusGlobalNotifyType InNotifyTy...,
    UObject* InSubject
)

Public function Const UFunction BlueprintCallable, Category

bool

 

IsCustomKernel

(
    UOptimusNode* InNode
)

Returns true if the node in question is a custom kernel node that can be converted to a kernel function with ConvertCustomKernelToFunction.

Public function Const UFunction BlueprintCallable, Category

bool

 

IsExecutionGraph()

Public function Const UFunction BlueprintCallable, Category

bool

 

IsFunctionGraph()

Public function Const UFunction BlueprintCallable, Category

bool

 

IsFunctionReference

(
    UOptimusNode* InNode
)

Returns true if the node in question is a function reference node that can be expanded into a group of nodes using ExpandFunctionToNodes.

Public function Const UFunction BlueprintCallable, Category

bool

 

IsKernelFunction

(
    UOptimusNode* InNode
)

Returns true if the node in question is a kernel function node that can be converted to a custom kernel using ConvertFunctionToCustomKernel.

Public function Const UFunction BlueprintCallable, Category

bool

 

IsSubGraphReference

(
    UOptimusNode* InNode
)

Returns true if the node in question is a function sub-graph node that can be expanded into a group of nodes using ExpandFunctionToNodes.

Public function Static

bool

 

IsValidUserGraphName

(
    const FString& InGraphName,
    FText* OutFailureReason
)

Verify if the given name is a valid graph name.

Protected function

void

 

Notify

(
    EOptimusGraphNotifyType InNotifyTyp...,
    UObject* InSubject
)

Public function UFunction BlueprintCallable, Category

bool

 

RemoveAllLinks

(
    UOptimusNodePin* InNodePin
)

Removes all links to the given pin, whether it's an input or an output pin.

Protected function

bool

 

RemoveAllLinksToNodeDirect

(
    UOptimusNode* InNode
)

Protected function

bool

 

RemoveAllLinksToPinDirect

(
    UOptimusNodePin* InNodePin
)

Public function UFunction BlueprintCallable, Category

bool

 

RemoveLink

(
    UOptimusNodePin* InNodeOutputP...,
    UOptimusNodePin* InNodeInputPi...
)

Removes a single link between two nodes. FIXME: Use UOptimusNodeLink instead.

Protected function

bool

 

RemoveLinkDirect

(
    UOptimusNodePin* InNodeOutputP...,
    UOptimusNodePin* InNodeInputPi...
)

Public function UFunction BlueprintCallable, Category

bool

 

RemoveNode

(
    UOptimusNode* InNode
)

Protected function

bool

 

RemoveNodeDirect

(
    UOptimusNode* InNode,
    bool bFailIfLinks
)

Remove a node directly. If a node still has connections this call will fail.

Public function UFunction BlueprintCallable, Category

bool

 

RemoveNodes

(
    const TArray< UOptimusNode* > ...
)

Public function

bool

 

RemoveNodes

(
    const TArray< UOptimusNode* > ...,
    const FString& InActionName
)

Protected function

void

 

SetGraphType

(
    EOptimusNodeGraphType InType
)

FIXME: Remove this.

Overridden from IOptimusNodeGraphCollectionOwner

Name Description

Public function Virtual

bool

 

AddGraph

(
    UOptimusNodeGraph* InGraph,
    int32 InInsertBefore
)

Takes an existing graph and adds it to this graph collection. If the graph cannot be added, the object remains unchanged and this function returns false.

Public function Virtual

UOptimusNode...

 

CreateGraph

(
    EOptimusNodeGraphType InType,
    FName InName,
    TOptional< int32 > InInsertBefore
)

Create a new graph of a given type, with an optional name.

Public function Virtual Const

IOptimusNode...

 

GetCollectionOwner()

IOptimusNodeGraphCollectionOwner overrides.

Public function Virtual Const

FString

 

GetCollectionPath()

Returns the path to this graph collection owner.

Public function Virtual Const

IOptimusNode...

 

GetCollectionRoot()

Returns root collection that owns all the collections

Public function Virtual Const UFunction BlueprintCallable, Category

const TArray...

 

GetGraphs()

Returns all immediately owned node graphs.

Public function Virtual UFunction BlueprintCallable, Category

bool

 

MoveGraph

(
    UOptimusNodeGraph* InGraph,
    int32 InInsertBefore
)

Re-order the graph relative to the other graphs.

Public function Virtual

bool

 

RemoveGraph

(
    UOptimusNodeGraph* InGraph,
    bool bDeleteGraph
)

Remove the given graph.

Public function Virtual UFunction BlueprintCallable, Category

bool

 

RenameGraph

(
    UOptimusNodeGraph* InGraph,
    const FString& InNewName
)

Rename the given graph, subject to validation of the name.

Constants

Name

Description

LibraryRoot

SetupGraphName

Reserved names.

UpdateGraphName