Skip to content

Commit 6476e76

Browse files
committed
Temp fix on a path sampling bug causing a crash if point count < 2
Need to look more seriously over what causes the data discrepency Also stopped output invalid paths altogether
1 parent 388f193 commit 6476e76

32 files changed

+72
-108
lines changed

PCGExtendedToolkit.uplugin

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"FileVersion": 3,
33
"Version": 1,
4-
"VersionName": "0.68.5",
4+
"VersionName": "0.68.6",
55
"FriendlyName": "PCGExtendedToolkit",
66
"Description": "A rather large toolset that expand on existing PCG capabilities in unique ways.",
77
"Category": "PCG",

Source/PCGExtendedToolkit/Private/Data/PCGExPointIO.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -473,11 +473,10 @@ namespace PCGExData
473473
if (Out)
474474
{
475475
const int64 OutNumPoints = Out->GetNumPoints();
476-
if ((MinPointCount >= 0 && OutNumPoints < MinPointCount) ||
477-
(MaxPointCount >= 0 && OutNumPoints > MaxPointCount))
478-
{
479-
return StageOutput(TargetContext);
480-
}
476+
if (OutNumPoints <= 0) { return false; }
477+
if (MinPointCount > 0 && OutNumPoints < MinPointCount) { return false; }
478+
if (MaxPointCount > 0 && OutNumPoints > MaxPointCount) { return false; }
479+
return StageOutput(TargetContext);
481480
}
482481
return false;
483482
}

Source/PCGExtendedToolkit/Private/Paths/PCGExAttributeRolling.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ bool FPCGExAttributeRollingElement::ExecuteInternal(FPCGContext* InContext) cons
122122
PCGEX_POINTS_BATCH_PROCESSING(PCGExCommon::State_Done)
123123

124124
Context->MainBatch->Output();
125-
Context->MainPoints->StageOutputs();
125+
PCGEX_OUTPUT_VALID_PATHS(MainPoints)
126126

127127
return Context->TryComplete();
128128
}

Source/PCGExtendedToolkit/Private/Paths/PCGExBevelPath.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ bool FPCGExBevelPathElement::ExecuteInternal(FPCGContext* InContext) const
108108

109109
PCGEX_POINTS_BATCH_PROCESSING(PCGExCommon::State_Done)
110110

111-
Context->MainPoints->StageOutputs();
111+
PCGEX_OUTPUT_VALID_PATHS(MainPoints)
112112

113113
return Context->TryComplete();
114114
}

Source/PCGExtendedToolkit/Private/Paths/PCGExBlendPath.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ bool FPCGExBlendPathElement::ExecuteInternal(FPCGContext* InContext) const
7070

7171
PCGEX_POINTS_BATCH_PROCESSING(PCGExCommon::State_Done)
7272

73-
Context->MainPoints->StageOutputs();
73+
PCGEX_OUTPUT_VALID_PATHS(MainPoints)
7474

7575
return Context->TryComplete();
7676
}

Source/PCGExtendedToolkit/Private/Paths/PCGExBoundsPathIntersection.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ bool FPCGExBoundsPathIntersectionElement::ExecuteInternal(FPCGContext* InContext
7777

7878
PCGEX_POINTS_BATCH_PROCESSING(PCGExCommon::State_Done)
7979

80-
Context->MainPoints->StageOutputs();
80+
PCGEX_OUTPUT_VALID_PATHS(MainPoints)
8181

8282
return Context->TryComplete();
8383
}

Source/PCGExtendedToolkit/Private/Paths/PCGExExtrudeTensors.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "Data/PCGExData.h"
77
#include "Data/PCGExDataTag.h"
88
#include "Graph/PCGExGraph.h"
9+
#include "Paths/PCGExPathProcessor.h"
910

1011

1112
#define LOCTEXT_NAMESPACE "PCGExExtrudeTensorsElement"
@@ -39,7 +40,7 @@ FName UPCGExExtrudeTensorsSettings::GetMainOutputPin() const { return PCGExPaths
3940

4041
bool FPCGExExtrudeTensorsElement::Boot(FPCGExContext* InContext) const
4142
{
42-
if (!FPCGExPointsProcessorElement::Boot(InContext)) { return false; }
43+
if (!FPCGExPathProcessorElement::Boot(InContext)) { return false; }
4344

4445
PCGEX_CONTEXT_AND_SETTINGS(ExtrudeTensors)
4546

@@ -92,7 +93,7 @@ bool FPCGExExtrudeTensorsElement::ExecuteInternal(FPCGContext* InContext) const
9293

9394
PCGEX_POINTS_BATCH_PROCESSING(PCGExCommon::State_Done)
9495

95-
Context->MainPoints->StageOutputs();
96+
PCGEX_OUTPUT_VALID_PATHS(MainPoints)
9697

9798
return Context->TryComplete();
9899
}

Source/PCGExtendedToolkit/Private/Paths/PCGExFuseCollinear.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ bool FPCGExFuseCollinearElement::ExecuteInternal(FPCGContext* InContext) const
5858

5959
PCGEX_POINTS_BATCH_PROCESSING(PCGExCommon::State_Done)
6060

61-
Context->MainPoints->StageOutputs();
61+
PCGEX_OUTPUT_VALID_PATHS(MainPoints)
6262

6363
return Context->TryComplete();
6464
}

Source/PCGExtendedToolkit/Private/Paths/PCGExOffsetPath.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ bool FPCGExOffsetPathElement::ExecuteInternal(FPCGContext* InContext) const
5151

5252
PCGEX_POINTS_BATCH_PROCESSING(PCGExCommon::State_Done)
5353

54-
Context->MainPoints->StageOutputs();
54+
PCGEX_OUTPUT_VALID_PATHS(MainPoints)
5555

5656
return Context->TryComplete();
5757
}

Source/PCGExtendedToolkit/Private/Paths/PCGExOrient.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ bool FPCGExOrientElement::ExecuteInternal(FPCGContext* InContext) const
4646
{
4747
TRACE_CPUPROFILER_EVENT_SCOPE(FPCGExOrientElement::Execute);
4848

49-
PCGEX_CONTEXT(Orient)
49+
PCGEX_CONTEXT_AND_SETTINGS(Orient)
5050
PCGEX_EXECUTION_CHECK
5151
PCGEX_ON_INITIAL_EXECUTION
5252
{
@@ -73,7 +73,7 @@ bool FPCGExOrientElement::ExecuteInternal(FPCGContext* InContext) const
7373

7474
PCGEX_POINTS_BATCH_PROCESSING(PCGExCommon::State_Done)
7575

76-
Context->MainPoints->StageOutputs();
76+
PCGEX_OUTPUT_VALID_PATHS(MainPoints)
7777

7878
return Context->TryComplete();
7979
}

0 commit comments

Comments
 (0)