#include <Concepts/PartitionTraits_2.h>
The polygon partitioning functions are each parameterized by a traits class that defines the primitives used in the algorithms. Many requirements are common to all traits classes. The concept PartitionTraits_2
defines this common set of requirements.
- Has models
CGAL::Partition_traits_2<R>
- See also
CGAL::approx_convex_partition_2()
-
CGAL::greene_approx_convex_partition_2()
-
CGAL::optimal_convex_partition_2()
-
CGAL::y_monotone_partition_2()
|
typedef unspecified_type | Point_2 |
| The point type on which the partitioning algorithm operates.
|
|
typedef unspecified_type | Polygon_2 |
| The polygon type to be created by the partitioning algorithm.
|
|
typedef unspecified_type | Less_xy_2 |
| Predicate object type that compares Point_2 s lexicographically.
|
|
typedef unspecified_type | Less_yx_2 |
| Same as Less_xy_2 with the roles of \( x\) and \( y\) interchanged.
|
|
typedef unspecified_type | Left_turn_2 |
| Predicate object type that provides bool operator()(Point_2 p,Point_2 q,Point_2 r) , which returns true iff r lies to the left of the oriented line through p and q .
|
|
typedef unspecified_type | Orientation_2 |
| Predicate object type that provides CGAL::Orientation operator()(Point_2 p, Point_2 q, Point_2 r) that returns CGAL::LEFT_TURN , if \( r\) lies to the left of the oriented line \( l\) defined by \( p\) and \( q\), returns CGAL::RIGHT_TURN if \( r\) lies to the right of \( l\), and returns CGAL::COLLINEAR if \( r\) lies on \( l\).
|
|
typedef unspecified_type | Compare_y_2 |
| Predicate object type that provides CGAL::Comparison_result operator()(Point_2 p, Point_2 q) to compare the \( y\) values of two points.
|
|
typedef unspecified_type | Compare_x_2 |
| The same as Compare_y_2 , except that \( x\) coordinates are compared instead of \( y\).
|
|
◆ Compare_x_2
The same as Compare_y_2
, except that \( x\) coordinates are compared instead of \( y\).
◆ Compare_y_2
Predicate object type that provides CGAL::Comparison_result operator()(Point_2 p, Point_2 q)
to compare the \( y\) values of two points.
The operator must return CGAL::SMALLER
if \( p_y < q_y\), CGAL::LARGER
if \( p_y > q_y\) and CGAL::EQUAL
if \( p_y = q_y\).
◆ Left_turn_2
Predicate object type that provides bool operator()(Point_2 p,Point_2 q,Point_2 r)
, which returns true
iff r
lies to the left of the oriented line through p
and q
.
◆ Less_xy_2
Predicate object type that compares Point_2
s lexicographically.
Must provide bool operator()(Point_2 p, Point_2 q)
where true
is returned iff \( p <_{xy} q\). We have \( p<_{xy}q\), iff \( p_x < q_x\) or \( p_x = q_x\) and \( p_y < q_y\), where \( p_x\) and \( p_y\) denote the \( x\) and \( y\) coordinates of point \( p\), respectively.
◆ Less_yx_2
Same as Less_xy_2
with the roles of \( x\) and \( y\) interchanged.
◆ Orientation_2
Predicate object type that provides CGAL::Orientation operator()(Point_2 p, Point_2 q, Point_2 r)
that returns CGAL::LEFT_TURN
, if \( r\) lies to the left of the oriented line \( l\) defined by \( p\) and \( q\), returns CGAL::RIGHT_TURN
if \( r\) lies to the right of \( l\), and returns CGAL::COLLINEAR
if \( r\) lies on \( l\).
◆ Point_2
The point type on which the partitioning algorithm operates.
◆ Polygon_2
The polygon type to be created by the partitioning algorithm.
For testing the validity postcondition of the partition, this type should provide a nested type Vertex_const_iterator
that is the type of the iterator over the polygon vertices and member functions Vertex_const_iterator vertices_begin()
and Vertex_const_iterator vertices_end()
.
◆ PartitionTraits_2() [1/2]
PartitionTraits_2::PartitionTraits_2 |
( |
| ) |
|
◆ PartitionTraits_2() [2/2]
◆ compare_x_2_object()
Compare_x_2 PartitionTraits_2::compare_x_2_object |
( |
| ) |
const |
◆ compare_y_2_object()
Compare_y_2 PartitionTraits_2::compare_y_2_object |
( |
| ) |
const |
◆ left_turn_2_object()
Left_turn_2 PartitionTraits_2::left_turn_2_object |
( |
| ) |
const |
◆ less_xy_2_object()
Less_xy_2 PartitionTraits_2::less_xy_2_object |
( |
| ) |
const |
◆ less_yx_2_object()
Less_yx_2 PartitionTraits_2::less_yx_2_object |
( |
| ) |
const |
◆ orientation_2_object()