I did remove some points from my InputData
array and it changed the whole Input/Output chain even for a PCG node before. I thought, they should be more independent and create separate (non-referenced) pin variables, because it looks like an instant virus to spread the data corruption. So, maybe I can’t modify the wrapper, but it looks possible for its children.
const auto Inputs = Context->InputData.GetInputsByPin(PCGConstants::Inputs);
for (const FPCGTaggedData& Source : Inputs) {
const UPCGSpatialData* SpatialData = Cast<UPCGSpatialData>(Source.Data);
if (const UPCGPointData* ConstPointData = SpatialData->ToPointData(Context)) {
UPCGPointData* PointData = const_cast<UPCGPointData*>(ConstPointData);
RemovePoints(PointData);
}
}
void RemovePoints(UPCGPointData* PointData) { Points.RemoveAt(0); }