Navigation
API > API/Plugins > API/Plugins/PCG
Inheritance Hierarchy
- IPCGElement
- FPCGAddAttributeElement
- FPCGAddTagElement
- FPCGAttributeCastElement
- FPCGAttributeFilterElementBase
- FPCGAttributeFilterElement
- FPCGAttributeFilterRangeElement
- FPCGAttributeGetFromIndexElement
- FPCGAttributeGetFromPointIndexElement
- FPCGAttributeReduceElement
- FPCGAttributeRemoveDuplicatesElement
- FPCGAttributeSelectElement
- FPCGBooleanSelectElement
- FPCGBranchElement
- FPCGCleanSplineElement
- FPCGCollapseElement
- FPCGCombinePointsElement
- FPCGConvertToAttributeSetElement
- FPCGConvexHull2DElement
- FPCGCopyAttributesElement
- FPCGCopyPointsElement
- FPCGCreateAttributeElement
- FPCGCreatePointsElement
- FPCGCreatePointsGridElement
- FPCGCreatePointsSphereElement
- FPCGCreateSplineElement
- FPCGCreateSurfaceFromSplineElement
- FPCGCreateTargetActorElement
- FPCGCullPointsOutsideActorBoundsElement
- FPCGDataNumElement
- FPCGDebugElement
- FPCGDeleteAttributesElement
- FPCGDeleteTagsElement
- FPCGDensityFilterElement
- FPCGDifferenceElement
- FPCGDistanceElement
- FPCGDuplicatePointElement
- FPCGElevationIsolinesElement
- FPCGExecuteBlueprintElement
- FPCGExternalDataElement
- FPCGLoadAlembicElement
- FPCGLoadDataTableElement
- FPCGFilterByAttributeElement
- FPCGFilterByIndexElement
- FPCGFilterByTagElement
- FPCGFilterByTypeElement
- FPCGFilterElementsByIndexElement
- FPCGGatherElement
- FPCGGetAttributesElement
- FPCGGetBoundsElement
- FPCGGetLoopIndexElement
- FPCGGetTagsElement
- FPCGHiGenGridSizeElement
- FPCGIndirectionElement
- FPCGInnerIntersectionElement
- FPCGInputForwardingElement
- FPCGLoopInputForwardingElement
- FPCGInputOutputElement
- FPCGMakeConcreteElement
- FPCGMergeAttributesElement
- FPCGMergeElement
- FPCGMeshSamplerElement
- FPCGMetadataPartitionElement
- FPCGMetadataRenameElement
- FPCGMultiSelectElement
- FPCGNumberOfElementsBaseElement
- FPCGNumberOfEntriesElement
- FPCGNumberOfPointsElement
- FPCGOuterIntersectionElement
- FPCGPointMatchAndSetElement
- FPCGPointNeighborhoodElement
- FPCGPrimitiveCrossSectionElement
- FPCGPrintElement
- FPCGPrintGrammarElement
- FPCGProjectionElement
- FPCGQualityBranchElement
- FPCGQualitySelectElement
- FPCGRandomChoiceElement
- FPCGReplaceTagsElement
- FPCGRerouteElement
- FPCGReverseSplineElement
- FPCGSampleTextureElement
- FPCGSanityCheckPointDataElement
- FPCGSaveDataAssetElement
- FPCGSaveDynamicMeshToAssetElement
- FPCGSelectPointsElement
- FPCGSortAttributesElement
- FPCGSortTagsElement
- FPCGSpatialNoise
- FPCGSpawnDynamicMeshElement
- FPCGSpawnSplineElement
- FPCGSplineSamplerElement
- FPCGSplineToSegmentElement
- FPCGSplitPointsElement
- FPCGStaticMeshSpawnerElement
- FPCGSubdivisionBaseElement
- FPCGDuplicateCrossSectionsElement
- FPCGSegmentSubdivisionElement
- FPCGSelectGrammarElement
- FPCGSubdivideSplineElement
- FPCGSubgraphElement
- FPCGLoopElement
- FPCGSpawnActorElement
- FPCGSwitchElement
- FPCGTagsToAttributeSetElement
- FPCGTextureSamplerElement
- FPCGTransformPointsElement
- FPCGTrivialElement
- FPCGUnionElement
- FPCGUserParameterGetElement
- FPCGVisualizeAttribute
- FPCGWorldRayHitQueryElement
- FPCGWorldVolumetricQueryElement
- IPCGDynamicMeshBaseElement
- FPCGAppendMeshesFromPointsElement
- FPCGBooleanOperationElement
- FPCGCreateEmptyDynamicMeshElement
- FPCGDynamicMeshTransformElement
- FPCGMergeDynamicMeshesElement
- FPCGStaticMeshToDynamicMeshElement
- IPCGElementWithCustomContext
- FPCGAddComponentElement
- FPCGApplyOnObjectElement
- FPCGAttributeNoiseElement
- FPCGBoundsFromMeshElement
- FPCGCreateCollisionDataElement
- FPCGDataFromActorElement
- FPCGGetLandscapeDataElement
- FPCGGetWaterSplineElement
- FPCGDataTableRowToParamData
- FPCGGetActorPropertyElement
- FPCGGetPropertyFromObjectPathElement
- FPCGLoadDataAssetElement
- FPCGPointFromMeshElement
- FPCGSpawnSplineMeshElement
- FPCGWaitLandscapeReadyElement
- FPCGWriteToNiagaraDataChannelElement
- TPCGTimeSlicedElementBase
- FPCGAttractElement
- FPCGBlurElement
- FPCGClusterElement
- FPCGCollapsePointsElement
- FPCGMatchAndSetAttributesElement
- FPCGMetadataElementBase
- FPCGAttributeRemapElement
- FPCGMetadataBitwiseElement
- FPCGMetadataBooleanElement
- FPCGMetadataBreakTransformElement
- FPCGMetadataBreakVectorElement
- FPCGMetadataCompareElement
- FPCGMetadataMakeRotatorElement
- FPCGMetadataMakeTransformElement
- FPCGMetadataMakeVectorElement
- FPCGMetadataMathsElement
- FPCGMetadataRotatorElement
- FPCGMetadataStringOpElement
- FPCGMetadataTransformElement
- FPCGMetadataTrigElement
- FPCGMetadataVectorElement
- FPCGParseStringElement
- FPCGPathfindingElement
- FPCGPointOperationElementBase
- FPCGApplyScaleToBoundsElement
- FPCGBoundsModifier
- FPCGDensityRemapElement
- FPCGMutateSeedElement
- FPCGNormalToDensityElement
- FPCGPointExtentsModifier
- FPCGResetPointCenterElement
- FPCGSelfPruningElement
- FPCGSurfaceSamplerElement
- FPCGVolumeSamplerElement
- FPCGWorldRaycastElement
References
| Module | PCG |
| Header | /Engine/Plugins/PCG/Source/PCG/Public/PCGElement.h |
| Include | #include "PCGElement.h" |
Syntax
class IPCGElement
Remarks
Base class for the processing bit of a PCG node/settings
Destructors
| Type | Name | Description | |
|---|---|---|---|
~IPCGElement () |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | Abort
(
FPCGContext* Context |
Public function called when an element is cancelled, passing its current context if any. | |
| void | AbortInternal
(
FPCGContext* Context |
This function will be called once and only once if the element is aborted. | |
| bool | CanExecuteOnlyOnMainThread
(
FPCGContext* Context |
Returns true if the element, in its current phase can be executed only from the main thread | |
| FPCGContext * | Let each element optionally act as a concrete factory for its own context | ||
| void | DebugDisplay
(
FPCGContext* Context |
Note: must be called from the main thread. | |
| void | DisabledPassThroughData
(
FPCGContext* Context |
Passes through data when the element is Disabled. | |
| bool | Execute
(
FPCGContext* Context |
Public function that executes the element on the appropriately created context. | |
| bool | ExecuteInternal
(
FPCGContext* Context |
Core execution method for the given element. Will be called until it returns true. | |
| EPCGElementExecutionLoopMode | ExecutionLoopMode
(
const UPCGSettings* Settings |
Describes internal execution behavior, which is used to break down inputs/outputs for caching purposes. | |
| void | GetDependenciesCrc
(
const FPCGDataCollection& InInput, |
Calculate a Crc that provides a receipt for the input data that can be paired with output data from the cache. | |
| FPCGContext * | Initialize
(
const FPCGDataCollection& InputData, |
Creates a custom context object paired to this element | |
| bool | IsCacheable
(
const UPCGSettings* InSettings |
Returns true if the node can be cached (e.g. does not create artifacts & does not depend on untracked data | |
| bool | IsCacheableInstance
(
const UPCGSettingsInterface* InSettingsInterface |
Returns true if the node can be cached - also checks for instance flags, if any. | |
| bool | Controls whether an element can skip its execution wholly when the input data has the cancelled tag | ||
| bool | Is this element used for dispatching compute graphs. | ||
| bool | Is this element used for marshaling data across higen grids. | ||
| bool | IsPassthrough
(
const UPCGSettings* InSettings |
Used to specify that the element passes through the data without any manipulation - used to correct target pins, etc. | |
| void | PostExecute
(
FPCGContext* Context |
This function will be called once and once only, at the end of an execution | |
| void | PostExecuteInternal
(
FPCGContext* Context |
Core post execute method for the given element. | |
| void | PostExecutePrimaryLoopElement
(
FPCGContext* Context, |
Implements output breakdown for caching purposes, if the ExecutionLoopMode is set to something else than not a loop. | |
| void | PreExecute
(
FPCGContext* Context |
This function will be called once and once only, at the beginning of an execution | |
| void | PreExecutePrimaryLoopElement
(
FPCGContext* Context, |
Implements input breakdown for caching purposes, if the ExecutionLoopMode is set to something else than not a loop. | |
| bool | PrepareDataInternal
(
FPCGContext* Context |
The prepare data phase is one where it is more likely to be able to multithread | |
| EPCGCachingStatus | RetrieveResultsFromCache
(
IPCGGraphCache* Cache, |
Gather input data (pre-context creation) and tries to retrieve matching data from the cache if the element is cacheable. | |
| bool | ShouldComputeFullOutputDataCrc
(
FPCGContext* Context |
Whether to do a 'deep' fine-grained CRC of the output data to pass to downstream nodes. | |
| bool | ShouldLog () |
||
| bool | ShouldVerifyIfOutputsAreUsedMultipleTimes
(
const UPCGSettings* InSettings |
Returns true if the node outputs requires to update the output tagged data to detect if the data is used multiple times. |