Navigation
API > API/Plugins > API/Plugins/PCG
| Name | UPCGGraph |
| Type | class |
| Header File | /Engine/Plugins/PCG/Source/PCG/Public/PCGGraph.h |
| Include Path | #include "PCGGraph.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType, ClassGroup=(Procedural), HideCategories=(Object))
class UPCGGraph : public UPCGGraphInterface
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UPCGGraphInterface → UPCGGraph
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UPCGGraph
(
const FObjectInitializer& ObjectInitializer |
PCGGraph.h |
Structs
| Name | Remarks |
|---|---|
| FGridInfo |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FComputeGraphInstanceKey | TPair< uint32, int32 > | PCGGraph.h | |
| FComputeGraphInstancePool | TMap< FComputeGraphInstanceKey, TArray< TSharedPtr< FComputeGraphInstance > > > | PCGGraph.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bIgnoreLandscapeTracking | bool | Marks the graph to be not refreshed automatically when the landscape changes, even if it is used. | PCGGraph.h |
|
| bIsStandaloneGraph | bool | When enabled, this graph can be executed outside of the world using an editor execution source. | PCGGraph.h |
|
| bLandscapeUsesMetadata | bool | PCGGraph.h |
|
|
| Category | FText | PCGGraph.h |
|
|
| Description | FText | PCGGraph.h |
|
|
| GenerationRadii | FPCGRuntimeGenerationRadii | PCGGraph.h |
|
|
| GraphCustomization | FPCGGraphEditorCustomization | PCGGraph.h |
|
|
| ToolData | FPCGGraphToolData | Contains the data relevant for PCG Editor Mode usage. | PCGGraph.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllComputeGraphInstances | FComputeGraphInstancePool | Used to track all valid compute graph instances that are alive for this graph. | PCGGraph.h | |
| AvailableComputeGraphInstances | FComputeGraphInstancePool | Pool of compute graph instances available for use. | PCGGraph.h | |
| bDelayedChangeNotification | bool | PCGGraph.h | ||
| bIsInspecting | bool | PCGGraph.h | ||
| bIsNotifying | bool | PCGGraph.h | ||
| bUserPausedNotificationsInGraphEditor | bool | PCGGraph.h | ||
| DelayedChangeType | EPCGChangeType | PCGGraph.h | ||
| GraphChangeNotificationsDisableCounter | int32 | PCGGraph.h | ||
| InspectedStack | FPCGStack | PCGGraph.h | ||
| PreviousPropertyBag | TObjectPtr< const UPropertyBag > | Keep track of the previous PropertyBag, to see if we had a change in the number of properties, or if it is a rename/move. | PCGGraph.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Adds a directed edge in the graph. Returns the "To" node for easy chaining | PCGGraph.h |
|
|
bool AddLabeledEdge
(
UPCGNode* From, |
Creates an edge between two nodes/pins based on the labels. | PCGGraph.h | |
| PCGGraph.h | |||
UPCGNode * AddNode
(
UPCGSettingsInterface* InSettings |
Creates a node using the given settings interface. | PCGGraph.h | |
UPCGNode * AddNodeCopy
(
const UPCGSettings* InSettings, |
Creates a node and copies the input settings. Returns the created node. | PCGGraph.h |
|
UPCGNode * AddNodeInstance
(
UPCGSettings* InSettings |
Creates a node containing an instance to the given settings. Returns the created node. | PCGGraph.h |
|
UPCGNode * AddNodeOfType
(
TSubclassOf< class UPCGSettings > InSettingsClass, |
Creates a default node based on the settings class wanted. Returns the newly created node. | PCGGraph.h |
|
UPCGNode * AddNodeOfType
(
T*& DefaultNodeSettings |
PCGGraph.h | ||
| PCGGraph.h | |||
EPropertyBagAlterationResult AddUserParameters
(
const TArray< FPropertyBagPropertyDesc >& InDescs, |
Add new user parameters using an array of descriptors. | PCGGraph.h | |
| Returns true if the current graph contains a subgraph node using statically the specified graph, recursively. | PCGGraph.h | ||
| Returns true if the current graph contains directly the specified node. | PCGGraph.h | ||
bool DebugFlagAppliesToIndividualComponents() |
PCGGraph.h | ||
void DisableInspection() |
PCGGraph.h | ||
void DisableNotificationsForEditor() |
PCGGraph.h | ||
void EnableInspection
(
const FPCGStack& InInspectedStack |
PCGGraph.h | ||
void EnableNotificationsForEditor() |
PCGGraph.h | ||
UPCGNode * FindNodeByTitleName
(
FName NodeTitle, |
Returns the first node that matches the given name in the graph, if any. | PCGGraph.h | |
TArray< UPCGNode * > FindNodesWithSettings
(
const TSubclassOf< UPCGSettingsInterface > InSettingsClass, |
PCGGraph.h | ||
UPCGNode * FindNodeWithSettings
(
const UPCGSettingsInterface* InSettings, |
Returns the node with the given settings in the graph, if any | PCGGraph.h | |
void ForceNotificationForEditor
(
EPCGChangeType ChangeType |
PCGGraph.h |
|
|
bool ForEachNode
(
TFunctionRef< bool(UPCGNode*)> Action |
Calls the lambda on every node in the graph or until the Action call returns false | PCGGraph.h | |
bool ForEachNodeRecursively
(
TFunctionRef< bool(UPCGNode*)> Action |
Calls the lambda on every node (going through subgraphs too) or until the Action call returns false | PCGGraph.h | |
const TArray< FPCGGraphCommentNodeData > & GetCommentNodes() |
PCGGraph.h | ||
TObjectPtr< UPCGGraphCompilationData > GetCookedCompilationData () |
PCGGraph.h | ||
const TObjectPtr< UPCGGraphCompilationData > GetCookedCompilationData () |
PCGGraph.h | ||
EPCGHiGenGrid GetDefaultGrid() |
Default grid size for generation. For hierarchical generation, nodes outside of grid size graph ranges will generate on this grid. | PCGGraph.h | |
uint32 GetDefaultGridSize() |
PCGGraph.h | ||
const TArray< TObjectPtr< UObject > > & GetExtraEditorNodes() |
PCGGraph.h | ||
double GetGridCleanupRadiusFromGrid
(
EPCGHiGenGrid Grid |
Gets cleanup radius from grid, considering grid exponential. | PCGGraph.h | |
uint32 GetGridExponential() |
Returns exponential on grid size, which represents a shift in the grid | PCGGraph.h | |
double GetGridGenerationRadiusFromGrid
(
EPCGHiGenGrid Grid |
Gets generation radius from grid, considering grid exponential. | PCGGraph.h | |
void GetGridSizes
(
PCGHiGenGrid::FSizeArray& OutGridSizes, |
Determine the relevant grid sizes by inspecting all HiGenGridSize nodes. | PCGGraph.h | |
UPCGNode * GetInputNode() |
Returns the graph input node | PCGGraph.h |
|
const FPCGStack & GetInspectedStack() |
PCGGraph.h | ||
uint32 GetNodeGenerationGridSize
(
const UPCGNode* InNode, |
Size of grid on which this node should be executed. | PCGGraph.h | |
| PCGGraph.h | |||
UPCGNode * GetOutputNode() |
Returns the graph output node | PCGGraph.h |
|
void GetParentGridSizes
(
const uint32 InChildGridSize, |
Returns all parent grid sizes for the given child grid size, calculated by inspecting nodes. | PCGGraph.h | |
void GetTrackedActorKeysToSettings
(
FPCGSelectionKeyToSettingsMap& OutKeysToSettings, |
PCGGraph.h | ||
FPCGSelectionKeyToSettingsMap GetTrackedActorKeysToSettings () |
PCGGraph.h | ||
bool HasDefaultConstructedInputs() |
PCGGraph.h | ||
bool IsHierarchicalGenerationEnabled() |
PCGGraph.h | ||
bool IsInspecting() |
PCGGraph.h | ||
bool NotificationsForEditorArePausedByUser() |
PCGGraph.h | ||
void OnPCGQualityLevelChanged() |
PCGGraph.h | ||
void PostNodeUndo
(
UPCGNode* InPCGNode |
PCGGraph.h | ||
void PreNodeUndo
(
UPCGNode* InPCGNode |
PCGGraph.h | ||
bool PrimeGraphCompilationCache() |
Instruct the graph compiler to cache the relevant permutations of this graph. | PCGGraph.h | |
bool Recompile() |
Trigger a recompilation of the relevant permutations of this graph and check for change in the compiled tasks. | PCGGraph.h | |
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 | PCGGraph.h | |
void RemoveCommentNode
(
const FGuid& InNodeGUID |
PCGGraph.h | ||
| Removes an edge in the graph. Returns true if an edge was removed. | PCGGraph.h |
|
|
void RemoveExtraEditorNode
(
const UObject* InNode |
PCGGraph.h | ||
| PCGGraph.h | |||
void RemoveNode
(
UPCGNode* InNode |
Removes a node from the graph. | PCGGraph.h |
|
| Bulk removal of nodes, to avoid notifying the world everytime. | PCGGraph.h |
|
|
| PCGGraph.h | |||
TSharedPtr< FComputeGraphInstance > RetrieveComputeGraphInstanceFromPool
(
const FComputeGraphInstanceKey& InKey, |
Attempt to retrieve a pooled compute graph instance for the given key. | PCGGraph.h | |
void ReturnComputeGraphInstanceToPool
(
const FComputeGraphInstanceKey& InKey, |
Places given compute graph instance into pool. No-ops if pooling is disabled. | PCGGraph.h | |
virtual bool SanitizeNodeTitle
(
FName& InOutTitle, |
Overridable function for child classes to have a graph-wide node title sanitization when the title of a node changes. | PCGGraph.h | |
void SetCommentNodes
(
TArray< FPCGGraphCommentNodeData > InNodes |
PCGGraph.h | ||
void SetExtraEditorNodes
(
const TArray< TObjectPtr< const UObject > >& InNodes |
PCGGraph.h | ||
virtual bool ShouldDisplayDebuggingProperties() |
Can be overriden by child class to disable debug globally on all settings. | PCGGraph.h | |
void ToggleUserPausedNotificationsForEditor() |
PCGGraph.h | ||
void UpdateUserParametersStruct
(
TFunctionRef< void(FInstancedPropertyBag&)> Callback |
Will call the callback function with a mutable property bag and will trigger the updates when it's done. | PCGGraph.h | |
bool Use2DGrid() |
PCGGraph.h |
Overridden from UPCGGraphInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| ~End UObject interface ~Begin UPCGGraphInterface interface | PCGGraph.h | ||
| PCGGraph.h | |||
virtual TOptional< FPCGGraphToolData > GetGraphToolData() |
PCGGraph.h | ||
virtual const FInstancedPropertyBag * GetUserParametersStruct() |
PCGGraph.h | ||
virtual void OnGraphParametersChanged
(
EPCGGraphParameterEvent InChangeType, |
PCGGraph.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
PCGGraph.h | ||
virtual bool IsEditorOnly() |
PCGGraph.h | ||
virtual void PostEditChangeChainProperty
(
FPropertyChangedChainEvent& PropertyChangedEvent |
PCGGraph.h | ||
virtual void PostEditUndo() |
PCGGraph.h | ||
virtual void PostLoad() |
~Begin UObject interface | PCGGraph.h | |
virtual void PreEditChange
(
FProperty* InProperty |
PCGGraph.h | ||
virtual void PreSave
(
FObjectPreSaveContext ObjectSaveContext |
PCGGraph.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddNodes_Internal
(
TArrayView< UPCGNode* > InNodes |
PCGGraph.h | ||
void CacheGridSizesInternalNoLock() |
PCGGraph.h | ||
uint32 CalculateNodeGridSizeRecursive_Unsafe
(
const UPCGNode* InNode, |
Calculates node grid size. Not thread safe, must be called within write lock. | PCGGraph.h | |
PCGHiGenGrid::FSizeArray CalculateNodeGridSizesRecursiveNoLock
(
const UPCGNode* InNode, |
Calculates all parent grid sizes that a given node depends on. | PCGGraph.h | |
virtual bool CanToggleStandaloneGraph() |
PCGGraph.h | ||
bool ForEachNodeRecursively_Internal
(
TFunctionRef< bool(UPCGNode*)> Action, |
PCGGraph.h | ||
bool IsEditorOnly_Internal() |
PCGGraph.h | ||
void OnNodeAdded
(
UPCGNode* InNode, |
Internal function to react to add/remove nodes. | PCGGraph.h | |
void OnNodeRemoved
(
UPCGNode* InNode, |
PCGGraph.h | ||
void OnNodesAdded
(
TArrayView< UPCGNode* > InNodes, |
PCGGraph.h | ||
void OnNodesRemoved
(
TArrayView< UPCGNode* > InNodes, |
PCGGraph.h | ||
void RemoveNodes_Internal
(
TArrayView< UPCGNode* > InNodes |
PCGGraph.h | ||
void SetHiddenFlagInputNode
(
bool bHidden |
Mark the input node hidden/not hidden. | PCGGraph.h | |
void SetHiddenFlagOutputNode
(
bool bHidden |
Mark the output node hidden/not hidden. | PCGGraph.h | |
virtual bool ShowGraphCustomization() |
PCGGraph.h | ||
virtual bool SupportHierarchicalGeneration() |
PCGGraph.h | ||
| PCGGraph.h |
|
||
bool UserParametersIsPinTypeAccepted
(
FEdGraphPinType InPinType, |
PCGGraph.h |
|
Overridden from UPCGGraphInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FInstancedPropertyBag * GetMutableUserParametersStruct() |
PCGGraph.h | ||
virtual bool IsTemplatePropertyEnabled() |
PCGGraph.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void AddReferencedObjects
(
UObject* InThis, |
PCGGraph.h | ||
static void DeclareConstructClasses
(
TArray< FTopLevelAssetPath >& OutConstructClasses, |
PCGGraph.h |