Skip to content

Commit

Permalink
Merge pull request #76 from Nebukam/custom-graph-builder
Browse files Browse the repository at this point in the history
Custom graph builder
  • Loading branch information
Nebukam authored Oct 18, 2024
2 parents d49f191 + 89b8384 commit 16ee96b
Show file tree
Hide file tree
Showing 81 changed files with 657 additions and 171 deletions.
42 changes: 21 additions & 21 deletions Config/DefaultPCGExtendedToolkit.ini
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,24 @@
+StructRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExHeuristicConfigDirection",NewName="/Script/PCGExtendedToolkit.PCGExHeuristicConfigAzimuth")
+ClassRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExHeuristicDirection",NewName="/Script/PCGExtendedToolkit.PCGExHeuristicAzimuth")
+ClassRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExHeuristicsFactoryDirection",NewName="/Script/PCGExtendedToolkit.PCGExHeuristicsFactoryAzimuth")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExConnectPointsSettings.bPreventStacking",NewName="/Script/PCGExtendedToolkit.PCGExConnectPointsSettings.bPreventCoincidence")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExConnectPointsSettings.StackingPreventionTolerance",NewName="/Script/PCGExtendedToolkit.PCGExConnectPointsSettings.CoincidenceTolerance")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExProbeConfigClosest.bPreventStacking",NewName="/Script/PCGExtendedToolkit.PCGExProbeConfigClosest.bPreventCoincidence")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExProbeConfigClosest.StackingPreventionTolerance",NewName="/Script/PCGExtendedToolkit.PCGExProbeConfigClosest.CoincidencePreventionTolerance")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteCompounded",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteIsPointUnion")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.CompoundedAttributeName",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.IsPointUnionAttributeName")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteCompoundSize",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWritePointUnionSize")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.CompoundSizeAttributeName",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.PointUnionSizeAttributeName")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteIsPointCompound",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteIsPointUnion")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.IsPointCompoundAttributeName",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.IsPointUnionAttributeName")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWritePointCompoundSize",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWritePointUnionSize")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.PointCompoundSizeAttributeName",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.PointUnionSizeAttributeName")
+ClassRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExEdgeRemoveLineTrace",NewName="/Script/PCGExtendedToolkit.PCGExEdgeRefineLineTrace")
+StructRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExAdjacencyFilterConfig",NewName="/Script/PCGExtendedToolkit.PCGExNodeAdjacencyFilterConfig")
+ClassRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExAdjacencyFilterProviderSettings",NewName="/Script/PCGExtendedToolkit.PCGExNodeAdjacencyFilterProviderSettings")
+ClassRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExAdjacencyFilterProviderSettings",NewName="/Script/PCGExtendedToolkit.PCGExNodeAdjacencyFilterProviderSettings")
+StructRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExAdjacencyFilterConfig",NewName="/Script/PCGExtendedToolkit.PCGExNodeAdjacencyFilterConfig")
+ClassRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExNeighborsCountFilterProviderSettings",NewName="/Script/PCGExtendedToolkit.PCGExNodeNeighborsCountFilterProviderSettings")
+StructRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExNeighborsCountFilterConfig",NewName="/Script/PCGExtendedToolkit.PCGExNodeNeighborsCountFilterConfig")
+ClassRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExEdgeRemoveByFilter",NewName="/Script/PCGExtendedToolkit.PCGExEdgeRefineByFilter")
+PropertyRedirects=(OldName="/Script/PCGExtendedToolkit.PCGExMeshCollectionEntry.Descriptor",NewName="/Script/PCGExtendedToolkit.PCGExMeshCollectionEntry.ISMDescriptor")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExConnectPointsSettings.bPreventStacking",NewName="/Script/PCGExtendedToolkit.PCGExConnectPointsSettings.bPreventCoincidence")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExConnectPointsSettings.StackingPreventionTolerance",NewName="/Script/PCGExtendedToolkit.PCGExConnectPointsSettings.CoincidenceTolerance")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExProbeConfigClosest.bPreventStacking",NewName="/Script/PCGExtendedToolkit.PCGExProbeConfigClosest.bPreventCoincidence")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExProbeConfigClosest.StackingPreventionTolerance",NewName="/Script/PCGExtendedToolkit.PCGExProbeConfigClosest.CoincidencePreventionTolerance")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteCompounded",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteIsPointUnion")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.CompoundedAttributeName",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.IsPointUnionAttributeName")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteCompoundSize",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWritePointUnionSize")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.CompoundSizeAttributeName",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.PointUnionSizeAttributeName")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteIsPointCompound",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWriteIsPointUnion")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.IsPointCompoundAttributeName",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.IsPointUnionAttributeName")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWritePointCompoundSize",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.bWritePointUnionSize")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.PointCompoundSizeAttributeName",NewName="/Script/PCGExtendedToolkit.PCGExPointPointIntersectionDetails.PointUnionSizeAttributeName")
+ClassRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExEdgeRemoveLineTrace",NewName="/Script/PCGExtendedToolkit.PCGExEdgeRefineLineTrace")
+StructRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExAdjacencyFilterConfig",NewName="/Script/PCGExtendedToolkit.PCGExNodeAdjacencyFilterConfig")
+ClassRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExAdjacencyFilterProviderSettings",NewName="/Script/PCGExtendedToolkit.PCGExNodeAdjacencyFilterProviderSettings")
+ClassRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExAdjacencyFilterProviderSettings",NewName="/Script/PCGExtendedToolkit.PCGExNodeAdjacencyFilterProviderSettings")
+StructRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExAdjacencyFilterConfig",NewName="/Script/PCGExtendedToolkit.PCGExNodeAdjacencyFilterConfig")
+ClassRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExNeighborsCountFilterProviderSettings",NewName="/Script/PCGExtendedToolkit.PCGExNodeNeighborsCountFilterProviderSettings")
+StructRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExNeighborsCountFilterConfig",NewName="/Script/PCGExtendedToolkit.PCGExNodeNeighborsCountFilterConfig")
+ClassRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExEdgeRemoveByFilter",NewName="/Script/PCGExtendedToolkit.PCGExEdgeRefineByFilter")
+PropertyRedirects = (OldName="/Script/PCGExtendedToolkit.PCGExMeshCollectionEntry.Descriptor",NewName="/Script/PCGExtendedToolkit.PCGExMeshCollectionEntry.ISMDescriptor")
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,4 @@

