\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.14 - 2D Polygons
PolygonTraits_2 Concept Reference

Definition

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.

Refines:
DefaultConstructible and CopyConstructable
Has Models:

The kernels supplied by CGAL are models of PolygonTraits_2.

CGAL::Projection_traits_xy_3<K>

CGAL::Projection_traits_yz_3<K>

CGAL::Projection_traits_xz_3<K>

See also
CGAL::Polygon_2<PolygonTraits_2, Container>

Types

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.
 

Operations

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