From ca900dc0cbefe604127dc623ac32e1fbf90813a5 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Thu, 24 Jan 2019 15:24:19 -0800 Subject: [PATCH] fixed ungroup mesh issue: MatterHackers/MCCentral#4900 Ungroup has no effect on multi-body stl --- .../PartPreviewWindow/CreateDiscreteMeshes.cs | 27 +++---------------- 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/MatterControlLib/PartPreviewWindow/CreateDiscreteMeshes.cs b/MatterControlLib/PartPreviewWindow/CreateDiscreteMeshes.cs index d91931c05..9f2cb6df9 100644 --- a/MatterControlLib/PartPreviewWindow/CreateDiscreteMeshes.cs +++ b/MatterControlLib/PartPreviewWindow/CreateDiscreteMeshes.cs @@ -50,27 +50,6 @@ namespace MatterHackers.MatterControl public static class CreateDiscreteMeshes { - public static List> GetFacesSharingVertex(List vertexList, FaceList faces) - { - var sharingList = new List>(vertexList.Count); - for(int i=0; i()); - } - - for (int faceIndex = 0; faceIndex < faces.Count; faceIndex++) - { - var face = faces[faceIndex]; - var vertices = new int[] { face.v0, face.v1, face.v2 }; - for (int vertexIndex = 0; vertexIndex < 3; vertexIndex++) - { - sharingList[vertexIndex].Add(faceIndex); - } - } - - return sharingList; - } - public static List SplitVolumesIntoMeshes(Mesh meshToSplit, CancellationToken cancellationToken, Action reportProgress) { Stopwatch maxProgressReport = Stopwatch.StartNew(); @@ -80,8 +59,8 @@ namespace MatterHackers.MatterControl var attachedFaces = new Stack(); int faceCount = meshToSplit.Faces.Count; - var facesSharingVertex = GetFacesSharingVertex(meshToSplit.Vertices, meshToSplit.Faces); - + var facesSharingVertex = meshToSplit.NewVertexFaceLists(); + for (int faceIndex = 0; faceIndex < faceCount; faceIndex++) { if (reportProgress != null) @@ -110,7 +89,7 @@ namespace MatterHackers.MatterControl foreach (var attachedVertex in vertices) { - foreach (var sharedFaceIndex in facesSharingVertex[attachedVertex]) + foreach (var sharedFaceIndex in facesSharingVertex[attachedVertex].Faces) { if (!facesThatHaveBeenAdded.Contains(sharedFaceIndex)) {