 CGAL 5.4 - 2D Minkowski Sums
PolygonConvexDecomposition_2 Concept Reference

## Definition

A model of the PolygonConvexDecomposition_2 concept is capable of decomposing an input polygon $$P$$ into a set of convex sub-polygons $$P_1, \ldots, P_k$$, such that $$\cup_{i=1}^{k}{P_k} = P$$.

Has Models:

CGAL::Small_side_angle_bisector_decomposition_2<Kernel,Container>

CGAL::Optimal_convex_decomposition_2<Kernel,Container>

CGAL::Hertel_Mehlhorn_convex_decomposition_2<Kernel,Container>

CGAL::Greene_convex_decomposition_2<Kernel,Container>

CGAL::Polygon_nop_decomposition_2<Kernel,Container>

## Types

typedef unspecified_type Kernel
the geometric kernel type. More...

typedef unspecified_type Container
the container of points type. More...

typedef unspecified_type Point_2
the point type, used to represent polygon vertices. More...

typedef unspecified_type Polygon_2
the polygon type, defined as Polygon_2<Kernel,Container>. More...

## Creation

PolygonConvexDecomposition_2 ()
default constructor. More...

## Operations

template<class OutputIterator >
OutputIterator operator() (const Polygon_2 &P, OutputIterator oi) const
decomposes the input polygon P into convex sub-polygons, and writes them to the output iterator oi. More...

## ◆ Container

the container of points type.

By default it is std::vector<typename Kernel::Point_2>.

## ◆ Kernel

the geometric kernel type.

## ◆ Point_2

the point type, used to represent polygon vertices.

## ◆ Polygon_2

the polygon type, defined as Polygon_2<Kernel,Container>.

## ◆ PolygonConvexDecomposition_2()

 PolygonConvexDecomposition_2::PolygonConvexDecomposition_2 ( )

default constructor.

## ◆ operator()()

template<class OutputIterator >
 OutputIterator PolygonConvexDecomposition_2::operator() ( const Polygon_2 & P, OutputIterator oi ) const

decomposes the input polygon P into convex sub-polygons, and writes them to the output iterator oi.

The value-type of the output iterator must be Polygon_2. The function returns a past-the-end iterator for the convex sub-polygons.