\( \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.8 - 2D Polygon Partitioning

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

## Definition

Requirements of a traits class to be used with the function `y_monotone_partition_2()`.

Refines:
  `PartitionTraits_2`

Has Models:
  `CGAL::Partition_traits_2<R>`

## Types
In addition to the types defined for the concept `PartitionTraits_2`, the following types are also required:
typedef unspecified_type | Line_2
typedef unspecified_type | Compare_x_at_y_2
| Predicate object type that provides `CGAL::Comparision_result operator()(Point_2 p, Line_2 h)` to compare the \( x\) coordinate of `p` and the horizontal projection of `p` on `h`.
typedef unspecified_type | Construct_line_2
| Function object type that provides `Line_2 operator()(Point_2 p, Point_2 q)`, which constructs and returns the line defined by the points \( p\) and \( q\).
typedef unspecified_type | Is_horizontal_2
| Function object type that provides `bool operator()(Line_2 l)`, which returns `true` iff the line `l` is horizontal.

## Creation
A copy constructor and default constructor are required.
| YMonotonePartitionTraits ()
| YMonotonePartitionTraits (const YMonotonePartitionTraits tr)

## Operations
In addition to the functions required for the concept `PartitionTraits_2`, the following functions that create instances of the above function object types must exist.
Construct_line_2 | construct_line_2_object ()
Compare_x_at_y_2 | compare_x_at_y_2_object ()
Is_horizontal_2 | is_horizontal_2_object ()