From 5235af1d47fb88aa334f66f7630f5b948b70bb14 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 6 Oct 2021 21:58:37 +0200 Subject: [PATCH] Mesh: [skip ci] add unit test for corrupted facets --- src/Mod/Mesh/App/MeshTestsApp.py | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/Mod/Mesh/App/MeshTestsApp.py b/src/Mod/Mesh/App/MeshTestsApp.py index 29093823c8..a43f982e79 100644 --- a/src/Mod/Mesh/App/MeshTestsApp.py +++ b/src/Mod/Mesh/App/MeshTestsApp.py @@ -47,6 +47,43 @@ class MeshTopoTestCases(unittest.TestCase): planarMeshObject = Mesh.Mesh(self.planarMesh) planarMeshObject.collapseFacets(range(18)) + def testCorruptedFacet(self): + v = FreeCAD.Vector + mesh = Mesh.Mesh() + mesh.addFacet( + v(1.0e1, -1.0e1, 1.0e1), + v(1.0e1, +1.0e1, 1.0e1), + v(0.0e0, 0.0e0, 1.0e1)) + + mesh.addFacet( + v(-1.0e1, -1.0e1, 1.0e1), + v(-1.0e1, +1.0e1, 1.0e1), + v(0e0, 0.0e0, 1.0e1)) + + mesh.addFacet( + v(+1.0e1, +1.0e1, 1.0e1), + v(-1.0e1, +1.0e1, 1.0e1), + v(.0e0, 0.0e0, 1.0e1)) + + mesh.addFacet( + v(+1.0e1, -1.0e1, 1.0e1), + v(-1.0e1, -1.0e1, 1.0e1), + v(.0e0, 0.0e0, 1.0e1)) + + mesh.addFacet( + v(-1.0e1, +1.0e1, 1.0e1), + v(+1.0e1, +1.0e1, 1.0e1), + v(+1.0e1, +1.0e1, 1.0e1)) + + mesh.addFacet( + v(+1.0e1, +1.0e1, 1.0e1), + v(+1.0e1, 00.0e1, 1.0e1), + v(+1.0e1, -1.0e1, 1.0e1)) + + self.assertEqual(mesh.CountFacets, 6) + mesh.fixIndices() + self.assertEqual(mesh.CountFacets, 5) + class MeshSplitTestCases(unittest.TestCase): def setUp(self):