namespace PCGEx
{

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@ void FPCGExPrimitiveComponentDescriptor::InitFrom(const UPrimitiveComponent* Com
LDMaxDrawDistance = SourceComponent->LDMaxDrawDistance;
CachedMaxDrawDistance = SourceComponent->CachedMaxDrawDistance;
IndirectLightingCacheQuality = SourceComponent->IndirectLightingCacheQuality;
#if PCGEX_ENGINE_VERSION < 505
LightmapType = SourceComponent->LightmapType;
#else
LightmapType = SourceComponent->GetLightmapType();
#endif
HLODBatchingPolicy = SourceComponent->HLODBatchingPolicy;
bEnableAutoLODGeneration = SourceComponent->bEnableAutoLODGeneration;
bNeverDistanceCull = SourceComponent->bNeverDistanceCull;
Expand Down Expand Up @@ -98,7 +102,11 @@ void FPCGExPrimitiveComponentDescriptor::InitComponent(UPrimitiveComponent* InCo
TargetComponent->LDMaxDrawDistance = LDMaxDrawDistance;
TargetComponent->CachedMaxDrawDistance = CachedMaxDrawDistance;
TargetComponent->IndirectLightingCacheQuality = IndirectLightingCacheQuality;
#if PCGEX_ENGINE_VERSION < 505
TargetComponent->LightmapType = LightmapType;
#else
TargetComponent->SetLightmapType(LightmapType);
#endif
TargetComponent->HLODBatchingPolicy = HLODBatchingPolicy;
TargetComponent->bEnableAutoLODGeneration = bEnableAutoLODGeneration;
TargetComponent->bNeverDistanceCull = bNeverDistanceCull;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ namespace PCGExConvexHull
}

PointDataFacade->Write(AsyncManager);
GraphBuilder->OutputEdgesToContext();
GraphBuilder->StageEdgesOutputs();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ namespace PCGExConvexHull2D
}

PointDataFacade->Write(AsyncManager);
GraphBuilder->OutputEdgesToContext();
GraphBuilder->StageEdgesOutputs();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ namespace PCGExBuildDelaunay
return;
}

