CGAL 6.2 - 3D Mesh Generation: MeshCellCriteria_3 Concept Reference

CGAL 6.2 - 3D Mesh Generation

Loading...
Searching...
No Matches
List of all members
MeshCellCriteria_3 Concept Reference
Reference Manual » Main Concepts

## Definition

The Delaunay refinement process involved in the template functions `CGAL::make_mesh_3()` and `CGAL::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
  `CGAL::Mesh_cell_criteria_3<Tr>`

See also
  `MeshEdgeCriteria_3`
  `MeshFacetCriteria_3`
  `MeshCriteria_3`
  `CGAL::make_mesh_3()`
  `CGAL::refine_mesh_3()`

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

## Operations
Is_cell_bad | operator() (const Tr &tr, Cell_handle c)
| Returns the `Is_cell_bad` value of the cell `c`, which lives in the triangulation `tr`.

## Member Typedef Documentation

## ◆ Cell_handle

typedef unspecified_type MeshCellCriteria_3::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

typedef unspecified_type MeshCellCriteria_3::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

typedef unspecified_type MeshCellCriteria_3::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 `std::optional<Cell_quality>` is a natural model of this concept.

## Member Function Documentation

## ◆ operator()()

Is_cell_bad MeshCellCriteria_3::operator() | ( | const Tr & | tr,
|  | Cell_handle | c
| ) |  |

Returns the `Is_cell_bad` value of the cell `c`, which lives in the triangulation `tr`.

The type `Tr` must be identical to the triangulation type used by the mesh generation function.