  In this work, we present a boundary and hole detection approach that
traverses all the boundaries of an edge-manifold triangular mesh,
irrespectively of the presence of singular vertices, and subsequently
determines and labels all holes of the mesh. The proposed automated
hole-detection method is valuable to the computer-aided design (CAD) community
as all half-edges within the mesh are utilized and for each half-edge the
algorithm guarantees both the existence and the uniqueness of the boundary
associated to it. As existing hole-detection approaches assume that singular
vertices are absent or may require mesh modification, these methods are
ill-equipped to detect boundaries/holes in real-world meshes that contain
singular vertices. We demonstrate the method in an underwater autonomous
robotic application, exploiting surface reconstruction methods based on point
cloud data. In such a scenario the determined holes can be interpreted as
information gaps, enabling timely corrective action during the data
acquisition. However, the scope of our method is not confined to these two
sectors alone; it is versatile enough to be applied on any edge-manifold
triangle mesh. An evaluation of the method is performed on both synthetic and
real-world data (including a triangle mesh from a point cloud obtained by a
multibeam sonar). The source code of our reference implementation is available:
https://github.com/Mauhing/hole-detection-on-triangle-mesh.
