\( \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 5.0.2 - 2D Minkowski Sums
CGAL::Greene_convex_decomposition_2< Kernel, Container > Class Template Reference

#include <CGAL/Polygon_convex_decomposition_2.h>

Definition

The Greene_convex_decomposition_2 class implements the approximation algorithm of Greene for the decomposition of an input polygon into convex sub-polygons [6].

This algorithm takes \( O(n \log n)\) time and \( O(n)\) space, where \( n\) is the size of the input polygon, and outputs a decomposition whose size is guaranteed to be no more than four times the size of the optimal decomposition.

Template Parameters
Kernelmust be a geometric kernel that can be used for the polygon.
Containermust be a container that can be used for the polygon. It is by default std::vector<typename Kernel::Point_2>.
Is Model Of:
PolygonConvexDecomposition_2
See also
CGAL::greene_approx_convex_partition_2()

Public Types

typedef CGAL::Polygon_2< Kernel, ContainerPolygon_2