UControlRigGraphSchema

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

ControlRigDeveloper

Header

/Engine/Plugins/Animation/ControlRig/Source/ControlRigDeveloper/Public/Graph/ControlRigGraphSchema.h

Include

#include "Graph/ControlRigGraphSchema.h"

Syntax

UCLASS()
class UControlRigGraphSchema : public UEdGraphSchema

Constructors

Name Description

Public function

UControlRigGraphSchema()

Functions

Name Description

Public function Const

UControlRigG...

 

CreateGraphNode

(
    UControlRigGraph* InGraph,
    const FName& InPropertyName
)

Create a graph node for a rig

Public function Const

void

 

EndGraphNodeInteraction

(
    UEdGraphNode* InNode
)

Public function Const

FVector2D

 

GetNodePositionAtStartOfInteraction

(
    UEdGraphNode* InNode
)

Public function Static

TArray< UEdG...

 

GetNodesToMoveForNode

(
    UEdGraphNode* InNode
)

Public function Virtual Const

void

 

GetVariablePinTypes

(
    TArray< FEdGraphPinType >& PinType...
)

Returns all of the applicable pin types for variables within a control rig

Public function

void

 

HandleModifiedEvent

(
    ERigVMGraphNotifType InNotifType,
    URigVMGraph* InGraph,
    UObject* InSubject
)

Public function Virtual Const

bool

 

IsStructEditable

(
    UStruct* InStruct
)

Public function Const

void

 

LayoutNodes

(
    UControlRigGraph* InGraph,
    const TArray< UControlRigGraphNode ...
)

Automatically layout the passed-in nodes

Public function Const

void

 

RenameNode

(
    UControlRigGraphNode* Node,
    const FName& InNewNodeName
)

Helper function to rename a node

Public function Virtual Const

void

 

ResetPinDefaultsRecursive

(
    UEdGraphPin* InPin
)

Helper function to recursively reset the pin defaults

Public function Const

void

 

SetNodePosition

(
    UEdGraphNode* Node,
    const FVector2D& Position,
    bool bSetupUndo
)

Public function Const

void

 

StartGraphNodeInteraction

(
    UEdGraphNode* InNode
)

Public function Const

bool

 

SupportsPinType

(
    UScriptStruct* ScriptStruct
)

Returns true if the schema supports the script type

Overridden from UEdGraphSchema

Name Description

Public function Virtual Const

bool

 

ArePinsCompatible

(
    const UEdGraphPin* PinA,
    const UEdGraphPin* PinB,
    const UClass* CallingContext,
    bool bIgnoreArray
)

Returns true if the types and directions of two pins are schema compatible.

Public function Virtual Const

FReply

 

BeginGraphDragAction

(
    TSharedPtr< FEdGraphSchemaAction > ...,
    const FPointerEvent& MouseEvent
)

Begins a drag and drop action to drag a graph action into another graph

Public function Virtual Const

void

 

BreakPinLinks

(
    UEdGraphPin& TargetPin,
    bool bSendsNodeNotifcation
)

Breaks all links from/to a single pin

Public function Virtual Const

void

 

BreakSinglePinLink

(
    UEdGraphPin* SourcePin,
    UEdGraphPin* TargetPin
)

Breaks the link between two nodes.

Public function Virtual Const

const FPinCo...

 

CanCreateConnection

(
    const UEdGraphPin* A,
    const UEdGraphPin* B
)

Determine if a connection can be created between two pins.

Public function Virtual Const

bool

 

CanDuplicateGraph

(
    UEdGraph* InSourceGraph
)

Can this graph type be duplicated?

Public function Virtual Const

bool

 

CanGraphBeDropped

(
    TSharedPtr< FEdGraphSchemaAction > ...
)

Can the function graph be dropped into another graph

Public function Virtual Const

bool

 

CanVariableBeDropped

(
    UEdGraph* InGraph,
    FProperty* InVariableToDrop
)

Check whether variables can be dropped onto the graph

Public function Virtual Const

void

 

ClearPinWatch

(
    UEdGraphPin const* Pin
)

If the specified pin is currently being watched, then this will clear the watch from the graph's debug system.

Public function Virtual Const

FConnectionD...

 

CreateConnectionDrawingPolicy

(
    int32 InBackLayerID,
    int32 InFrontLayerID,
    float InZoomFactor,
    const FSlateRect& InClippingRect,
    FSlateWindowElementList& InDrawEle...,
    UEdGraph* InGraphObj
)

Returns new FConnectionDrawingPolicy from this schema

Public function Virtual Const

bool

 

DoesSupportPinWatching()

An easy way to check to see if the current graph system supports pin watching.

Public function Virtual Const

UEdGraphPin ...

 

DropPinOnNode

(
    UEdGraphNode* InTargetNode,
    const FName& InSourcePinName,
    const FEdGraphPinType& InSourcePin...,
    EEdGraphPinDirection InSourcePinDir...
)

Some schemas have nodes that support the user dynamically adding pins when dropping a connection on the node

Public function Virtual Const

void

 

GetContextMenuActions

(
    UToolMenu* Menu,
    UGraphNodeContextMenuContext* ...
)

Gets actions that should be added to the right-click context menu for a node or pin

Public function Virtual Const

FText

 

GetGraphCategory

(
    const UEdGraph* InGraph
)

Returns an optional category for a graph

Public function Virtual Const

void

 

GetGraphContextActions

(
    FGraphContextMenuBuilder& ContextM...
)

Get all actions that can be performed when right clicking on a graph or drag-releasing on a graph from a pin

Public function Virtual Const

void

 

GetGraphDisplayInformation

