\( \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.3 - 2D Polygon Partitioning

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Partition_traits_2< R > Class Template Reference
2D Polygon Partitioning Reference

`#include <CGAL/Partition_traits_2.h>`

## Definition

Traits class that can be used with all the 2-dimensional polygon partitioning algorithms.

It is parameterized by a representation class `R`.

Is Model Of:

  `ConvexPartitionIsValidTraits_2`

  `IsYMonotoneTraits_2`

  `OptimalConvexPartitionTraits_2`

  `PartitionTraits_2`

  `YMonotonePartitionIsValidTraits_2`

  `YMonotonePartitionTraits_2`

See Also
  `CGAL::approx_convex_partition_2()`
  `CGAL::convex_partition_is_valid_2()`
  `CGAL::greene_approx_convex_partition_2()`
  `CGAL::optimal_convex_partition_2()`
  `CGAL::partition_is_valid_2()`
  `CGAL::Partition_is_valid_traits_2<Traits, PolygonIsValid>`
  `CGAL::y_monotone_partition_2()`
  `CGAL::y_monotone_partition_is_valid_2()`

Examples:
  Partition_2/approx_convex_partition_2.cpp, Partition_2/greene_approx_convex_partition_2.cpp, Partition_2/optimal_convex_partition_2.cpp, and Partition_2/y_monotone_partition_2.cpp.

## Types
typedef R::Line_2 | Line_2
typedef R::Segment_2 | Segment_2
typedef R::Ray_2 | Ray_2
typedef R::Less_yx_2 | Less_yx_2
typedef R::Less_xy_2 | Less_xy_2
typedef R::Left_turn_2 | Left_turn_2
typedef R::Orientation_2 | Orientation_2
typedef R::Compare_y_2 | Compare_y_2
typedef R::Compare_x_2 | Compare_x_2
typedef R::Construct_line_2 | Construct_line_2
typedef R::Construct_ray_2 | Construct_ray_2
typedef R::Construct_segment_2 | Construct_segment_2
typedef R::Collinear_are_ordered_along_line_2 | Collinear_are_ordered_along_line_2
typedef R::Are_strictly_ordered_along_line_2 | Are_strictly_ordered_along_line_2
typedef CGAL::Polygon_traits_2< R > | Poly_Traits
typedef Poly_Traits::Point_2 | Point_2
typedef std::list< Point_2 > | Container
typedef CGAL::Polygon_2 < Poly_Traits, Container > | Polygon_2
typedef R::Less_xy_2 | Less_xy
typedef Poly_Traits::Vector_2 | Vector_2
typedef R::FT | FT
typedef Partition_traits_2< R > | Self
typedef CGAL::Is_convex_2< Self > | Is_convex_2
typedef CGAL::Is_y_monotone_2 < Self > | Is_y_monotone_2

## Creation
A default constructor and copy constructor are defined.
| Partition_traits_2 ()
| Partition_traits_2 (Partition_traits_2 &tr)

## Operations
For each predicate object type `Pred_object_type` listed above (i.e., `Less_yx_2`, `Less_xy_2`, `Left_turn_2`, `Orientation_2`, `Compare_y_2`, `Compare_x_2`, `Construct_line_2`, `Construct_ray_2`, `Construct_segment_2`, `Collinear_are_ordered_along_line_2`, `Are_strictly_ordered_along_line_2`, `Is_convex_2`, `Is_y_monotone_2`) there is a corresponding function of the following form defined:
Pred_object_type | pred_object_type_object ()
| Returns an instance of `Pred_object_type`.