CGAL 6.0 - 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()
.