mirror of https://github.com/CGAL/cgal
69 lines
2.4 KiB
TeX
69 lines
2.4 KiB
TeX
\chapter{Surface mesher}
|
|
\ccChapterAuthor{Andreas Fabri, Steve Oudot, David Rey, Laurent Rineau
|
|
and Mariette Yvinec}
|
|
|
|
|
|
The surface mesher package offers a global function
|
|
to build a triangular mesh approximating a surface.
|
|
|
|
The surface is described through an oracle that mainly can tell whether a
|
|
given segment, ray or line intersects the surface or not,
|
|
and that can compute the
|
|
intersections point if any. Several implementations of
|
|
the oracle are provided. They allow 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 \ccc{SurfaceMeshCriteria}.
|
|
|
|
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.
|
|
|
|
|
|
\subsection*{Concepts}
|
|
|
|
\ccRefConceptPage{SurfaceMeshComplex_2InTriangulation_3}\\
|
|
\ccRefConceptPage{SurfaceMeshTraits_3} \\
|
|
\ccRefConceptPage{SurfaceMeshCriteria} \\
|
|
\ccRefConceptPage{SurfaceMeshCellBase_3} \\
|
|
\ccRefConceptPage{SurfaceMeshVertexBase_3} \\
|
|
\ccRefConceptPage{ImplicitFunction} \\
|
|
\ccRefConceptPage{ImplicitSurfaceTraits_3}
|
|
|
|
|
|
\subsection*{Classes}
|
|
\ccRefIdfierPage{CGAL::Surface_mesh_complex_2_in_triangulation_3<Tr>} \\
|
|
\ccRefIdfierPage{CGAL::Surface_mesh_vertex_base_3<Gt,Vb>} \\
|
|
\ccRefIdfierPage{CGAL::Surface_mesh_cell_base_3<Gt,Cb>} \\
|
|
\ccRefIdfierPage{CGAL::Surface_mesh_default_criteria<FT>} \\
|
|
\ccRefIdfierPage{CGAL::Surface_mesh_traits_generator_3<Surface>} \\
|
|
\ccRefIdfierPage{CGAL::Implicit_surface_3<Traits,Func>} \\
|
|
\ccRefIdfierPage{CGAL::Gray_level_image_3<Traits>}
|
|
|
|
\subsection*{Tag classes}
|
|
\ccRefIdfierPage{CGAL::Manifold_tag} \\
|
|
\ccRefIdfierPage{CGAL::Manifold_with_boundary_tag} \\
|
|
\ccRefIdfierPage{CGAL::Non_manifold_tag} \\
|
|
|
|
|
|
\subsection*{Global Functions}
|
|
\ccRefIdfierPage{CGAL::make_surface_mesh}
|
|
|
|
|
|
%\subsection*{Enums}
|
|
|
|
\lcHtml{\subsection*{Links to the Reference Sections}}
|