GraphBuilder->OutputEdgesToContext();
GraphBuilder->StageEdgesOutputs();

if (Settings->bMarkHull)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ namespace PCGExBuildDelaunay2D
return;
}

GraphBuilder->OutputEdgesToContext();
GraphBuilder->StageEdgesOutputs();

if (HullMarkPointWriter) // BUG
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ namespace PCGExBuildVoronoi
return;
}

GraphBuilder->OutputEdgesToContext();
GraphBuilder->StageEdgesOutputs();
}

void FProcessor::Write()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ namespace PCGExBuildVoronoi2D
}
}

GraphBuilder->OutputEdgesToContext();
GraphBuilder->StageEdgesOutputs();
if (SiteDataFacade) { SiteDataFacade->Source->Tags->Append(PointDataFacade->Source->Tags.ToSharedRef()); }
}

Expand Down
237 changes: 237 additions & 0 deletions Source/PCGExtendedToolkit/Private/Graph/PCGExBuildCustomGraph.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
// Copyright Timothé Lapetite 2024
// Released under the MIT license https://opensource.org/license/MIT/

#include "Graph/PCGExBuildCustomGraph.h"


#include "Graph/PCGExGraph.h"
#include "Graph/Data/PCGExClusterData.h"
#include "Graph/PCGExUnionHelpers.h"
#include "Graph/Probes/PCGExProbeOperation.h"

#define LOCTEXT_NAMESPACE "PCGExBuildCustomGraphElement"
#define PCGEX_NAMESPACE BuildCustomGraph

void UPCGExCustomGraphBuilder::InitializeWithContext_Implementation(const FPCGContext& InContext, bool& OutSuccess)
{
OutSuccess = false;
}

void UPCGExCustomGraphSettings::AddEdge(const int32 InStartIndex, const int32 InEndIndex)
{
if (InStartIndex < 0 || InEndIndex < 0 || InStartIndex > MaxIndex || InEndIndex > MaxIndex) { return; }
UniqueEdges.Add(PCGEx::H64U(InStartIndex, InEndIndex));
}

UPCGExCustomGraphSettings* UPCGExCustomGraphBuilder::CreateGraphSettings(TSubclassOf<UPCGExCustomGraphSettings> SettingsClass, int32 InMaxNumNodes)
{
TObjectPtr<UPCGExCustomGraphSettings> NewSettings = Context->ManagedObjects->New<UPCGExCustomGraphSettings>(GetTransientPackage(), SettingsClass);
NewSettings->Index = GraphSettings.Add(NewSettings);
NewSettings->MaxNumNodes = InMaxNumNodes;
NewSettings->MaxIndex = InMaxNumNodes - 1; // Might need to update prior to processing
return NewSettings;
}

void UPCGExCustomGraphBuilder::BuildGraph_Implementation(const FPCGContext& InContext, UPCGExCustomGraphSettings* InCustomGraphSettings, bool& OutSuccess)
{
OutSuccess = false;
}

void UPCGExCustomGraphBuilder::UpdateNodePoint_Implementation(const UPCGExCustomGraphSettings* InCustomGraphSettings, const int32 InNodeIndex, const FPCGPoint& InPoint, FPCGPoint& OutPoint)
{
OutPoint = InPoint;
}

TArray<FPCGPinProperties> UPCGExBuildCustomGraphSettings::OutputPinProperties() const
{
TArray<FPCGPinProperties> PinProperties = Super::OutputPinProperties();
PCGEX_PIN_POINTS(PCGExGraph::OutputEdgesLabel, "Point data representing edges.", Required, {})
return PinProperties;
}

PCGExData::EInit UPCGExBuildCustomGraphSettings::GetMainOutputInitMode() const { return PCGExData::EInit::NoOutput; }

PCGEX_INITIALIZE_ELEMENT(BuildCustomGraph)

