MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / test_face_face_touch

Method test_face_face_touch

python/pymesh/tests/test_boolean.py:138–177  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

136
137 #@unittest.skip("Coplanar faces are not handled correctly yet.")
138 def test_face_face_touch(self):
139 mesh_1 = generate_box_mesh(
140 np.array([0, 0, 0]), np.array([1, 1, 1]))
141 mesh_2 = generate_box_mesh(
142 np.array([0, 0, 1]), np.array([1, 1, 2]))
143
144 mesh = boolean(
145 mesh_1, mesh_2,
146 "intersection", "igl")
147 self.assertEqual(0, mesh.num_vertices)
148 self.assertEqual(0, mesh.num_faces)
149 self.assertTrue(mesh.is_manifold())
150 self.assertTrue(mesh.is_closed())
151 self.assertEqual(0, mesh.num_components)
152
153 mesh = boolean(
154 mesh_1, mesh_2,
155 "union", "igl")
156 self.assertEqual(12, mesh.num_vertices)
157 self.assertEqual(20, mesh.num_faces)
158 self.assertTrue(mesh.is_manifold())
159 self.assertTrue(mesh.is_closed())
160 self.assertEqual(1, mesh.num_components)
161
162 mesh = boolean(
163 mesh_1, mesh_2,
164 "difference", "igl")
165 self.assert_array_equal(mesh_1.bbox, mesh.bbox)
166 self.assertTrue(mesh.is_manifold())
167 self.assertTrue(mesh.is_closed())
168 self.assertEqual(1, mesh.num_components)
169
170 mesh = boolean(
171 mesh_1, mesh_2,
172 "symmetric_difference", "igl")
173 self.assertEqual(12, mesh.num_vertices)
174 self.assertEqual(20, mesh.num_faces)
175 self.assertTrue(mesh.is_manifold())
176 self.assertTrue(mesh.is_closed())
177 self.assertEqual(1, mesh.num_components)
178
179 def test_simple_intersection(self):
180 mesh_1 = generate_box_mesh(

Callers

nothing calls this directly

Calls 5

generate_box_meshFunction · 0.90
booleanFunction · 0.90
assert_array_equalMethod · 0.80
is_manifoldMethod · 0.45
is_closedMethod · 0.45

Tested by

no test coverage detected