CGAL 4.7 - 2D Triangulation: TriangulationTraits_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
TriangulationTraits_2 Concept Reference
Concepts

## Definition

The concept `TriangulationTraits_2` describes the set of requirements to be fulfilled by any class used to instantiate the first template parameter of the class `CGAL::Triangulation_2<Traits,Tds>`. This concept provides the types of the geometric primitives used in the triangulation and some function object types for the required predicates on those primitives.

Has Models:

  All the CGAL Kernels

  `CGAL::Triangulation_euclidean_traits_2<K>`

  `CGAL::Projection_traits_xy_3<K>`

  `CGAL::Projection_traits_yz_3<K>`

  `CGAL::Projection_traits_xz_3<K>`

See Also
  `CGAL::Triangulation_2<Traits,Tds>`

## Types

typedef unspecified_type | Point_2
| The point type.
typedef unspecified_type | Segment_2
| The segment type.
typedef unspecified_type | Triangle_2
| The triangle type.
typedef unspecified_type | Construct_segment_2
| A function object to construct a `Segment_2`. More...
typedef unspecified_type | Construct_triangle_2
| A function object to construct a `Triangle_2`. More...
typedef unspecified_type | Less_x_2
| A function object to compare the x-coordinate of two points. More...
typedef unspecified_type | Less_y_2
| A function object to compare the y-coordinate of two points. More...
typedef unspecified_type | Compare_x_2
| A function object to compare the x-coordinate of two points. More...
typedef unspecified_type | Compare_y_2
| A function object to compare the y-coordinate of two points. More...
typedef unspecified_type | Orientation_2
| A function object to compute the orientation of three points. More...
typedef unspecified_type | Side_of_oriented_circle_2
| A function object to perform the incircle test for four points. More...
typedef unspecified_type | Construct_circumcenter_2
| A function object to compute the circumcentr of three points. More...

## Creation

Only a default constructor, copy constructor and an assignment operator are required. Note that further constructors can be provided.
| TriangulationTraits_2 ()
| default constructor.
| TriangulationTraits_2 (TriangulationTraits_2 gtr)
| Copy constructor.
TriangulationTraits_2 | operator= (TriangulationTraits_2 gtr)
| Assignment operator.

## Predicate Functions

The following functions give access to the predicate and constructor objects.
Construct_segment_2 | construct_segment_2_object ()
Construct_triangle_2 | construct_triangle_2_object ()
Comparison_x_2 | compare_x_2_object ()
Comparison_y_2 | compare_y_2_object ()
Orientation_2 | orientation_2_object ()
Side_of_oriented_circle_2 | side_of_oriented_circle_2_object ()
| Required only if `side_of_oriented_circle` is called called.
Construct_circumcenter_2 | construct_circumcenter_2_object ()
| Required only if `circumcenter` is called.

## Member Typedef Documentation

typedef unspecified_type TriangulationTraits_2::Compare_x_2

A function object to compare the x-coordinate of two points.

Provides the operator:

`Comparison_result operator()(Point p, Point q)`

which returns `SMALLER, EQUAL` or `LARGER` according to the \( x\)-ordering of points `p` and `q`.

typedef unspecified_type TriangulationTraits_2::Compare_y_2

A function object to compare the y-coordinate of two points.

Provides the operator:

`Comparison_result operator()(Point p, Point q)`

which returns (`SMALLER, EQUAL` or `LARGER`) according to the \( y\)-ordering of points `p` and `q`.

typedef unspecified_type TriangulationTraits_2::Construct_circumcenter_2

A function object to compute the circumcentr of three points.

Provides the operator:

`Point operator()(Point p, Point q, Point r)`

which returns the circumcenter of the three points `p, q` and `r`. This type is required only if the function `Point circumcenter(Face_handle f)`is called.

typedef unspecified_type TriangulationTraits_2::Construct_segment_2

A function object to construct a `Segment_2`.

Provides:

`Segment_2 operator()(Point_2 p,Point_2 q)`,

which constructs a segment from two points.

typedef unspecified_type TriangulationTraits_2::Construct_triangle_2

A function object to construct a `Triangle_2`.

Provides:

`Triangle_2 operator()(Point_2 p,Point_2 q,Point_2 r )`,

which constructs a triangle from three points.

typedef unspecified_type TriangulationTraits_2::Less_x_2

A function object to compare the x-coordinate of two points.

Provides the operator:

`bool operator()(Point p, Point q)`

which returns `true` if `p` is before `q` according to the \( x\)-ordering of points.

typedef unspecified_type TriangulationTraits_2::Less_y_2

A function object to compare the y-coordinate of two points.

Provides the operator:

`bool operator()(Point p, Point q)`

which returns `true` if `p` is before `q` according to the \( y\)-ordering of points.

typedef unspecified_type TriangulationTraits_2::Orientation_2

A function object to compute the orientation of three points.

Provides the operator:

`Orientation operator()(Point p, Point q, Point r)`

which returns `LEFT_TURN`, `RIGHT_TURN` or `COLLINEAR` depending on \( r\) being, with respect to the oriented line `pq`, on the left side , on the right side or on the line.

typedef unspecified_type TriangulationTraits_2::Side_of_oriented_circle_2

A function object to perform the incircle test for four 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 through \( p,q\) and \( r\). This type is required only if the function `side_of_oriented_circle(Face_handle f, Point p)` is called.