Adaptive construction of manifold meshes

Surface mesh is a commonly used data structure for Computer Graphics and other fields. Especially, manifold surface meshes are more useful for many applications than non-manifold ones because often the properties of manifold meshes can be used to simplify mesh processing algorithms. We show a series of algorithms to construct a manifold mesh as an isosurface of a scalar field. We suggest a categorization scheme for mesh construction algorithms based on the types of the surface mesh components generated for each type of the domain mesh component. Many important existing algorithms can be described using the scheme. Our algorithms can then be shown to be extensions derived from the previous work. Our algorithms have flexibility to work with a wide class of domain meshes. We apply those algorithms to domain meshes based on octrees. This gives our algorithms the advantage of adapting resulting surface mesh densities to the densities of the desired surface. In addition, our algorithms can preserve sharp features. We use the algorithms for some practical applications. Mesh construction with octree is used to construct a manifold mesh from an unorganized point cloud. Another application is to reconstruct a manifold mesh from an input mesh. The mesh construction algorithms we present have a unique combination of advantages: they generate manifold meshes, use octrees for adaptive surface construction, and preserve sharp features.