(
    const UEdGraph& Graph,
    FGraphDisplayInfo& DisplayInfo
)

Gets display information for a graph

Public function Virtual Const

bool

 

GetLocalVariables

(
    const UEdGraph* InGraph,
    TArray< FBPVariableDescription >& ...
)

Returns the local variables related to the graph.

Public function Virtual Const

TSharedPtr< ...

 

GetNameValidator

(
    const UBlueprint* InBlueprintO...,
    const FName& InOriginalName,
    const UStruct* InValidationSco...,
    const FName& InActionTypeId
)

Returns a name validator appropiate for the schema and object that is being named

Public function Virtual Const

FLinearColor

 

GetPinTypeColor

(
    const FEdGraphPinType& PinType
)

Gets the draw color of a pin based on it's type.

Public function Virtual Const

void

 

InsertAdditionalActions

(
    TArray< UBlueprint* > InBluepr...,
    TArray< UEdGraph* > InGraphs,
    TArray< UEdGraphPin* > InPins,
    FGraphActionListBuilderBase& OutAl...
)

Insert additional actions into the blueprint action menu

Public function Virtual Const

bool

 

IsPinBeingWatched

(
    UEdGraphPin const* Pin
)

Checks to see if the specified pin is being watched by the graph's debug system.

Public function Virtual Const

TSharedPtr< ...

 

MakeActionFromVariableDescription

(
    const UEdGraph* InEdGraph,
    const FBPVariableDescription& Vari...
)

Generates a graph schema action from a graph and a variable description.

Public function Virtual Const

bool

 

MarkBlueprintDirtyFromNewNode

(
    UBlueprint* InBlueprint,
    UEdGraphNode* InEdGraphNode
)

Returns true if the schema wants to overdrive the behaviour of dirtying the blueprint on new node creation.

Public function Virtual Const

void

 

OnPinConnectionDoubleCicked

(
    UEdGraphPin* PinA,
    UEdGraphPin* PinB,
    const FVector2D& GraphPosition
)

Handles double-clicking on a pin<->pin connection

Public function Virtual

bool

 

RequestVariableDropOnPanel

(
    UEdGraph* InGraph,
    FProperty* InVariableToDrop,
    const FVector2D& InDropPosition,
    const FVector2D& InScreenPosition
)

Request to drop a variable on a panel

Public function Virtual

bool

 

RequestVariableDropOnPin

(
    UEdGraph* InGraph,
    FProperty* InVariableToDrop,
    UEdGraphPin* InPin,
    const FVector2D& InDropPosition,
    const FVector2D& InScreenPosition
)

Request to drop a variable on a pin

Public function Virtual Const

bool

 

SafeDeleteNodeFromGraph

(
    UEdGraph* Graph,
    UEdGraphNode* Node
)

Perform any logic necessary to safely remove this node from the graph.

Public function Virtual Const

void

 

SetNodePosition

(
    UEdGraphNode* Node,
    const FVector2D& Position
)

Sets a node's position.

Public function Virtual Const

void

 

SetPinBeingDroppedOnNode

(
    UEdGraphPin* InSourcePin
)

Let's the schema know about the next pin being dropped

Public function Virtual Const

bool

 

ShouldAlwaysPurgeOnModification()

When a node is removed, this method determines whether we should remove it immediately or use the old (slower) code path that results in all node being recreated:

Public function Virtual Const

bool

 

ShouldHidePinDefaultValue

(
    UEdGraphPin* Pin
)

If we should disallow viewing and editing of the supplied pin

Public function Virtual Const

bool

 

SupportsDropPinOnNode

(
    UEdGraphNode* InTargetNode,
    const FEdGraphPinType& InSourcePin...,
    EEdGraphPinDirection InSourcePinDir...,
    FText& OutErrorMessage
)

Checks if the node supports dropping a pin on it

Public function Virtual Const

bool

 

SupportsPinType

(
    TWeakPtr< const FEdGraphSchemaActio...,
    const FEdGraphPinType& PinType
)

Returns true if the schema supports the pin type through the schema action

Public function Virtual Const

bool

 

SupportsPinTypeContainer

(
    TWeakPtr< const FEdGraphSchemaActio...,
    const FEdGraphPinType& PinType,
    const EPinContainerType& Container...
)

Returns true if the schema supports the pin type through the schema action

Public function Virtual Const

bool

 

TryCreateConnection

(
    UEdGraphPin* A,
    UEdGraphPin* B
)

Try to make a connection between two pins.

Public function Virtual Const

bool

 

TryDeleteGraph

(
    UEdGraph* GraphToDelete
)

Try to delete the graph through the schema, return true if successful

Public function Virtual Const

bool

 

TryRenameGraph

(
    UEdGraph* GraphToRename,
    const FName& InNewName
)

Try to rename a graph through the schema, return true if successful

Public function Virtual Const

void

 

TrySetDefaultObject

(
    UEdGraphPin& Pin,
    UObject* NewDefaultObject,
    bool bMarkAsModified
)

Sets the object to the specified pin

Public function Virtual Const

void

 

TrySetDefaultText

(
    UEdGraphPin& InPin,
    const FText& InNewDefaultText,
    bool bMarkAsModified
)

Sets the text to the specified pin

Public function Virtual Const

void

 

TrySetDefaultValue

(
    UEdGraphPin& Pin,
    const FString& NewDefaultValue,
    bool bMarkAsModified
)

Sets the string to the specified pin; even if it is invalid it is still set.

Public function Virtual

FReply

 

TrySetGraphCategory

(
    const UEdGraph* InGraph,
    const FText& InCategory
)

Tentatively sets the category for a given graph

Constants

Name

Description

GraphName_ControlRig

Name constants