The function make_mesh_3 is a 3D mesh generator. It produces simplicial meshes which discretize 3D domains.
The mesh generation algorithm is a Delaunay refinement process followed by an optimization phase, which is currently implemented as a sliver exudation process. The criteria driving the Delaunay refinement process may be tuned to achieve the user needs with respect to the size of mesh elements, the accuracy of boundaries approximation, etc.
The function outputs the mesh to an object which provides iterators to traverse the resulting mesh data structure or can be written to a file (see 47.3).
| ||
|
|
Parameter C3T3 is required to be a model of the concept MeshComplex_3InTriangulation_3, a data structure devised to represent a 3D complex embedded in a 3D triangulation. This is the return type.
Template parameter MeshDomain is required to be a model of the concept MeshDomain_3. The argument domain of type MeshDomain is the link through which the domain to be discretized is known by the mesh generation algorithm.
The argument of type MeshCriteria passed to the mesh generator specifies the size and shape requirements for the mesh tetrahedra and for the triangles in the boundary mesh facets. These criteria form the rules which drive the refinement process. All mesh elements satisfy those criteria at the end of the refinement process. This may not be true anymore after the sliver removal phase although this last phase is devised to only improve the mesh quality. The template parameter MeshCriteria has to be a model of the concept MeshCriteria_3.