\( \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.3 - 2D Conforming Triangulations and Meshes

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Modules | Classes | Enumerations | Functions
2D Conforming Triangulations and Meshes Reference

##

Laurent Rineau
This package implements a Delaunay refinement algorithm to construct conforming triangulations and 2D meshes. Conforming Delaunay triangulations are obtained from constrained Delaunay triangulations by refining constrained edges until they are Delaunay edges. Conforming Gabriel triangulations are obtained by further refining constrained edges until they become Gabriel edges. The package provides also a 2D mesh generator that refines triangles and constrained edges until user defined size and shape criteria on triangles are satisfied. The package can handle intersecting input constraints and set no restriction on the angle formed by two constraints sharing an endpoint.

Introduced in: CGAL 3.1
Depends on: 2D Triangulation
BibTeX: cgal:r-ctm2-13b
License: GPL
Demo: 2D Mesh Generator

## Classified Reference Pages

## Concepts

- `ConformingDelaunayTriangulationTraits_2`
- `DelaunayMeshTraits_2`
- `MeshingCriteria_2`
- `DelaunayMeshFaceBase_2`

## Classes

- `CGAL::Triangulation_conformer_2<CDT>`
- `CGAL::Delaunay_mesher_2<CDT, Criteria>`
- `CGAL::Delaunay_mesh_face_base_2<Traits, Fb>`
- `CGAL::Delaunay_mesh_criteria_2<CDT>`
- `CGAL::Delaunay_mesh_size_criteria_2<CDT>`
- `CGAL::Mesh_2::Face_badness`

## Global functions

- `CGAL::make_conforming_Delaunay_2`
- `CGAL::make_conforming_Gabriel_2`
- `CGAL::refine_Delaunay_mesh_2`

## Modules
| Concepts

## Classes
class | CGAL::Delaunay_mesh_criteria_2< CDT >
| The class `Delaunay_mesh_criteria_2` is a model for the `MeshingCriteria_2` concept. More...
class | CGAL::Delaunay_mesh_face_base_2< Traits, Fb >
| The class `Delaunay_mesh_face_base_2` is a model for the concept `DelaunayMeshFaceBase_2`. More...
class | CGAL::Delaunay_mesh_size_criteria_2< CDT >
| The class `Delaunay_mesh_size_criteria_2` is a model for the `MeshingCriteria_2` concept. More...
class | CGAL::Delaunay_mesher_2< CDT, Criteria >
| This class implements a 2D mesh generator. More...
class | CGAL::Triangulation_conformer_2< CDT >
| The class `Triangulation_conformer_2` is an auxiliary class of `Delaunay_mesher_2<CDT>`. More...

## Enumerations
enum | CGAL::Mesh_2::Face_badness { CGAL::Mesh_2::NOT_BAD, CGAL::Mesh_2::BAD, CGAL::Mesh_2::IMPERATIVELY_BAD }

## Functions
template<class CDT , class Criteria >
void | CGAL::refine_Delaunay_mesh_2 (CDT &t, const Criteria &criteria=Criteria())
| Refines the default domain defined by a constrained Delaunay triangulation without seeds into a mesh satisfying the criteria defined by the traits `criteria`. More...
template<class CDT , class Criteria , class InputIterator >
void | CGAL::refine_Delaunay_mesh_2 (CDT &t, InputIterator begin, InputIterator end, const Criteria &criteria=Criteria(), bool mark=false)
| Refines the default domain defined by a constrained Delaunay triangulation into a mesh satisfying the criteria defined by the traits `criteria`.The sequence `[begin, end)` gives a set of seeds points, that defines the domain to be meshed as follows. More...
template<class CDT >
void | CGAL::make_conforming_Delaunay_2 (CDT &t)
| Refines the constrained Delaunay triangulation `t` into a conforming Delaunay triangulation. More...
template<class CDT >
void | CGAL::make_conforming_Gabriel_2 (CDT &t)
| Refines the constrained Delaunay triangulation `t` into a conforming Gabriel triangulation. More...

## Enumeration Type Documentation

enum CGAL::Mesh_2::Face_badness

`#include <CGAL/Mesh_2/Face_badness.h>`

Enumerator
NOT_BAD |
BAD |
IMPERATIVELY_BAD |

## Function Documentation

template<class CDT >

void CGAL::make_conforming_Delaunay_2 | ( | CDT & | t) |  |

Refines the constrained Delaunay triangulation `t` into a conforming Delaunay triangulation.

After a call to this function, all edges of `t` are Delaunay edges.

Template Parameters

  CDT | must be a 2D constrained Delaunay triangulation and its geometric traits class must be a model of `ConformingDelaunayTriangulationTraits_2`.

`#include <CGAL/Triangulation_conformer_2.h>`

Examples:
  Mesh_2/conforming.cpp.

template<class CDT >

void CGAL::make_conforming_Gabriel_2 | ( | CDT & | t) |  |

Refines the constrained Delaunay triangulation `t` into a conforming Gabriel triangulation.

After a call to this function, all constrained edges of `t` have the Gabriel property: the circle that has \( e\) as diameter does not contain any vertex from the triangulation.

Template Parameters

  CDT | must be a 2D constrained Delaunay triangulation and its geometric traits class must be a model of `ConformingDelaunayTriangulationTraits_2`.

`#include <CGAL/Triangulation_conformer_2.h>`

Examples:
  Mesh_2/conforming.cpp.

template<class CDT , class Criteria >

void CGAL::refine_Delaunay_mesh_2 | ( | CDT & | t,
|  | const Criteria & | criteria = `Criteria()`
| ) |  |

Refines the default domain defined by a constrained Delaunay triangulation without seeds into a mesh satisfying the criteria defined by the traits `criteria`.

The domain of the mesh covers all the connected components of the plane defined by the constrained edges of `t`, except for the unbounded component.

Template Parameters

  CDT | must be 2D constrained Delaunay triangulation and its geometric traits class must be a model of `DelaunayMeshTraits_2`.
  Criteria | must be a model of the concept `MeshingCriteria_2`.

Requires:

  The face of the constrained Delaunay triangulation must be a model of the concept `DelaunayMeshFaceBase_2`.

  `CDT::Face_handle` must be the same as `Criteria::Face_handle`.

`#include <CGAL/Delaunay_mesher_2.h>`

Examples:
  Mesh_2/mesh_global.cpp, and Mesh_2/mesh_with_seeds.cpp.

template<class CDT , class Criteria , class InputIterator >

void CGAL::refine_Delaunay_mesh_2 | ( | CDT & | t,
|  | InputIterator | begin,
|  | InputIterator | end,
|  | const Criteria & | criteria = `Criteria()`,
|  | bool | mark = `false`
| ) |  |

Refines the default domain defined by a constrained Delaunay triangulation into a mesh satisfying the criteria defined by the traits `criteria`.The sequence `[begin, end)` gives a set of seeds points, that defines the domain to be meshed as follows.

The constrained edges of `t` partition the plane into connected components. If `mark==true`, the mesh domain is the union of the bounded connected components including at least one seed. If `mark==false`, the domain is the union of the bounded components including no seed. Note that the unbounded component of the plane is never meshed.

Template Parameters

  CDT | must be 2D constrained Delaunay triangulation and its geometric traits class must be a model of `DelaunayMeshTraits_2`.
  Criteria | must be a model of the concept `MeshingCriteria_2`.
  InputIterator | must be an input iterator with value type `CDT::Geom_traits::Point_2`.

Requires:

  The face of the constrained Delaunay triangulation must be a model of the concept `DelaunayMeshFaceBase_2`.

  `CDT::Face_handle` must be the same as `Criteria::Face_handle`.

`#include <CGAL/Delaunay_mesher_2.h>`