Navigation
API > API/Plugins > API/Plugins/PCG
Inheritance Hierarchy
- UTickableWorldSubsystem
- UPCGSubsystem
References
| Module | PCG |
| Header | /Engine/Plugins/PCG/Source/PCG/Public/PCGSubsystem.h |
| Include | #include "PCGSubsystem.h" |
Syntax
UCLASS ()
class UPCGSubsystem : public UTickableWorldSubsystem
Remarks
Variables
| Type | Name | Description | |
|---|---|---|---|
| friend | FPCGActorAndComponentMapping | ||
| FPCGOnComponentGenerationCompleteOrCancelled | OnComponentGenerationCompleteOrCancelled |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | BuildLandscapeCache
(
bool bQuiet |
Builds the landscape data cache | |
| void | Cancels everything running | ||
| void | CancelGeneration
(
UPCGGraph* Graph |
Cancels currently running generation on given graph | |
| void | CancelGeneration
(
UPCGComponent* Component |
Cancels currently running generation | |
| void | CleanFromCache
(
const IPCGElement* InElement, |
Cleans up the graph cache on an element basis. InSettings is used for debugging and is optional. | |
| void | CleanupLocalComponentsImmediate
(
UPCGComponent* InOriginalComponent, |
Immediately cleanup the local components associated with an original component. | |
| void | ClearExecutedStacks
(
const UPCGGraph* InContainingGraph |
||
| void | ClearExecutedStacks
(
FPCGStack BeginningWithStack |
||
| void | ClearExecutionMetadata
(
UPCGComponent* InComponent |
||
| void | ClearExecutionMetadata
(
const FPCGStack& BaseStack |
Clear any data collected during execution, normally called prior to generating the component. | |
| void | Clears the landscape data cache | ||
| void | ClearPCGLink
(
UPCGComponent* InComponent, |
Move all resources from sub actors to a new actor | |
| void | Deinitialize () |
||
| void | DeleteSerializedPartitionActors
(
bool bOnlyDeleteUnused, |
Delete serialized partition actors in the level. | |
| void | |||
| void | |||
| void |
DirtyGraph
(
UPCGComponent* Component, |
Immediately dirties the partition actors in the given bounds | |
| APCGPartitionActor * | FindOrCreatePCGPartitionActor
(
const FGuid& Guid, |
Creates a new partition actor if one does not already exist with the same grid size, coords, and generation mode. | |
| APCGWorldActor * | |||
| void | FlushCache () |
Flushes the graph cache completely, use only for debugging | |
| void | ForAllIntersectingPartitionedComponents
(
const FBoxCenterAndExtent& InBounds, |
Get all components in specified bounds. | |
| FPCGTaskId | ForAllOverlappingCells
(
const FBox& InBounds, |
Call InFunc to all partition grid cells matching 'InGridSizes' and overlapping with 'InBounds'. | |
| void | ForAllOverlappingComponentsInHierarchy
(
UPCGComponent* InComponent, |
Traverses the hierarchy associated with the given component and calls InFunc for each overlapping component. | |
| void | ForAllRegisteredIntersectingLocalComponents
(
UPCGComponent* InOriginalComponent, |
Call the InFunc function to all local component registered to the original component within some bounds. | |
| void | ForAllRegisteredLocalComponents
(
UPCGComponent* InOriginalComponent, |
Call the InFunc function to all local component registered to the original component. Thread safe | |
| UPCGSubsystem * | Returns PIE world if it is active, otherwise returns editor world. | ||
| TArray< UPCGComponent * > | GetAllIntersectingComponents
(
const FBoxCenterAndExtent& InBounds |
Gather all the PCG components within some bounds. | |
| TSet< UPCGComponent * > | |||
| TSet< UPCGComponent * > | |||
| TArray< FPCGStack > | GetExecutedStacks
(
const UPCGComponent* InComponent, |
Get a list of stacks that were executed during the last execution. | |
| FPCGGenSourceManager * | |||
| uint32 | GetGraphCacheEntryCount
(
IPCGElement* InElement |
Returns how many times InElement is present in the cache. | |
| FPCGGraphCompiler * | Returns the graph compiler so we can figure out task info in the profiler view | ||
| UPCGSubsystem * | GetInstance
(
UWorld* World |
Will return the subsystem from the World if it exists and if it is initialized | |
| UPCGLandscapeCache * | |||
| UPCGComponent * | GetLocalComponent
(
uint32 GridSize, |
Retrieves a local component using grid size and grid coordinates, returns nullptr if no such component found. | |
| const FPCGNodeVisualLogs & | Get graph warnings and errors for all nodes. | ||
| FPCGNodeVisualLogs & | |||
| bool | GetOutputData
(
FPCGTaskId InTaskId, |
Gets the output data for a given task | |
| int32 | Returns current quality level between Low (0) and Cinematic (4). | ||
| APCGWorldActor * | |||
| APCGPartitionActor * | GetRegisteredPCGPartitionActor
(
uint32 GridSize, |
Retrieves a registered partition actor using grid size and grid coordinates, returns nullptr if no such partition actor is found. | |
| bool | GetStackContext
(
const UPCGComponent* InComponent, |
Get the execution stack information for the given component. | |
| TStatId | GetStatId () |
||
| UPCGSubsystem * | To be used when a PCG component can not have a world anymore, to unregister itself. | ||
| ETickableTickType | |||
| bool | Returns true if any task is scheduled or executing for any graph | ||
| bool | True if graph cache debugging is enabled. | ||
| bool | IsGraphCurrentlyExecuting
(
UPCGGraph* Graph |
Returns true if there are any tasks for this graph currently scheduled or executing. | |
| bool | Subsystem must not be used without this condition being true. | ||
| bool | |||
| void | LogAbnormalComponentStates
(
bool bGroupByState |
||
| void | NotifyGraphChanged
(
UPCGGraph* InGraph, |
Propagate to the graph compiler graph changes | |
| void | Notify that we exited the Landscape edit mode. | ||
| void | OnOriginalComponentRegistered
(
UPCGComponent* InComponent |
||
| void | OnOriginalComponentUnregistered
(
UPCGComponent* InComponent |
||
| void | |||
| void | OnScheduleGraph
(
const FPCGStackContext& StackContext |
Called by graph executor when a graph is scheduled. | |
| void | |||
| void | PropagateEditingModeToLocalComponents
(
UPCGComponent* InOriginalComponent, |
Propagates transient state change from an original component to the relevant partition actors | |
| void | RefreshRuntimeGenComponent
(
UPCGComponent* RuntimeComponent, |
Asks the runtime generation scheduler to refresh a given GenerateAtRuntime component. | |
| bool | RegisterOrUpdatePCGComponent
(
UPCGComponent* InComponent, |
Register a new PCG Component or update it, will be added to the octree if it doesn't exists yet. | |
| void | RegisterPartitionActor
(
APCGPartitionActor* InActor, |
Register a new Partition actor, will be added to a map and will query all intersecting volume to bind to them if asked. | |
| void | RegisterPCGWorldActor
(
APCGWorldActor* InActor |
||
| bool | RemapPCGComponent
(
const UPCGComponent* OldComponent, |
In case of BP Actors, we need to remap the old component destroyed by the construction script to the new one. | |
| bool | RemoveAndCopyConstructionScriptSourceComponent
(
AActor* InComponentOwner, |
||
| void | If the partition grid size change, call this to empty the Partition actors map | ||
| FPCGTaskId | ScheduleCleanup
(
UPCGComponent* PCGComponent, |
Schedule cleanup(owner->graph). | |
| FPCGTaskId | ScheduleComponent
(
UPCGComponent* PCGComponent, |
Schedule graph(owner->graph) | |
| FPCGTaskId | ScheduleGeneric
(
TFunction< bool()> InOperation, |
General job scheduling | |
| FPCGTaskId | ScheduleGeneric
(
TFunction< bool()> InOperation, |
General job scheduling | |
| FPCGTaskId | ScheduleGenericWithContext
(
TFunction< bool(FPCGContext*)> InOperation, |
General job scheduling with context | |
| FPCGTaskId | ScheduleGenericWithContext
(
TFunction< bool(FPCGContext*)> InOperation, |
General job scheduling with context | |
| FPCGTaskId | ScheduleGraph
(
UPCGComponent* SourceComponent, |
Schedule graph (used internally for dynamic subgraph execution) | |
| FPCGTaskId | ScheduleGraph
(
UPCGGraph* Graph, |
Schedule graph (used internally for dynamic subgraph execution) | |
| FPCGTaskId | ScheduleRefresh
(
UPCGComponent* SourceComponent, |
Schedule refresh on the current or next frame | |
| void | SetConstructionScriptSourceComponent
(
UPCGComponent* InComponent |
||
| void | Tick
(
float DeltaSeconds |
Need UpdateStreamingState? | |
| void | UnregisterPartitionActor
(
APCGPartitionActor* InActor |
Unregister a Partition actor, will be removed from the map and remove itself to all intersecting volumes. | |
| void | UnregisterPCGComponent
(
UPCGComponent* InComponent, |
Unregister a PCG Component, will be removed from the octree. | |
| void | UnregisterPCGWorldActor
(
APCGWorldActor* InActor |
||
| void | UpdateComponentTracking
(
UPCGComponent* InComponent, |
Update the tracking on a given component. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EOperation |
Typedefs
| Name | Description |
|---|---|
| FConstructionScriptSourceComponents |