diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/minkowski_sum_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/minkowski_sum_2.h index dcc889942eb..79d4e18fb3e 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/minkowski_sum_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/minkowski_sum_2.h @@ -3,6 +3,45 @@ namespace CGAL { /*! \ingroup PkgMinkowskiSum2 +Computes the Minkowski sum \f$ P \oplus Q\f$ of the two given polygons +using the reduced convolution method. +Note that as the input polygons may not be convex, their Minkowski +sum may not be a simple polygon. The result is therefore represented +as a polygon with holes. + +\pre Both `P` and `Q` are simple, counterclockwise-oriented polygons. + +\sa `CGAL::minkowski_sum_reduced_convolution_2()` +\sa `CGAL::minkowski_sum_full_convolution_2()` + */ +template +Polygon_with_holes_2 +minkowski_sum_2 (const Polygon_2& P, +const Polygon_2& Q); + +/*! +\ingroup PkgMinkowskiSum2 + +Computes the Minkowski sum \f$ P \oplus Q\f$ of the two given polygons. +The function computes the reduced convolution of the two polygons and +extracts those loops of the convolution which are part of the Minkowsi +sum. This method works very efficiently, regardless of whether `P` and +`Q` are convex or non-convex. +Note that as the input polygons may not be convex, their Minkowski +sum may not be a simple polygon. The result is therefore represented +as a polygon with holes. + +\pre Both `P` and `Q` are simple, counterclockwise-oriented polygons. +*/ + +template +Polygon_with_holes_2 +minkowski_sum_reduced_convolution_2 (const Polygon_2& P, +const Polygon_2& Q); + +/*! +\ingroup PkgMinkowskiSum2 + Computes the Minkowski sum \f$ P \oplus Q\f$ of the two given polygons. The function computes the convolution cycles of the two polygons and extract the regions having positive winding number with respect to these @@ -11,11 +50,12 @@ and `Q` are convex or non-convex. Note that as the input polygons may not be convex, their Minkowski sum may not be a simple polygon. The result is therefore represented as a polygon with holes. + \pre Both `P` and `Q` are simple polygons. */ template Polygon_with_holes_2 -minkowski_sum_2 (const Polygon_2& P, +minkowski_sum_full_convolution_2 (const Polygon_2& P, const Polygon_2& Q); /*!