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

Function print_self_intersection_info

scripts/meshstat.py:277–297  ·  view source on GitHub ↗
(mesh, info)

Source from the content-addressed store, hash-verified

275 return intersect_and_coplanar;
276
277def print_self_intersection_info(mesh, info):
278 if mesh.vertex_per_face == 4:
279 print_red("Converting quad to tri for self-intersection check.");
280 mesh = pymesh.quad_to_tri(mesh);
281
282 if mesh.num_vertices == 0 or mesh.num_faces == 0:
283 num_intersections = 0;
284 num_coplanar_intersecting_faces = 0;
285 else:
286 intersecting_faces = pymesh.detect_self_intersection(mesh);
287 num_intersections = len(intersecting_faces);
288 intersect_and_coplanar = coplanar_analysis(mesh, intersecting_faces);
289 num_coplanar_intersecting_faces = len(intersect_and_coplanar);
290 info["self_intersect"] = num_intersections > 0;
291 info["num_self_intersections"] = num_intersections;
292 info["num_coplanar_intersecting_faces"] = num_coplanar_intersecting_faces;
293 print_property("self intersect", info["self_intersect"], False);
294 if num_intersections > 0:
295 print_property("num self intersections", num_intersections, 0);
296 print_property("num coplanar intersecting faces",
297 num_coplanar_intersecting_faces, 0);
298
299def load_info(mesh_file):
300 basename, ext = os.path.splitext(mesh_file);

Callers 1

mainFunction · 0.85

Calls 4

print_redFunction · 0.90
coplanar_analysisFunction · 0.85
print_propertyFunction · 0.85

Tested by

no test coverage detected