diff --git a/Minkowski_sum_2/include/CGAL/minkowski_sum_2.h b/Minkowski_sum_2/include/CGAL/minkowski_sum_2.h index afb99198e11..1715d66d5f8 100644 --- a/Minkowski_sum_2/include/CGAL/minkowski_sum_2.h +++ b/Minkowski_sum_2/include/CGAL/minkowski_sum_2.h @@ -25,6 +25,7 @@ #include #include #include +#include #include @@ -306,6 +307,17 @@ minkowski_sum_2(const Polygon_2& pgn1, * \param[in] decomposition_strategy A functor for decomposing polygons. * \param[in] traits The traits. * \return The resulting polygon with holes, representing the sum. + * + * The type of the last argument, namely, + * Gps_segment_traits_2 + * and the type + * const typename Minkowski_sum_by_decomposition_2::Traits_2> + * are exchangable except for in one case, where there is an ambiguity. + * Thus, we use the former, even though it is less generic, as change to the + * traits type in Minkowski_sum_by_decomposition_2 would require a similar + * change here. */ template @@ -314,10 +326,7 @@ minkowski_sum_2(const Polygon_2& pgn1, const Polygon_2& pgn2, const DecompositionStrategy1_& decomposition_strategy1, const DecompositionStrategy2_& decomposition_strategy2, - const typename - Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Container_ Container; typedef DecompositionStrategy1_ Decomposition_strategy1; @@ -372,10 +381,7 @@ minkowski_sum_2(const Polygon_with_holes_2& pgn1, const Polygon_with_holes_2& pgn2, const DecompositionStrategy1_& decomposition_strategy1, const DecompositionStrategy2_& decomposition_strategy2, - const typename - Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Kernel_ Kernel; typedef Container_ Container; @@ -435,10 +441,7 @@ minkowski_sum_2(const Polygon_2& pgn1, const Polygon_with_holes_2& pgn2, const DecompositionStrategy1_& decomposition_strategy1, const DecompositionStrategy2_& decomposition_strategy2, - const typename - Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Kernel_ Kernel; typedef Container_ Container; @@ -449,7 +452,7 @@ minkowski_sum_2(const Polygon_2& pgn1, Decomposition_strategy2, Container> mink_sum(decomposition_strategy1, decomposition_strategy2, traits); Hole_filter_2 hole_filter; - Polygon_with_holes_2 filtered_pgn2; + Polygon_with_holes_2 filtered_pgn2; hole_filter(pgn2, pgn1, filtered_pgn2); return mink_sum(pgn1, filtered_pgn2); } @@ -496,10 +499,7 @@ minkowski_sum_2(const Polygon_with_holes_2& pgn1, const Polygon_2& pgn2, const DecompositionStrategy1_& decomposition_strategy1, const DecompositionStrategy2_& decomposition_strategy2, - const typename - Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { return minkowski_sum_2(pgn2, pgn1, decomposition_strategy2, decomposition_strategy1, @@ -550,10 +550,7 @@ Polygon_with_holes_2 minkowski_sum_2(const Polygon_2& pgn1, const Polygon_2& pgn2, const DecompositionStrategy1_& decomposition_strategy1, - const typename - Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Container_ Container; typedef DecompositionStrategy1_ Decomposition_strategy1; @@ -605,10 +602,7 @@ Polygon_with_holes_2 minkowski_sum_2(const Polygon_with_holes_2& pgn1, const Polygon_with_holes_2& pgn2, const DecompositionStrategy1_& decomposition_strategy1, - const typename - Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Kernel_ Kernel; typedef Container_ Container; @@ -665,10 +659,7 @@ Polygon_with_holes_2 minkowski_sum_2(const Polygon_2& pgn1, const Polygon_with_holes_2& pgn2, const DecompositionStrategy1_& decomposition_strategy1, - const typename - Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Kernel_ Kernel; typedef Container_ Container; @@ -723,10 +714,7 @@ Polygon_with_holes_2 minkowski_sum_2(const Polygon_with_holes_2& pgn1, const Polygon_2& pgn2, const DecompositionStrategy1_& decomposition_strategy1, - const typename - Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { return minkowski_sum_2(pgn2, pgn1, decomposition_strategy1, decomposition_strategy1, @@ -773,8 +761,7 @@ minkowski_sum_by_decomposition_2 (const Polygon_2& pgn1, const Polygon_2& pgn2, const Decomposition_& decomp, - const typename Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Kernel_ Kernel; typedef Container_ Container; @@ -852,9 +839,7 @@ minkowski_sum_by_decomposition_2 const Polygon_with_holes_2& pgn2, const NoHolesDecomposition_& decomp_no_holes, const WithHolesDecomposition_& decomp_with_holes, - const typename Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Kernel_ Kernel; typedef Container_ Container; @@ -997,9 +982,7 @@ minkowski_sum_by_decomposition_2 const Polygon_with_holes_2& pgn2, const NoHolesDecomposition_& decomp_no_holes, const WithHolesDecomposition_& decomp_with_holes, - const typename Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { typedef Kernel_ Kernel; typedef Container_ Container; @@ -1106,9 +1089,7 @@ minkowski_sum_by_decomposition_2 const Polygon_2& pgn2, const NoHoleDecomposition_& decomp_no_holes, const WithHolesDecomposition_& decomp_with_holes, - const typename Minkowski_sum_by_decomposition_2::Traits_2& traits) + const Gps_segment_traits_2& traits) { return minkowski_sum_by_decomposition_2(pgn2, pgn1, decomp_no_holes, decomp_with_holes,