CGAL 5.3 - 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.

DefaultConstructible and CopyConstructable
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