Navigation
API > API/Plugins > API/Plugins/OptimusCore
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UOptimusNodeGraph
- UOptimusNodeSubGraph
- UOptimusFunctionNodeGraph
References
| Module | OptimusCore |
| Header | /Engine/Plugins/Animation/DeformerGraph/Source/OptimusCore/Public/OptimusNodeGraph.h |
| Include | #include "OptimusNodeGraph.h" |
Syntax
UCLASS&40;BlueprintType&41;
class UOptimusNodeGraph :
public UObject,
public IOptimusNodeGraphCollectionOwner
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bViewLocationSet | ||
| EOptimusNodeGraphType | GraphType | The type of graph this represents. | |
| FVector2D | ViewLocation | ||
| float | ViewZoom |
Functions
| Type | Name | Description | |
|---|---|---|---|
| UOptimusNode * | AddComponentBindingGetNode
(
UOptimusComponentSourceBinding* InComponentBinding, |
||
| UOptimusNode * | AddDataInterfaceNode
(
const TSubclassOf< UOptimusComputeDataInterface > InDataInterfaceClass, |
||
| bool | AddLink
(
UOptimusNodePin* InNodeOutputPin, |
||
| bool | AddLinkDirect
(
UOptimusNodePin* InNodeOutputPin, |
||
| UOptimusNode * | AddNode
(
const TSubclassOf< UOptimusNode > InNodeClass, |
TODO: Add magic connection from a pin. | |
| bool | AddNodeDirect
(
UOptimusNode* InNode |
||
| UOptimusNode * | AddResourceGetNode
(
UOptimusResourceDescription* InResourceDesc, |
||
| UOptimusNode * | AddResourceNode
(
UOptimusResourceDescription* InResourceDesc, |
||
| UOptimusNode * | AddResourceSetNode
(
UOptimusResourceDescription* InResourceDesc, |
||
| UOptimusNode * | AddValueNode
(
FOptimusDataTypeRef InDataTypeRef, |
||
| UOptimusNode * | AddVariableGetNode
(
UOptimusVariableDescription* InVariableDesc, |
||
| UOptimusNode * | CollapseNodesToFunction
(
const TArray< UOptimusNode* >& InNodes |
Take a set of nodes and collapse them into a single function, replacing the given nodes with the new function node and returning it. | |
| UOptimusNode * | CollapseNodesToSubGraph
(
const TArray< UOptimusNode* >& InNodes |
Take a set of nodes and collapse them into a subgraph, replacing the given nodes with a new subgraph node and returning it. | |
| bool | ConnectAdderPin
(
IOptimusNodeAdderPinProvider* InTargetNode, |
Add a new pin to the target node with the type of source pin and connect the source pin to the new pin | |
| UOptimusNode * | ConvertCustomKernelToFunction
(
UOptimusNode* InCustomKernel |
Node Packaging. | |
| UOptimusNode * | ConvertFunctionToCustomKernel
(
UOptimusNode* InKernelFunction |
Takes a kernel function and unpackages to a custom kernel. | |
| UOptimusNode * | CreateNodeDirect
(
const UClass* InNodeClass, |
Direct edit functions. Used by the actions. | |
| bool | DoesLinkFormCycle
(
const UOptimusNode* InOutputNode, |
Check to see if connecting these two nodes will form a graph cycle. | |
| UOptimusNode * | DuplicateNode
(
UOptimusNode* InNode, |
||
| bool | DuplicateNodes
(
const TArray< UOptimusNode* >& InNodes, |
||
| bool | DuplicateNodes
(
const TArray< UOptimusNode* >& InNodes, |
Duplicate a collection of nodes from the same graph, using the InPosition position to be the top-left origin of the pasted nodes. | |
| TArray< UOptimusNode * > | ExpandCollapsedNodes
(
UOptimusNode* InFunctionNode |
Take a function or subgraph node and expand it in-place, replacing the given function node. | |
| UOptimusActionStack * | |||
| const TArray< UOptimusNodeLink * > & | GetAllLinks () |
||
| const TArray< UOptimusNode * > & | GetAllNodes () |
||
| TSet< UOptimusComponentSourceBinding * > | GetComponentSourceBindingsForPin
(
const UOptimusNodePin* InNodePin |
Get all unique component bindings that lead to this pin. | |
| TArray< UOptimusNodePin * > | GetConnectedPins
(
const UOptimusNodePin* InNodePin |
Returns all pins that have a direct connection to this pin. | |
| TArray< FOptimusRoutedNodePin > | GetConnectedPinsWithRouting
(
const UOptimusNodePin* InNodePin, |
See UOptimusNodePin::GetConnectedRoutedPins for information on what this function does. | |
| int32 | |||
| FString | GetGraphPath () |
||
| EOptimusNodeGraphType | GetGraphType () |
||
| FOptimusGraphNotifyDelegate & | Returns the modify event object that can listened to in case there are changes to the graph that need to be reacted to. | ||
| UOptimusNodeGraph * | |||
| TArray< const UOptimusNodeLink * > | GetPinLinks
(
const UOptimusNodePin* InNodePin |
||
| bool | GetViewLocationAndZoom
(
FVector2D& OutViewLocation, |
Returns the graph view location and zoom, if set. | |
| void | GlobalNotify
(
EOptimusGlobalNotifyType InNotifyType, |
||
| 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. | |
| bool | |||
| bool | |||
| 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. | |
| 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. | |
| 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. | |
| bool | IsValidUserGraphName
(
const FString& InGraphName, |
Verify if the given name is a valid graph name. | |
| void | Notify
(
EOptimusGraphNotifyType InNotifyType, |
||
| bool | RemoveAllLinks
(
UOptimusNodePin* InNodePin |
Removes all links to the given pin, whether it's an input or an output pin. | |
| bool | RemoveAllLinksToNodeDirect
(
UOptimusNode* InNode |
||
| bool | RemoveAllLinksToPinDirect
(
UOptimusNodePin* InNodePin |
||
| bool | RemoveLink
(
UOptimusNodePin* InNodeOutputPin, |
Removes a single link between two nodes. FIXME: Use UOptimusNodeLink instead. | |
| bool | RemoveLinkDirect
(
UOptimusNodePin* InNodeOutputPin, |
||
| bool | RemoveNode
(
UOptimusNode* InNode |
||
| bool | RemoveNodeDirect
(
UOptimusNode* InNode, |
Remove a node directly. If a node still has connections this call will fail. | |
| bool | RemoveNodes
(
const TArray< UOptimusNode* >& InNodes |
||
| bool | RemoveNodes
(
const TArray< UOptimusNode* >& InNodes, |
||
| bool | RemoveNodesToAction
(
FOptimusCompoundAction* InAction, |
||
| void | SetGraphType
(
EOptimusNodeGraphType InType |
FIXME: Remove this. | |
| void | SetViewLocationAndZoom
(
const FVector2D& InViewLocation, |
Set the graph view location and zoom, to ensure that the view location is stored between sessions and graph switching. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | PostDuplicate
(
EDuplicateMode::Type DuplicateMode |
Check if the duplication took place at the asset level if so, we have to recreate all constant/attribute nodes such that their class pointers don't point to classes in the source asset. | |
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
Overridden from IOptimusNodeGraphCollectionOwner
| Type | Name | Description | |
|---|---|---|---|
| bool | AddGraph
(
UOptimusNodeGraph* InGraph, |
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. | |
| UOptimusNodeGraph * | CreateGraph
(
EOptimusNodeGraphType InType, |
Create a new graph of a given type, with an optional name. | |
| IOptimusNodeGraphCollectionOwner * | IOptimusNodeGraphCollectionOwner overrides. | ||
| FString | Returns the path to this graph collection owner. | ||
| IOptimusNodeGraphCollectionOwner * | Returns root collection that owns all the collections | ||
| const TArray< UOptimusNodeGraph * > & | GetGraphs () |
Returns all immediately owned node graphs. | |
| bool | MoveGraph
(
UOptimusNodeGraph* InGraph, |
Re-order the graph relative to the other graphs. | |
| bool | RemoveGraph
(
UOptimusNodeGraph* InGraph, |
Remove the given graph. | |
| bool | RenameGraph
(
UOptimusNodeGraph* InGraph, |
Rename the given graph, subject to validation of the name. |
Constants
| Name | Description |
|---|---|
| LibraryRoot | |
| SetupGraphName | Reserved names. |
| UpdateGraphName |