Concept

YMonotonePartitionTraits_2

Definition

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

Refines

PartitionTraits_2

Types

In addition to the types defined for the concept PartitionTraits_2, the following types are also required:

YMonotonePartitionTraits_2::Line_2

YMonotonePartitionTraits_2::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.


YMonotonePartitionTraits_2::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.


YMonotonePartitionTraits_2::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_2 traits;

YMonotonePartitionTraits_2 traits ( 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 traits.construct_line_2_object ()

Compare_x_at_y_2 traits.compare_x_at_y_2_object ()

Is_horizontal_2 traits.is_horizontal_2_object ()

Has Models

CGAL::Partition_traits_2<R>