bool FPCGExBuildCustomGraphElement::Boot(FPCGExContext* InContext) const
{
if (!FPCGExPointsProcessorElement::Boot(InContext)) { return false; }

PCGEX_CONTEXT_AND_SETTINGS(BuildCustomGraph)

if (!Settings->Builder)
{
PCGE_LOG(Error, GraphAndLog, FTEXT("No builder selected."));
return false;
}

PCGEX_OPERATION_BIND(Builder, UPCGExCustomGraphBuilder)

if (Settings->Mode == EPCGExCustomGraphActorSourceMode::ActorReferences)
{
PCGEX_VALIDATE_NAME(Settings->ActorReferenceAttribute)
}

return true;
}

bool FPCGExBuildCustomGraphElement::ExecuteInternal(FPCGContext* InContext) const
{
TRACE_CPUPROFILER_EVENT_SCOPE(FPCGExBuildCustomGraphElement::Execute);

PCGEX_CONTEXT_AND_SETTINGS(BuildCustomGraph)
PCGEX_EXECUTION_CHECK
PCGEX_ON_INITIAL_EXECUTION
{
if (Settings->Mode == EPCGExCustomGraphActorSourceMode::Owner)
{
Context->Builder->InputActors.Add(Context->SourceComponent->GetOwner());
}
else
{
while (Context->AdvancePointsIO())
{
TUniquePtr<PCGEx::TAttributeBroadcaster<FString>> ActorReferences = MakeUnique<PCGEx::TAttributeBroadcaster<FString>>();
if (!ActorReferences->Prepare(Settings->ActorReferenceAttribute, Context->CurrentIO.ToSharedRef()))
{
PCGE_LOG(Warning, GraphAndLog, FTEXT("Some inputs don't have the specified Actor Reference attribute."));
}

ActorReferences->Grab();

for (FString Path : ActorReferences->Values)
{
if (UObject* FoundObject = FindObject<AActor>(nullptr, *Path))
{
if (AActor* SourceActor = Cast<AActor>(FoundObject))
{
Context->Builder->InputActors.AddUnique(SourceActor);
}
}
}
}
}

// Init builder now that we have resolved actor references.

bool bSuccessfulInit = false;
Context->Builder->InitializeWithContext(*Context, bSuccessfulInit);
if (!bSuccessfulInit)
{
PCGE_LOG(Error, GraphAndLog, FTEXT("Builder returned failed initialization."));
return true;
}

// Prepare graph builders
if (Context->Builder->GraphSettings.IsEmpty())
{
PCGE_LOG(Error, GraphAndLog, FTEXT("Builder generated no graph settings."));
return true;
}

Context->SetAsyncState(PCGExGraph::State_WritingClusters);

for (UPCGExCustomGraphSettings* GraphSettings : Context->Builder->GraphSettings)
{
if (GraphSettings->MaxNumNodes < 2)
{
if (!Settings->bMuteUnprocessedSettingsWarning)
{
PCGE_LOG(Warning, GraphAndLog, FTEXT("A graph builder settings has less than 2 max nodes and won't be processed."));
}
continue;
}

TSharedPtr<PCGExData::FPointIO> NodeIO = Context->MainPoints->Emplace_GetRef();
NodeIO->IOIndex = GraphSettings->Index;
GraphSettings->MaxIndex = GraphSettings->MaxNumNodes - 1;
Context->GetAsyncManager()->Start<PCGExBuildCustomGraph::FBuildGraph>(GraphSettings->Index, NodeIO, GraphSettings);
}

return false;
}

PCGEX_ON_ASYNC_STATE_READY(PCGExGraph::State_WritingClusters)
{
for (UPCGExCustomGraphSettings* GraphSettings : Context->Builder->GraphSettings)
{
if (!GraphSettings->GraphBuilder) { continue; }
if (GraphSettings->GraphBuilder->bCompiledSuccessfully)
{
GraphSettings->GraphBuilder->StageEdgesOutputs();
}
else
{
// Invalidate node IO
GraphSettings->GraphBuilder->NodeDataFacade->Source->InitializeOutput(Context, PCGExData::EInit::NoOutput);
}
}

Context->MainPoints->StageOutputs();
Context->Done();
}

return Context->TryComplete();
}

