\( \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
IsYMonotoneTraits_2 Concept Reference
Concepts

## Definition

Requirements of a traits class to be used with the function `is_y_monotone_2()` that tests whether a sequence of 2D points defines a \( y\)-monotone polygon or not.

Has Models:

  `CGAL::Partition_traits_2<R>`

  `CGAL::Kernel_traits_2`

See Also
  `CGAL::Is_y_monotone_2<Traits>`
  `CGAL::y_monotone_partition_2()`
  `CGAL::y_monotone_partition_is_valid_2()`

## Types
The following two types are required:
typedef unspecified_type | Point_2
| The point type of the polygon vertices.
typedef unspecified_type | Less_yx_2
| Predicate object type that compares `Point_2`s lexicographically. More...

## Creation
Only a copy constructor is required.
| IsYMonotoneTraits_2 (IsYMonotoneTraits_2 tr)

## Operations
The following function that creates an instance of the above predicate object type must exist:
Less_yx_2 | less_yx_2_object ()

## Member Typedef Documentation

typedef unspecified_type IsYMonotoneTraits_2::Less_yx_2

Predicate object type that compares `Point_2`s lexicographically.

Must provide `bool operator()(Point_2 p, Point_2 q)` where `true` is returned iff \( p <_{xy} q\). We have \( p<_{xy}q\), iff \( p_x < q_x\) or \( p_x = q_x\) and \( p_y < q_y\), where \( p_x\) and \( p_y\) denote \( x\) and \( y\) coordinate of point \( p\) resp.