CGAL 5.1.3 - 2D Polygon Partitioning
OptimalConvexPartitionTraits_2 Concept Reference

## Definition

Requirements of a traits class to be used with the function optimal_convex_partition_2() that computes an optimal convex partition of a polygon.

Refines:
PartitionTraits_2
Has Models:
CGAL::Partition_traits_2<R>
CGAL::convex_partition_is_valid_2()
CGAL::Partition_is_valid_traits_2<Traits, PolygonIsValid>

## Types

In addition to the types listed with the concept PartitionTraits_2, the following types are required:

typedef unspecified_type Collinear_are_ordered_along_line_2
Predicate object type that determines orderings of Point_2 's on a line. More...

typedef unspecified_type Are_stritcly_ordered_along_line_2
Predicate object type that determines orderings of Point_2 's. More...

## Creation

Only a copy constructor is required.

OptimalConvexPartitionTraits_2 (OptimalConvexPartitionTraits_2 tr)

## Operations

In addition to the functions required by PartitionTraits_2, the following functions that create instances of the above function object types must exist:

Collinear_are_ordered_along_line_2 collinear_are_ordered_along_line_2_object () const

Are_strictly_ordered_along_line_2 are_strictly_ordered_along_line_2_object () const

## ◆ Are_stritcly_ordered_along_line_2

Predicate object type that determines orderings of Point_2 's.

Must provide bool operator()(Point_2 p, Point_2 q, Point_2 r) that returns true, iff the three points are collinear and q lies strictly between p and r. Note that false should be returned if q==p or q==r.

## ◆ Collinear_are_ordered_along_line_2

Predicate object type that determines orderings of Point_2 's on a line.

Must provide bool operator()(Point_2 p, Point_2 q, Point_2 r) that returns true, iff q lies between p and r and p, q, and r satisfy the precondition that they are collinear.