CGAL 6.2 - 3D Mesh Generation: MeshFacetCriteria_3 Concept Reference

CGAL 6.2 - 3D Mesh Generation

Loading...
Searching...
No Matches
List of all members
MeshFacetCriteria_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 `MeshFacetCriteria_3` describes the types that handle the refinement criteria for surface facets.

Has models
  `CGAL::Mesh_facet_criteria_3<Tr>`

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

## Types
typedef unspecified_type | Facet
| Type for the facets of the triangulation.
typedef unspecified_type | Cell_handle
| Handle type for the cells of the triangulation.
typedef unspecified_type | Facet_quality
| Type representing the quality of a facet.
typedef unspecified_type | Is_facet_bad
| Type representing if a facet is bad or not.
typedef unspecified_type | FT
| Numerical type.

## Operations
Is_facet_bad | operator() (const Tr &tr, Facet f)
| Returns the `Is_facet_bad` value of the facet `f`, which lives in the triangulation `tr`.
std::optional< FT > | squared_min_radius_bound () const

## Member Typedef Documentation

## ◆ Cell_handle

typedef unspecified_type MeshFacetCriteria_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.

## ◆ Facet

typedef unspecified_type MeshFacetCriteria_3::Facet

Type for the facets of the triangulation.

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

## ◆ Facet_quality

typedef unspecified_type MeshFacetCriteria_3::Facet_quality

Type representing the quality of a facet.

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

## ◆ Is_facet_bad

typedef unspecified_type MeshFacetCriteria_3::Is_facet_bad

Type representing if a facet is bad or not.

This type must be convertible to `bool`. If it converts to `true` then the facet is bad, otherwise the facet is good with regard to the criteria.

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

## Member Function Documentation

## ◆ operator()()

Is_facet_bad MeshFacetCriteria_3::operator() | ( | const Tr & | tr,
|  | Facet | f
| ) |  |

Returns the `Is_facet_bad` value of the facet `f`, which lives in the triangulation `tr`.

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

## ◆ squared_min_radius_bound()

std::optional< FT > MeshFacetCriteria_3::squared_min_radius_bound | ( |  | ) | const

Returns
  the squared value of minimal radius bound if set, and `std::nullopt` otherwise