\( \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.4 - 2D Minkowski Sums
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Optimal_convex_decomposition_2< Kernel, Container > Class Template Reference

#include <CGAL/Polygon_convex_decomposition_2.h>

Definition

The Optimal_convex_decomposition_2 class provides an implementation of Greene's dynamic programming algorithm for optimal decomposition of a polygon into convex sub-polygons [4]. Note that this algorithm requires \( O(n^4)\) time and \( O(n^3)\) space in the worst case, where \( n\) is the size of the input polygon.

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::optimal_convex_partition_2()

Public Types

typedef CGAL::Polygon_2
< Kernel, Container > 
Polygon_2