The Hertel_Mehlhorn_convex_decomposition_2<Kernel,Container> class implements the approximation algorithm of Hertel and Mehlhorn for decomposing a polygon into convex sub-polygons [HM83]. This algorithm constructs a triangulation of the input polygon and proceeds by removing unnecessary triangulation edges. Given the triangulation, the algorithm requires O(n) time and space to construct a convex decomposition (where n is the size of the input polygon), whose size is guaranteed to be no more than four times the size of the optimal decomposition.

The Polygon_2 type defined by the class is simply Polygon_2<Kernel,Container>. The Container parameter is by default std::vector<typename Kernel::Point_2>.

#include <CGAL/Polygon_convex_decomposition_2.h>

Is Model for the Concepts


See Also