Navigation
API > API/Plugins > API/Plugins/OptimusCore
| Name | UOptimusNode |
| Type | class |
| Header File | /Engine/Plugins/Animation/DeformerGraph/Source/OptimusCore/Public/OptimusNode.h |
| Include Path | #include "OptimusNode.h" |
Syntax
UCLASS (MinimalAPI, Abstract)
class UOptimusNode : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UOptimusNode
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UOptimusNode() |
OptimusNode.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~UOptimusNode() |
OptimusNode.h |
Structs
| Name | Remarks |
|---|---|
| CategoryName | |
| PropertyMeta |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bConstructingNode | bool | A sentinel to indicate we're doing node construction. | OptimusNode.h | |
| bCreatedFromUI | bool | Optionally one can mark this node as created from UI during node creation for the Editor to do special things when the node is spawned | OptimusNode.h | |
| bDynamicPins | bool | Set to true if the node is dynamic and can have pins arbitrarily added. | OptimusNode.h | |
| CachedPinLookup | TMap< TArray< FName >, UOptimusNodePin * > | Cached pin lookups. | OptimusNode.h | |
| DiagnosticLevel | EOptimusDiagnosticLevel | OptimusNode.h | ||
| DisplayName | FText | The display name to show. | OptimusNode.h |
|
| ExpandedPins | TSet< FName > | The list of pins that should be shown as expanded in the graph view. | OptimusNode.h |
|
| GraphPosition | FVector2D | Node layout data. | OptimusNode.h |
|
| Pins | TArray< TObjectPtr< UOptimusNodePin > > | The list of pins. Non-transactional for the same reason as above. | OptimusNode.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CanConnectPinToNode
(
const UOptimusNodePin* InOtherPin, |
Preliminary check for whether valid connection can be made between an existing pin and a potentially existing pin on this node. | OptimusNode.h | |
bool CanConnectPinToPin
(
const UOptimusNodePin& InThisNodesPin, |
Preliminary check for whether valid connection can be made between two existing pins. | OptimusNode.h | |
virtual bool CanUserDeleteNode() |
Returns true if the node can be deleted by the user | OptimusNode.h | |
UOptimusNodePin * FindPin
(
const FStringView InPinPath |
Find the pin associated with the given dot-separated pin path. | OptimusNode.h | |
UOptimusNodePin * FindPinFromPath
(
const TArray< FName >& InPinPath |
Find the pin from the given path array. | OptimusNode.h | |
UOptimusNodePin * FindPinFromProperty
(
const FProperty* InRootProperty, |
Find the pin associated with the given FProperty object(s). | OptimusNode.h | |
| Returns the node's diagnostic level (e.g. error state). | OptimusNode.h | ||
virtual FText GetDisplayName() |
Returns the display name to use on the graphical node in the graph editor. | OptimusNode.h |
|
FVector2D GetGraphPosition() |
Returns the position in the graph UI where the node is shown. | OptimusNode.h |
|
virtual FName GetNodeCategory() |
Returns the node class category. This is used for categorizing the node for display. | OptimusNode.h |
|
FName GetNodeName() |
Returns the node class name. This name is immutable for the given node class. | OptimusNode.h |
|
| Returns the absolute path of the node. | OptimusNode.h | ||
UOptimusNodeGraph * GetOwningGraph() |
Returns the owning node graph of this node. | OptimusNode.h | |
UOptimusNodePin * GetPinByName
(
const FName& PinName |
Return the pin with a specific name | OptimusNode.h | |
TArrayView< UOptimusNodePin *const > GetPins() |
Returns the list of all the pins on this node | OptimusNode.h | |
TArray< UOptimusNodePin * > GetPinsByDirection
(
EOptimusNodePinDirection InDirection, |
Returns the list of pins on this node filtered by direction | OptimusNode.h | |
virtual FText GetTooltipText() |
Returns the tool tip. | OptimusNode.h | |
bool IsCreatedFromUI() |
OptimusNode.h | ||
void PostCreateNode () |
Called just after the node is created, either via direct creation or deletion undo. | OptimusNode.h | |
void PostDeserializeNode () |
Called just after the node is deserialized, either via loading or pasting. | OptimusNode.h | |
virtual void PostLoadNodeSpecificData() |
Derived nodes should override this function for any PostLoad fix-ups. | OptimusNode.h | |
virtual void RecreatePinsFromPinDefinitions() |
Recreate the pins from the definition | OptimusNode.h | |
| Rename the pin from the definition | OptimusNode.h | ||
void SetDiagnosticLevel
(
EOptimusDiagnosticLevel InDiagnosticLevel |
Sets the node diagnostic level (e.g. error state). | OptimusNode.h | |
bool SetDisplayName
(
FText InDisplayName |
Set the display name for this node. | OptimusNode.h | |
bool SetGraphPosition
(
const FVector2D& InPosition |
Sets the position in the graph UI that the node should be shown at. | OptimusNode.h |
|
virtual void UpdateDisplayNameFromDataInterface() |
Update the display name | OptimusNode.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
OptimusNode.h | ||
virtual void PostLoad() |
Using "final" here to make sure all derive nodes have InitializeTransientData() automatically called on them during PostLoad(), so please use PostLoadNodeSpecificData instead for any PostLoad fix-ups | OptimusNode.h | |
virtual void Serialize
(
FArchive& Ar |
OptimusNode.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UOptimusNodePin * AddGroupingPin
(
FName InName, |
Add a new grouping pin. | OptimusNode.h | |
UOptimusNodePin * AddGroupingPinDirect
(
FName InName, |
OptimusNode.h | ||
UOptimusNodePin * AddPin
(
FName InName, |
OptimusNode.h | ||
UOptimusNodePin * AddPin
(
const FOptimusParameterBinding& InBinding, |
Add a new pin based on a parameter binding definition. Only allowed for top-level pins. | OptimusNode.h | |
UOptimusNodePin * AddPinDirect
(
const FOptimusParameterBinding& InBinding, |
Add a new pin based on a parameter binding definition. Only allowed for top-level pins. | OptimusNode.h | |
UOptimusNodePin * AddPinDirect
(
FName InName, |
Create a pin and add it to the node in the location specified. | OptimusNode.h | |
virtual void ConstructNode() |
Called when the node is being constructed. | OptimusNode.h | |
void EnableDynamicPins() |
OptimusNode.h | ||
virtual void ExportState
(
FArchive& Ar |
OptimusNode.h | ||
UOptimusActionStack * GetActionStack() |
Return the action stack for this node. | OptimusNode.h | |
bool GetPinExpanded
(
const UOptimusNodePin* InPin |
OptimusNode.h | ||
virtual void ImportState
(
FArchive& Ar |
OptimusNode.h | ||
virtual void InitializePinsDisplayName() |
Allows the node to initialize all the pins display names from the definitions | OptimusNode.h | |
virtual void InitializeTransientData() |
Allows the node to initialize any transient data that can be derived from serialized properties. | OptimusNode.h | |
bool MovePin
(
UOptimusNodePin* InPinToMove, |
Swap two sibling pins | OptimusNode.h | |
bool MovePinDirect
(
UOptimusNodePin* InPinToMove, |
OptimusNode.h | ||
bool MovePinToGroupPinDirect
(
UOptimusNodePin* InPinToMove, |
OptimusNode.h | ||
virtual void OnDataTypeChanged
(
FName InTypeName |
OptimusNode.h | ||
virtual void PreDuplicateRequirementActions
(
const UOptimusNodeGraph* InTargetGraph, |
Called prior to duplicate to allow the node to add its own graph requirements to to the list of actions being performed. | OptimusNode.h | |
bool RemovePin
(
UOptimusNodePin* InPin |
Remove a pin. | OptimusNode.h | |
bool RemovePinDirect
(
UOptimusNodePin* InPin |
Remove the pin with no undo. | OptimusNode.h | |
bool SetGraphPositionDirect
(
const FVector2D& InPosition |
Set a new position of the node in the graph UI. | OptimusNode.h | |
bool SetPinDataDomain
(
UOptimusNodePin* InPin, |
Set the pin's resource context names. | OptimusNode.h | |
bool SetPinDataDomainDirect
(
UOptimusNodePin* InPin, |
OptimusNode.h | ||
bool SetPinDataType
(
UOptimusNodePin* InPin, |
Set the pin data type. | OptimusNode.h | |
bool SetPinDataTypeDirect
(
UOptimusNodePin* InPin, |
OptimusNode.h | ||
void SetPinExpanded
(
const UOptimusNodePin* InPin, |
OptimusNode.h | ||
bool SetPinName
(
UOptimusNodePin* InPin, |
FIXME: Hoist to public. | OptimusNode.h | |
bool SetPinNameDirect
(
UOptimusNodePin* InPin, |
OptimusNode.h | ||
virtual bool ValidateConnection
(
const UOptimusNodePin& InThisNodesPin, |
OptimusNode.h | ||
virtual TOptional< FText > ValidateForCompile
(
const FOptimusPinTraversalContext& InContext |
Optional: Perform local node validation for compilation. | OptimusNode.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Returns the class of all non-deprecated UOptimusNodeBase nodes that are defined, in no particular order. | OptimusNode.h | ||
static FName GetAvailablePinNameStable
(
const UObject* InNodeOrPin, |
Returns a unique name for pin. | OptimusNode.h |