diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2.h index ce81aec3fdb..8c68af0c832 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2.h @@ -5,32 +5,17 @@ namespace CGAL { \ingroup PkgBooleanSetOperations2 \anchor ref_bso_complement -Each one of these functions computes the complement of a given -polygon `pgn`, and stores the resulting polygon with holes in -`res`. +The `complement` function is overloaded. Depending on the +type of polygon `pgn` the complement is either a single (general) polygon with +holes, or several (general) poylgons with holes. In the latter case +the `complement function` writes them into an output iterator +`oi`. -
- - - - -
Arg type
Polygon_2
General_polygon_2
-
+\param pgn The input polygon for the `complement` function. It may be of the type +`Polygon_2`, `General_polygon_2`, `Polygon_with_holes_2`, or +`General_polygon_with_holes_2`. -Each one of these functions computes the complement of a given -polygon `pgn`, inserts the resulting polygons with -holes into an output container through a given output iterator -`oi`, and returns the output iterator. The value type of the -`OutputIterator` is either `Polygon_with_holes_2` or -`General_polygon_with_holes_2`. -
- - - - -
Arg type
Polygon_with_holes_2
General_polygon_with_holes_2
-
\sa `CGAL::do_intersect` \sa `CGAL::intersection` @@ -39,12 +24,30 @@ holes into an output container through a given output iterator \sa `CGAL::symmetric_difference` */ /// @{ + +/*! + writes the complement of the polygon `pgn` into the polygon with holes `res`. + */ template void complement(const Polygon_2 & pgn, Polygon_with_holes_2 & res); + +/*! + writes the complement of the general polygon `pgn` into the general polygon with holes `res`. + */ template void complement(const General_polygon_2 & pgn, General_polygon_with_holes_2 & res); + +/*! + writes the complement of the polygon with holes `pgn` into the output iterator `oi`. + The value type of `oi` is `Polygon_with_holes_2`. + */ template OutputIterator complement(const Polygon_with_holes_2 & pgn, OutputIterator oi); + +/*! + writes the complement of the general polygon with holes `pgn` into the output iterator `oi`. + The value type of `oi` is `General_polygon_with_holes_2`. + */ template OutputIterator complement(const General_polygon_with_holes_2 > & pgn, OutputIterator oi); /// @} @@ -54,7 +57,9 @@ OutputIterator complement(const General_polygon_with_holes_2 +The signature of the function is +\code + OutputIterator + difference(const Type1 & p1, const Type2 & p2, OutputIterator oi); +\endcode + +###Parameters### + +The types of the paramters of the `difference` function are any of the following combinations. + +
- + @@ -77,7 +91,6 @@ CONVERROR HtmlOnly needs treatment
Arg 1 typeArg 2 type
Type1Type2
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-CONVERROR EndHtmlOnly \sa `CGAL::do_intersect` \sa `CGAL::intersection` @@ -86,303 +99,83 @@ CONVERROR EndHtmlOnly */ -OutputIterator difference(const Type1 & p1, const Type2 & p2, -OutputIterator oi); + +/// @{ /*! -\ingroup PkgBooleanSetOperations2 - -Each one of these functions computes the difference between two given -polygons `p1` and `p2`, and inserts the resulting polygons -with holes into an output container through the output iterator `oi`. -The value type of the `OutputIterator` is either -`Polygon_with_holes_2` or -`General_polygon_with_holes_2`. - -CONVERROR HtmlOnly needs treatment -
- - - - - - - - - - -
Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-
-CONVERROR EndHtmlOnly - -\sa `CGAL::do_intersect` -\sa `CGAL::intersection` -\sa `CGAL::join` -\sa `CGAL::symmetric_difference` - -*/ + writes the difference of the polygons `p1` and `p2` into the output iterator `oi`. + The value type of `oi` is `Polygon_with_holes_2`. + */ template OutputIterator difference(const Polygon_2 & p1, -const Polygon_2 & p2, -OutputIterator oi); + const Polygon_2 & p2, + OutputIterator oi); /*! -\ingroup PkgBooleanSetOperations2 - -Each one of these functions computes the difference between two given -polygons `p1` and `p2`, and inserts the resulting polygons -with holes into an output container through the output iterator `oi`. -The value type of the `OutputIterator` is either -`Polygon_with_holes_2` or -`General_polygon_with_holes_2`. - -CONVERROR HtmlOnly needs treatment -
- - - - - - - - - - -
Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-
-CONVERROR EndHtmlOnly - -\sa `CGAL::do_intersect` -\sa `CGAL::intersection` -\sa `CGAL::join` -\sa `CGAL::symmetric_difference` - -*/ + writes the difference of the polygons `p1` and `p2` into the output iterator `oi`. + The value type of `oi` is `Polygon_with_holes_2`. + */ template OutputIterator difference(const Polygon_2 & p1, -const Polygon_with_holes_2 & p2, -OutputIterator oi); + const Polygon_with_holes_2 & p2, + OutputIterator oi); /*! -\ingroup PkgBooleanSetOperations2 - -Each one of these functions computes the difference between two given -polygons `p1` and `p2`, and inserts the resulting polygons -with holes into an output container through the output iterator `oi`. -The value type of the `OutputIterator` is either -`Polygon_with_holes_2` or -`General_polygon_with_holes_2`. - -CONVERROR HtmlOnly needs treatment -
- - - - - - - - - - -
Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-
-CONVERROR EndHtmlOnly - -\sa `CGAL::do_intersect` -\sa `CGAL::intersection` -\sa `CGAL::join` -\sa `CGAL::symmetric_difference` - -*/ + writes the difference of the polygons `p1` and `p2` into the output iterator `oi`. + The value type of `oi` is `Polygon_with_holes_2`. + */ template OutputIterator difference(const Polygon_with_holes_2 & p1, -const Polygon_2 & p2, -OutputIterator oi); + const Polygon_2 & p2, + OutputIterator oi); /*! -\ingroup PkgBooleanSetOperations2 - -Each one of these functions computes the difference between two given -polygons `p1` and `p2`, and inserts the resulting polygons -with holes into an output container through the output iterator `oi`. -The value type of the `OutputIterator` is either -`Polygon_with_holes_2` or -`General_polygon_with_holes_2`. - -CONVERROR HtmlOnly needs treatment -
- - - - - - - - - - -
Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-
-CONVERROR EndHtmlOnly - -\sa `CGAL::do_intersect` -\sa `CGAL::intersection` -\sa `CGAL::join` -\sa `CGAL::symmetric_difference` - -*/ + writes the difference of the polygons `p1` and `p2` into the output iterator `oi`. + The value type of `oi` is `Polygon_with_holes_2`. + */ template OutputIterator difference(const Polygon_with_holes_2 & p1, -const Polygon_with_holes_2 & p2, -OutputIterator oi); + const Polygon_with_holes_2 & p2, + OutputIterator oi); /*! -\ingroup PkgBooleanSetOperations2 - -Each one of these functions computes the difference between two given -polygons `p1` and `p2`, and inserts the resulting polygons -with holes into an output container through the output iterator `oi`. -The value type of the `OutputIterator` is either -`Polygon_with_holes_2` or -`General_polygon_with_holes_2`. - -CONVERROR HtmlOnly needs treatment -
- - - - - - - - - - -
Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-
-CONVERROR EndHtmlOnly - -\sa `CGAL::do_intersect` -\sa `CGAL::intersection` -\sa `CGAL::join` -\sa `CGAL::symmetric_difference` - -*/ + writes the difference of the general polygons `p1` and `p2` into the output iterator `oi`. + The value type of `oi` is `General_polygon_with_holes_2`. + */ template OutputIterator difference(const General_polygon_2 & p1, -const General_polygon_2 & p2, -OutputIterator oi); + const General_polygon_2 & p2, + OutputIterator oi); /*! -\ingroup PkgBooleanSetOperations2 - -Each one of these functions computes the difference between two given -polygons `p1` and `p2`, and inserts the resulting polygons -with holes into an output container through the output iterator `oi`. -The value type of the `OutputIterator` is either -`Polygon_with_holes_2` or -`General_polygon_with_holes_2`. - -CONVERROR HtmlOnly needs treatment -
- - - - - - - - - - -
Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-
-CONVERROR EndHtmlOnly - -\sa `CGAL::do_intersect` -\sa `CGAL::intersection` -\sa `CGAL::join` -\sa `CGAL::symmetric_difference` - -*/ + writes the difference of the general polygons `p1` and `p2` into the output iterator `oi`. + The value type of `oi` is `General_polygon_with_holes_2`. + */ template OutputIterator difference(const General_polygon_with_holes_2 > & p1, -const General_polygon_2 & p2, -OutputIterator oi); + const General_polygon_2 & p2, + OutputIterator oi); + /*! -\ingroup PkgBooleanSetOperations2 - -Each one of these functions computes the difference between two given -polygons `p1` and `p2`, and inserts the resulting polygons -with holes into an output container through the output iterator `oi`. -The value type of the `OutputIterator` is either -`Polygon_with_holes_2` or -`General_polygon_with_holes_2`. - -CONVERROR HtmlOnly needs treatment -
- - - - - - - - - - -
Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-
-CONVERROR EndHtmlOnly - -\sa `CGAL::do_intersect` -\sa `CGAL::intersection` -\sa `CGAL::join` -\sa `CGAL::symmetric_difference` - -*/ + writes the difference of the general polygons `p1` and `p2` into the output iterator `oi`. + The value type of `oi` is `General_polygon_with_holes_2`. + */ template OutputIterator difference(const General_polygon_2 & p1, -const General_polygon_with_holes_2 > & p2, -OutputIterator oi); + const General_polygon_with_holes_2 > & p2, + OutputIterator oi); + /*! -\ingroup PkgBooleanSetOperations2 - -Each one of these functions computes the difference between two given -polygons `p1` and `p2`, and inserts the resulting polygons -with holes into an output container through the output iterator `oi`. -The value type of the `OutputIterator` is either -`Polygon_with_holes_2` or -`General_polygon_with_holes_2`. - -CONVERROR HtmlOnly needs treatment -
- - - - - - - - - - -
Arg 1 typeArg 2 type
Polygon_2Polygon_2
Polygon_2Polygon_with_holes_2
Polygon_with_holes_2Polygon_2
Polygon_with_holes_2Polygon_with_holes_2
General_polygon_2General_polygon_2
General_polygon_2General_polygon_with_holes_2
General_polygon_with_holes_2General_polygon_2
General_polygon_with_holes_2General_polygon_with_holes_2
-
-CONVERROR EndHtmlOnly - -\sa `CGAL::do_intersect` -\sa `CGAL::intersection` -\sa `CGAL::join` -\sa `CGAL::symmetric_difference` - -*/ + writes the difference of the general polygons `p1` and `p2` into the output iterator `oi`. + The value type of `oi` is `General_polygon_with_holes_2`. + */ template OutputIterator difference(const General_polygon_with_holes_2 & p1, -const General_polygon_with_holes_2 & p2); + const General_polygon_with_holes_2 & p2, + OutputIterator oi); +/// @} } /* namespace CGAL */ diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_2.h index 375600d3a4d..db4e79b8054 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_2.h @@ -92,7 +92,7 @@ by the points themselves in counterclockwise order, followed by the number of ho and for each hole, the number of points of the outer boundary is followed by the points themselves in clockwise order. -\relate General_polygon_2 +\relates General_polygon_2 */ template std::istream& operator>>(std::istream& in, CGAL::General_polygon_2& P); @@ -113,7 +113,7 @@ comments. The number of curves of the outer boundary is exported followed by the curves themselves in counterclockwise order. -\relate General_polygon_2 +\relates General_polygon_2 */ template std::ostream& operator<<(std::ostream& out, CGAL::General_polygon_2& P); diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_with_holes_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_with_holes_2.h index e6cbe5670e8..3426cbee2e4 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_with_holes_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_with_holes_2.h @@ -41,7 +41,7 @@ by the number of holes, and for each hole, the number of curves on its outer boundary is followed by the curves themselves in clockwise order. -\relate General_polygon_with_holes_2 +\relates General_polygon_with_holes_2 */ template std::istream& operator>>(std::istream& in, CGAL::General_polygon_with_holes_2& P); @@ -65,7 +65,7 @@ is exported, and for each hole, the number of curves on its outer boundary is exported followed by the curves themselves in clockwise order. -\relate General_polygon_with_holes_2 +\relates General_polygon_with_holes_2 */ template std::ostream& operator<<(std::ostream& out, CGAL::General_polygon_with_holes_2& P); diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Polygon_with_holes_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Polygon_with_holes_2.h index b7e122413b1..890b8d697cf 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Polygon_with_holes_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Polygon_with_holes_2.h @@ -32,7 +32,7 @@ by the points themselves in counterclockwise order, followed by the number of ho and for each hole, the number of points of the outer boundary is followed by the points themselves in clockwise order. -\relate Polygon_with_holes_2 +\relates Polygon_with_holes_2 */ template std::istream& operator>>(std::istream& in, CGAL::Polygon_with_holes_2& P); @@ -56,7 +56,7 @@ is exported, and for each hole, the number of points on its outer boundary is exported followed by the points themselves in clockwise order. -\relate Polygon_with_holes_2 +\relates Polygon_with_holes_2 */ template std::ostream& operator<<(std::ostream& out, CGAL::Polygon_with_holes_2& P);