CGAL 4.7 - 2D Triangulation: DelaunayTriangulationTraits_2 Concept Reference

\( \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.7 - 2D Triangulation

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
DelaunayTriangulationTraits_2 Concept Reference
Concepts

## Definition

In addition to the requirements of the concept `TriangulationTraits_2` the concept `DelaunayTriangulationTraits_2` requires a predicate to check the empty circle property. The corresponding predicate type is called type `Side_of_oriented_circle_2`.

The additional types `Line_2`, `Ray_2` and the constructor objects `Construct_ray_2`, `Construct_circumcenter_2`, `Construct_bisector_2`, `Construct_midpoint` are used to build the dual Voronoi diagram and are required only if the dual functions are called. The additional predicate type `Compare_distance_2` is required if the method `nearest_vertex()` is used.

Refines:
  `TriangulationTraits_2`

Has Models:

  CGAL kernels

  `CGAL::Triangulation_euclidean_traits_2<Rep>`.

  `CGAL::Projection_traits_xy_3<K>` (not for dual Voronoi functions)

  `CGAL::Projection_traits_yz_3<K>` (not for dual Voronoi functions)

  `CGAL::Projection_traits_xz_3<K>` (not for dual Voronoi functions)

See Also
  `TriangulationTraits_2`

## Types

typedef unspecified_type | Line_2
| The line type. More...
typedef unspecified_type | Ray_2
| The type for ray. More...
typedef unspecified_type | Side_of_oriented_circle_2
| A function object to perform an incircle test for a point and three other points. More...
typedef unspecified_type | Compare_distance_2
| A function object to compare two distances for three points. More...
typedef unspecified_type | Construct_circumcenter_2
| A function object to construct the circumcenter of three points. More...
typedef unspecified_type | Construct_bisector_2
| A function object to construct the bisector of two points. More...
typedef unspecified_type | Construct_ray_2
| A function object to build a ray from a point and a line. More...

## Creation

| DelaunayTriangulationTraits_2 ()
| default constructor.
| DelaunayTriangulationTraits_2 (DelaunayTriangulationTraits_2 dtt)
| copy constructor
DelaunayTriangulationTraits_2 | operator= (traits2)
| Assignment operator.

## Access to Predicate and Constructor Objects

Side_of_oriented_circle_2 | side_of_oriented_circle_2_object ()
The following functions are required only if member functions of the Delaunay triangulation relative to the dual Voronoi diagram are called.
Compare_distance_2 | compare_distance_2_object ()
Construct_circumcenter_2 | construct_circumcenter_2_object ()
Construct_bisector_2 | construct_bisector_2_object ()
Construct_ray_2 | construct_ray_2_object ()

## Member Typedef Documentation

typedef unspecified_type DelaunayTriangulationTraits_2::Compare_distance_2

A function object to compare two distances for three points.

Provides the operator:

`Comparison_result operator()(Point_2 p, Point_2 q, Point_2 r)` which returns `SMALLER`, `EQUAL` or `LARGER` according to the distance between `p` and `q` being smaller, equal or larger than the distance between `p` and `r`. This type is only require if `nearest_vertex` queries are issued.

typedef unspecified_type DelaunayTriangulationTraits_2::Construct_bisector_2

A function object to construct the bisector of two points.

Provides the operator:

`Line_2 operator()(Point_2 p, Point_2 q)` which constructs the bisector line of points `p` and `q`. This type is required only if functions relative to the dual Voronoi diagram are called.

typedef unspecified_type DelaunayTriangulationTraits_2::Construct_circumcenter_2

A function object to construct the circumcenter of three points.

Provides the operator:

`Point_2 operator()(Point_2 p, Point_2 q, Point_2 r)` which returns the circumcenter of the three points `p, q` and `r`. This type is required only if functions relative to the dual Voronoi diagram are called.

typedef unspecified_type DelaunayTriangulationTraits_2::Construct_ray_2

A function object to build a ray from a point and a line.

Provides the operator:

`Ray_2 operator() ( Point_2 p, Line_2 l);`

typedef unspecified_type DelaunayTriangulationTraits_2::Line_2

The line type.

This type is required only if some dual functions are called.

typedef unspecified_type DelaunayTriangulationTraits_2::Ray_2

The type for ray.

This type is required only if some dual functions are called.

typedef unspecified_type DelaunayTriangulationTraits_2::Side_of_oriented_circle_2

A function object to perform an incircle test for a point and three other points.

Provides the operator:

`Oriented_side operator()(Point p, Point q, Point r, Point s)` which takes four points `p, q, r, s` as arguments and returns `ON_POSITIVE_SIDE`, `ON_NEGATIVE_SIDE` or, `ON_ORIENTED_BOUNDARY` according to the position of points `s` with respect to the oriented circle through `p, q` and `r`.