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

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