\( \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.12 - 2D Polygon Partitioning
YMonotonePartitionTraits_2 Concept Reference


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

Has Models:


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.


A copy constructor and default constructor are required.

 YMonotonePartitionTraits ()
 YMonotonePartitionTraits (const YMonotonePartitionTraits tr)


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 ()