From d214d3a6f14c39cfc238fb235355169fa670435f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Concei=C3=A7=C3=A3o?= Date: Wed, 6 Oct 2021 21:16:19 +0100 Subject: [PATCH] .Last to [^1] and dedup --- UVtools.Core/Managers/IssueManager.cs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/UVtools.Core/Managers/IssueManager.cs b/UVtools.Core/Managers/IssueManager.cs index 678bb96..b5468b0 100644 --- a/UVtools.Core/Managers/IssueManager.cs +++ b/UVtools.Core/Managers/IssueManager.cs @@ -850,10 +850,9 @@ namespace UVtools.Core.Managers var overlappingGroupIndexes = new List(); for (var groupIndex = 0; groupIndex < resinTrapGroups.Count; groupIndex++) { - if (resinTrapGroups[groupIndex][^1].layerIndex != layerIndex + 1 && resinTrapGroups[groupIndex][^1].layerIndex != layerIndex) continue; + if (resinTrapGroups[groupIndex][^1].layerIndex != layerIndex && resinTrapGroups[groupIndex][^1].layerIndex != layerIndex + 1) continue; - if (EmguContours.ContoursIntersect(resinTrapGroups[groupIndex].Last().contour, - resinTraps[layerIndex][x])) + if (EmguContours.ContoursIntersect(resinTrapGroups[groupIndex][^1].contour, resinTraps[layerIndex][x])) { overlappingGroupIndexes.Add(groupIndex); } @@ -962,9 +961,9 @@ namespace UVtools.Core.Managers var overlappingGroupIndexes = new List(); for (var x = 0; x < resinTrapGroups.Count; x++) { - if (resinTrapGroups[x].Last().LayerIndex != layerIndex + 1) continue; + if (resinTrapGroups[x][^1].LayerIndex != layerIndex && resinTrapGroups[x][^1].LayerIndex != layerIndex + 1) continue; - using var vec = new VectorOfVectorOfPoint(resinTrapGroups[x].Last().Contours); + using var vec = new VectorOfVectorOfPoint(resinTrapGroups[x][^1].Contours); if (EmguContours.ContoursIntersect(trap, vec)) { overlappingGroupIndexes.Add(x); @@ -990,8 +989,8 @@ namespace UVtools.Core.Managers for (var index = overlappingGroupIndexes.Count - 1; index >= 0; index--) { - resinTrapGroups[index].Clear(); - resinTrapGroups.RemoveAt(index); + resinTrapGroups[overlappingGroupIndexes[index]].Clear(); + resinTrapGroups.RemoveAt(overlappingGroupIndexes[index]); } combinedGroup.Add(trapIssue); @@ -1032,7 +1031,7 @@ namespace UVtools.Core.Managers var overlappingGroupIndexes = new List(); for (var x = 0; x < suctionGroups.Count; x++) { - if (suctionGroups[x][^1].LayerIndex != layerIndex + 1) continue; + if (suctionGroups[x][^1].LayerIndex != layerIndex && suctionGroups[x][^1].LayerIndex != layerIndex + 1) continue; using var vec = new VectorOfVectorOfPoint(suctionGroups[x][^1].Contours); if (EmguContours.ContoursIntersect(trap, vec)) {