Skip to content

D.

New in PMP: Mesh Analysis

Many mesh processing algorithms expect reasonably well-formed manifold surface meshes. The same is true for PMP, where manifold meshes are assumed throughout and algorithms may fail in the presence of defects. However, many real-world meshes violate these assumptions in one way or another, making it difficult to understand the root cause of algorithm failures.

To help with this, I recently added a mesh analysis function to PMP:

MeshAnalysis analyze(const SurfaceMesh& mesh);

The function computes and reports basic characteristics of the mesh, including:

Obviously, this isn’t a mesh repair tool, but it provides a useful first step in understanding imperfect input data. Knowing what’s wrong with a mesh is often half the battle and provides insight into what needs fixing.

Admittedly, repair facilities in PMP are still limited to local mesh optimization, hole filling, or manual removal of degeneracies. However, having a single analysis function lays the foundation for future improvements. Detecting self-intersections is next on the list and might be added soon. Stay tuned.