CGAL 6.1 - 2D Polygon Partitioning

Loading...
Searching...
No Matches
List of all members
OptimalConvexPartitionTraits_2 Concept Reference
Reference Manual » Concepts

## 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>`

See also
  `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.
typedef unspecified_type | Are_stritcly_ordered_along_line_2
| Predicate object type that determines orderings of `Point_2` 's.

## 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

## Member Typedef Documentation

## ◆ Are_stritcly_ordered_along_line_2

typedef unspecified_type OptimalConvexPartitionTraits_2::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

typedef unspecified_type OptimalConvexPartitionTraits_2::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.