Navigation
API > API/Plugins > API/Plugins/PCG
Inheritance Hierarchy
- UObject
- UPCGGraphInterface
- UPCGGraph
References
| Module | PCG |
| Header | /Engine/Plugins/PCG/Source/PCG/Public/PCGGraph.h |
| Include | #include "PCGGraph.h" |
Syntax
UCLASS (BlueprintType, ClassGroup=(Procedural), HideCategories=(Object))
class UPCGGraph : public UPCGGraphInterface
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bDebugFlagAppliesToIndividualComponents | When true the Debug flag in the graph editor will display debug information contextually for the selected debug object. | |
| bool | bExposeToLibrary | ||
| bool | bIsEditorOnly | Sets whether this graph is marked as editor-only; note that the IsEditorOnly call depends on the local graph value and the value in all subgraphs, recursively. | |
| bool | bLandscapeUsesMetadata | ||
| bool | bUseHierarchicalGeneration | ||
| FText | Category | ||
| FText | Description | ||
| TArray< TObjectPtr< UObject > > | ExtraEditorNodes | Extra data to hold information that is useful only in editor (like comments) | |
| FPCGRuntimeGenerationRadii | GenerationRadii | ||
| EPCGHiGenGrid | HiGenGridSize | ||
| TObjectPtr< UPCGNode > | InputNode | Add input/output nodes. | |
| TArray< TObjectPtr< UPCGNode > > | Nodes | ||
| TMap< const UPCGNode *, uint32 > | NodeToGridSize | Execution grid size for nodes. | |
| FRWLock | NodeToGridSizeLock | ||
| TObjectPtr< UPCGNode > | OutputNode | ||
| TObjectPtr< UPCGEditorGraph > | PCGEditorGraph | Editor graph created from PCG Editor but owned by this, reference is collected using AddReferencedObjects. | |
| FInstancedPropertyBag | UserParameters | Parameters. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UPCGGraph
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| UPCGNode * | Adds a directed edge in the graph. Returns the "To" node for easy chaining | ||
| bool | AddLabeledEdge
(
UPCGNode* From, |
Creates an edge between two nodes/pins based on the labels. | |
| void | |||
| UPCGNode * | AddNode
(
UPCGSettingsInterface* InSettings |
Creates a node using the given settings interface. | |
| UPCGNode * | AddNodeCopy
(
const UPCGSettings* InSettings, |
Creates a node and copies the input settings. Returns the created node. | |
| UPCGNode * | AddNodeInstance
(
UPCGSettings* InSettings |
Creates a node containing an instance to the given settings. Returns the created node. | |
| UPCGNode * | AddNodeOfType
(
TSubclassOf< class UPCGSettings > InSettingsClass, |
Creates a default node based on the settings class wanted. Returns the newly created node. | |
| UPCGNode * | AddNodeOfType
(
T*& DefaultNodeSettings |
||
| void | |||
| void | AddNodes_Internal
(
TArrayView< UPCGNode* > InNodes |
||
| void | AddReferencedObjects
(
UObject* InThis, |
||
| void | AddUserParameters
(
const TArray< FPropertyBagPropertyDesc >& InDescs, |
Add new user parameters using an array of descriptors. | |
| void | BeginDestroy () |
||
| uint32 | CalculateNodeGridSizeRecursive_Unsafe
(
const UPCGNode* InNode, |
Calculates node grid size. Not thread safe, must be called within write lock. | |
| bool | Returns true if the current graph contains a subgraph node using statically the specified graph, recursively. | ||
| bool | Returns true if the current graph contains directly the specified node. | ||
| bool | |||
| void | DeclareConstructClasses
(
TArray< FTopLevelAssetPath >& OutConstructClasses, |
||
| void | |||
| void | |||
| void | EnableInspection
(
const FPCGStack& InInspectedStack |
||
| void | |||
| UPCGNode * | FindNodeWithSettings
(
const UPCGSettingsInterface* InSettings, |
Returns the node with the given settings in the graph, if any | |
| void | ForceNotificationForEditor
(
EPCGChangeType ChangeType |
||
| bool | ForEachNode
(
TFunctionRef< bool(UPCGNode*)> Action |
Calls the lambda on every node in the graph or until the Action call returns false | |
| bool | ForEachNodeRecursively
(
TFunctionRef< bool(UPCGNode*)> Action |
Calls the lambda on every node (going through subgraphs too) or until the Action call returns false | |
| bool | ForEachNodeRecursively_Internal
(
TFunctionRef< bool(UPCGNode*)> Action, |
||
| EPCGHiGenGrid | Default grid size for generation. For hierarchical generation, nodes outside of grid size graph ranges will generate on this grid. | ||
| uint32 | |||
| const TArray< TObjectPtr< UObject > > & | |||
| void | GetGridSizes
(
PCGHiGenGrid::FSizeArray& OutGridSizes, |
Determine the relevant grid sizes by inspecting all HiGenGridSize nodes. | |
| UPCGNode * | GetInputNode () |
Returns the graph input node | |
| uint32 | GetNodeGenerationGridSize
(
const UPCGNode* InNode, |
Size of grid on which this node should be executed. | |
| const TArray< UPCGNode * > & | GetNodes () |
||
| UPCGNode * | Returns the graph output node | ||
| void | GetTrackedActorKeysToSettings
(
FPCGSelectionKeyToSettingsMap& OutKeysToSettings, |
||
| FPCGSelectionKeyToSettingsMap | |||
| bool | IsEditorOnly () |
||
| bool | |||
| bool | |||
| bool | IsInspecting () |
||
| bool | |||
| void | OnNodeAdded
(
UPCGNode* InNode, |
Internal function to react to add/remove nodes. | |
| void | OnNodeRemoved
(
UPCGNode* InNode, |
||
| void | OnNodesAdded
(
TArrayView< UPCGNode* > InNodes, |
||
| void | OnNodesRemoved
(
TArrayView< UPCGNode* > InNodes, |
||
| void | |||
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
||
| void | PostLoad () |
~Begin UObject interface | |
| void | PostNodeUndo
(
UPCGNode* InPCGNode |
||
| void | PreEditChange
(
FProperty* InProperty |
||
| void | PreNodeUndo
(
UPCGNode* InPCGNode |
||
| bool | Instruct the graph compiler to cache the relevant permutations of this graph. | ||
| bool | Recompile () |
Trigger a recompilation of the relevant permutations of this graph and check for change in the compiled tasks. | |
| TObjectPtr< UPCGNode > | ReconstructNewNode
(
const UPCGNode* InNode |
Duplicate a given node by creating a new node with the same settings and properties, but without any edges and add it to the graph | |
| bool | RemoveEdge
(
UPCGNode* From, |
Removes an edge in the graph. Returns true if an edge was removed. | |
| void | RemoveExtraEditorNode
(
const UObject* InNode |
||
| bool | RemoveInboundEdges
(
UPCGNode* InNode, |
||
| void | RemoveNode
(
UPCGNode* InNode |
Removes a node from the graph. | |
| void | RemoveNodes
(
TArray< UPCGNode* >& InNodes |
Bulk removal of nodes, to avoid notifying the world everytime. | |
| void | RemoveNodes_Internal
(
TArrayView< UPCGNode* > InNodes |
||
| bool | RemoveOutboundEdges
(
UPCGNode* InNode, |
||
| void | SetExtraEditorNodes
(
const TArray< TObjectPtr< const UObject > >& InNodes |
||
| void | |||
| bool | UserParametersCanRemoveProperty
(
FGuid InPropertyID, |
||
| bool | UserParametersIsPinTypeAccepted
(
FEdGraphPinType InPinType, |
Overridden from UPCGGraphInterface
| Type | Name | Description | |
|---|---|---|---|
| const UPCGGraph * | GetGraph () |
||
| UPCGGraph * | GetGraph () |
~End UObject interface ~Begin UPCGGraphInterface interface | |
| FInstancedPropertyBag * | |||
| const FInstancedPropertyBag * | |||
| void | OnGraphParametersChanged
(
EPCGGraphParameterEvent InChangeType, |