3D Surface Mesher
Reference Manual

Laurent Rineau and Mariette Yvinec

The surface mesher package offers a function template which builds a triangular mesh approximating a surface.

The meshing algorithms requires to know the surface to be meshed through an oracle that mainly can tell whether a given segment, ray or line intersects the surface or not and can compute the compute the intersections point if any. The oracle is represented by a traits class which can be passed to the meshing function or automatically generated for certains types of surfaces. The current implementation provides traits classes to mesh implicit surfaces as well as surfaces described as a gray level in a three dimensional image.

The output mesh conforms to some size and shape criteria which are customizable. The criteria are passed to the mesher through a parameter whose type is a model of the concept SurfaceMeshCriteria_3.

The meshing algorithm is a Delaunay refinement process which is mainly guided by the criteria. The output mesh may offer some guarantees, as being manifold, homeomorphic to the surface or within a given Hausdorff distance. However, these guarantees depend on the quality of the input surface (smoothness, with or without boundary, manifold or not), the type and values of the given criteria. The behavior of the refinement process can also be influenced through a tag, which allows for instance to enforce the manifold property of the output mesh while avoiding an over-refinement of the mesh.

30.6   Classified Reference Pages

Concepts

SurfaceMeshComplex_2InTriangulation_3
SurfaceMeshTraits_3
SurfaceMeshCriteria_3
SurfaceMeshCellBase_3
SurfaceMeshVertexBase_3
SurfaceMeshTriangulation_3
ImplicitFunction
ImplicitSurfaceTraits_3

Classes

CGAL::Surface_mesh_complex_2_in_triangulation_3<Tr>
CGAL::Surface_mesh_vertex_base_3<Gt,Vb>
CGAL::Surface_mesh_cell_base_3<Gt,Cb>
CGAL::Surface_mesh_default_criteria_3<Tr>
CGAL::Surface_mesh_traits_generator_3<Surface>
CGAL::Implicit_surface_3<Traits, Function>
CGAL::Gray_level_image_3<FT, Point>

Tag Classes

CGAL::Manifold_tag
CGAL::Manifold_with_boundary_tag
CGAL::Non_manifold_tag

Function Templates

CGAL::make_surface_mesh

30.7   Alphabetical List of Reference Pages

Gray_level_image_3<FT, Point>
ImplicitFunction
ImplicitSurfaceTraits_3
Implicit_surface_3<Traits, Function>
make_surface_mesh
Manifold_tag
Manifold_with_boundary_tag
Non_manifold_tag
SurfaceMeshCellBase_3
SurfaceMeshComplex_2InTriangulation_3
SurfaceMeshCriteria_3
SurfaceMeshTraits_3
SurfaceMeshTriangulation_3
SurfaceMeshVertexBase_3
Surface_3
Surface_mesh_cell_base_3<Gt,Cb>
Surface_mesh_complex_2_in_triangulation_3<Tr>
Surface_mesh_default_criteria_3<Tr>
Surface_mesh_traits_generator_3<Surface>
Surface_mesh_vertex_base_3<Gt,Vb>