CGAL 5.6 - 2D Polygons
PolygonTraits_2 Concept Reference


The CGAL::Polygon_2 class and the functions that implement the functionality found in that class each are parameterized by a traits class that defines the primitives used in the algorithms. The concept PolygonTraits_2 defines this common set of requirements.

The requirements of PolygonTraits_2 are a subset of the kernel requirements. We only list the types and methods which are required and refer to the description of the kernel concept for details.

Has Models:

The kernels supplied by CGAL are models of PolygonTraits_2.




See also
CGAL::Polygon_2<PolygonTraits_2, Container>


typedef unspecified_type FT
 number type
typedef unspecified_type Point_2
 The point type.
typedef unspecified_type Segment_2
 The segment type.
typedef unspecified_type Construct_segment_2
 functor providing Segment_2 operator()(Point_2, Point_2) to construct a segment from two points.
typedef unspecified_type Equal_2
 functor providing bool operator()(Point_2, Point_2) to test equality of two points.
typedef unspecified_type Less_xy_2
 functor providing bool operator()(Point_2, Point_2) to compare lexicographically of two points.
typedef unspecified_type Less_yx_2
 functor providing bool operator()(Point_2, Point_2) to compare inverse-lexicographically of two points.
typedef unspecified_type Compare_x_2
 functor providing bool operator()(Point_2, Point_2) to compare the x-coordinate of two points.
typedef unspecified_type Compare_y_2
 functor providing bool operator()(Point_2, Point_2) to compare the y-coordinate of two points.
typedef unspecified_type Orientation_2
 functor providing Oriention 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, CGAL::RIGHT_TURN if r lies to the right of l, and CGAL::COLLINEAR if r lies on l.
typedef unspecified_type Compute_area_2
 Computes the signed area of the oriented triangle defined by 3 Point_2 passed as arguments.


The following functions that create instances of the above predicate object types must exist.

Equal_2 equal_2_object ()
 returns the corresponding function object
Less_xy_2 less_xy_2_object ()
 returns the corresponding function object
Less_yx_2 less_yx_2_object ()
 returns the corresponding function object
Compare_y_2 compare_y_2_object ()
 returns the corresponding function object
Compare_x_2 compare_x_2_object ()
 returns the corresponding function object
Orientation_2 orientation_2_object ()
 returns the corresponding function object
Compute_area_2 compute_area_2_object ()
 returns the corresponding function object
Construct_segment_2 construct_segment_2_object ()
 returns the corresponding function object