namespace PCGExBuildCustomGraph
{
bool FBuildGraph::ExecuteTask(const TSharedPtr<PCGExMT::FTaskManager>& AsyncManager)
{
FPCGExBuildCustomGraphContext* Context = AsyncManager->GetContext<FPCGExBuildCustomGraphContext>();
PCGEX_SETTINGS(BuildCustomGraph)

UPCGExCustomGraphBuilder* Builder = Context->Builder;

PointIO->GetOut()->GetMutablePoints().SetNum(GraphSettings->MaxNumNodes);

TSharedPtr<PCGExData::FFacade> NodeDataFacade = MakeShared<PCGExData::FFacade>(PointIO.ToSharedRef());
const TSharedPtr<PCGExGraph::FGraphBuilder> GraphBuilder = MakeShared<PCGExGraph::FGraphBuilder>(NodeDataFacade.ToSharedRef(), &Settings->GraphBuilderDetails);
GraphSettings->GraphBuilder = GraphBuilder;

bool bSuccessfulBuild = false;
Builder->BuildGraph(*Context, GraphSettings, bSuccessfulBuild);
if (!bSuccessfulBuild)
{
GraphSettings->GraphBuilder->bCompiledSuccessfully = false;
return false;
}

GraphBuilder->Graph->InsertEdges(GraphSettings->UniqueEdges, -1);

PCGEX_ASYNC_GROUP_CHKD(AsyncManager, InitNodesGroup)

TWeakPtr<PCGExData::FPointIO> WeakIO = PointIO;
TWeakPtr<PCGExGraph::FGraphBuilder> WeakGraphBuilder = GraphBuilder;

InitNodesGroup->OnCompleteCallback = [WeakGraphBuilder, AsyncManager]()
{
const TSharedPtr<PCGExGraph::FGraphBuilder> GBuilder = WeakGraphBuilder.Pin();
if (!GBuilder) { return; }

GBuilder->CompileAsync(AsyncManager, true);
};

UPCGExCustomGraphSettings* CustomGraphSettings = GraphSettings;
InitNodesGroup->OnIterationRangeStartCallback = [WeakIO, Builder, CustomGraphSettings](const int32 StartIndex, const int32 Count, const int32 LoopIdx)
{
const TSharedPtr<PCGExData::FPointIO> IO = WeakIO.Pin();
if (!IO) { return; }

const int32 MaxIndex = StartIndex + Count;
TArray<FPCGPoint>& MutablePoints = IO->GetOut()->GetMutablePoints();
for (int i = StartIndex; i < MaxIndex; i++)
{
FPCGPoint& Point = MutablePoints[i];
Builder->UpdateNodePoint(CustomGraphSettings, i, Point, Point);
}
};

InitNodesGroup->StartRangePrepareOnly(GraphSettings->MaxNumNodes, 256);

return true;
}
}

#undef LOCTEXT_NAMESPACE
#undef PCGEX_NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ namespace PCGExConnectPoints
}

PointDataFacade->Write(AsyncManager);
GraphBuilder->OutputEdgesToContext();
GraphBuilder->StageEdgesOutputs();
}
}

Expand Down
2 changes: 1 addition & 1 deletion Source/PCGExtendedToolkit/Private/Graph/PCGExGraph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ namespace PCGExGraph
ProcessSubGraphTask->StartIterations(Graph->SubGraphs.Num(), 1, false, false);
}

void FGraphBuilder::OutputEdgesToContext() const
void FGraphBuilder::StageEdgesOutputs() const
{
EdgesIO->StageOutputs();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ namespace PCGExSanitizeClusters

void FProcessorBatch::Output()
{
if (GraphBuilder->bCompiledSuccessfully) { GraphBuilder->OutputEdgesToContext(); }
if (GraphBuilder->bCompiledSuccessfully) { GraphBuilder->StageEdgesOutputs(); }
else { GraphBuilder->NodeDataFacade->Source->InitializeOutput(AsyncManager->Context, PCGExData::EInit::NoOutput); }
//TBatchWithGraphBuilder<FProcessor>::Output();
}
Expand Down
Loading

0 comments on commit 16ee96b

Please sign in to comment.