FGraphCompilerContext

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

KismetCompiler

Header

/Engine/Source/Editor/KismetCompiler/Public/EdGraphCompilerUtilities.h

Include

#include "EdGraphCompilerUtilities.h"

Syntax

class FGraphCompilerContext

Variables

Name Description

Public variable

FCompilerResult...

 

MessageLog

Compiler message log (errors, warnings, notes)

Constructors

Name Description

Protected function

FGraphCompilerContext

(
    FCompilerResultsLog& InMessageLog
)

Functions

Name Description

Protected function Virtual Const

bool

 

CanIgnoreNode

(
    const UEdGraphNode* Node
)

Can this node be ignored for further processing?

Protected function Const

int32

 

CountIncomingEdges

(
    const UEdGraphNode* Node
)

Counts the number of incoming edges this node has (along all input pins)

Protected function Const

void

 

CreateExecutionSchedule

(
    const TArray< UEdGraphNode* > ...,
    TArray< UEdGraphNode* >& Line...
)

Performs a topological sort on the graph of nodes passed in (which is expected to form a DAG), scheduling them.

Protected function Const

UEdGraphNode...

 

FindNodeByClass

(
    const UEdGraph* Graph,
    TSubclassOf< UEdGraphNode > NodeCla...,
    bool bExpectedUnique
)

Scans a graph for a node of the specified class.

Protected function Virtual Const

bool

 

PinIsImportantForDependancies

(
    const UEdGraphPin* Pin
)

Does this pin potentially participate in data dependencies?

Protected function Virtual

void

 

PruneIsolatedNodes

(
    const TArray< UEdGraphNode* > ...,
    TArray< UEdGraphNode* >& Grap...
)

Prunes any nodes that weren't visited from the graph, printing out a warning

Protected function Virtual Const

bool

 

ShouldForceKeepNode

(
    const UEdGraphNode* Node
)

Should this node be kept even if it's not reached?

Protected function Const

bool

 

ValidateGraphIsWellFormed

(
    UEdGraph* Graph
)

Performs standard validation on the graph (outputs point to inputs, no more than one connection to each input, types match on both ends, etc...)

Protected function Virtual Const

void

 

ValidateLink

(
    const UEdGraphPin* PinA,
    const UEdGraphPin* PinB
)

Validates that the interconnection between two pins is schema compatible

Protected function Virtual Const

void

 

ValidateNode

(
    const UEdGraphNode* Node
)

Validates that the node is schema compatible

Protected function Virtual Const

void

 

ValidatePin

(
    const UEdGraphPin* Pin
)

Validate that the wiring for a single pin is schema compatible