\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12 - 3D Mesh Generation
MeshCellCriteria_3 Concept Reference


The Delaunay refinement process involved in the template functions make_mesh_3() and refine_mesh_3() is guided by a set of elementary refinement criteria that concern either mesh tetrahedra or surface facets. The concept MeshCellCriteria_3 describes the types that handle the refinement criteria for mesh tetrahedra.

Has Models:
See also


typedef unspecified_type Cell_handle
 Handle type for the cells of the triangulation. More...
typedef unspecified_type Cell_quality
 Type representing the quality of a cell. More...
typedef unspecified_type Is_cell_bad
 Type representing if a cell is bad or not. More...


Is_cell_bad operator() (Cell_handle c)
 Returns Is_cell_bad value of cell c.

Member Typedef Documentation

◆ Cell_handle

Handle type for the cells of the triangulation.

Must match the Cell_handle type in the triangulation type used by the mesh generation function.

◆ Cell_quality

Type representing the quality of a cell.

Must be a model of CopyConstructible and LessThanComparable. Between two cells, the one which has the lower quality must have the lower Cell_quality.

◆ Is_cell_bad

Type representing if a cell is bad or not.

Must be convertible to bool. If it converts to true then the cell is bad, otherwise the cell is good with regard to the criteria.

In addition, an object of this type must contain an object of type Cell_quality if it represents a bad cell. Cell_quality must be accessible by operator*(). Note that boost::optional<Cell_quality> is a natural model of this concept.