CGAL 6.0.1 - 2D Polygon Partitioning
|
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.
CGAL::Partition_traits_2<R>
Types | |
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. | |
Creation | |
A copy constructor and default constructor are required. | |
PartitionTraits_2 () | |
PartitionTraits_2 (PartitionTraits_2 tr) | |
Operations | |
The following functions that create instances of the above predicate object types must exist. | |
Less_yx_2 | less_yx_2_object () const |
Less_xy_2 | less_xy_2_object () const |
Left_turn_2 | left_turn_2_object () const |
Orientation_2 | orientation_2_object () const |
Compare_y_2 | compare_y_2_object () const |
Compare_x_2 | compare_x_2_object () const |
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.
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.
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()
.