From 985a94581920e13a20d106718d61b21399085bd8 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Thu, 24 Feb 2011 22:31:37 +0000 Subject: [PATCH] Doc update, added images, Added union/difference docs Added samples [SVN r69253] --- doc/geometry.qbk | 7 ++ doc/html/img/algorithms/difference_a.png | Bin 0 -> 29657 bytes doc/html/img/algorithms/difference_b.png | Bin 0 -> 36608 bytes doc/html/img/algorithms/intersection.png | Bin 0 -> 29613 bytes doc/html/img/algorithms/sym_difference.png | Bin 0 -> 46047 bytes doc/html/img/algorithms/union.png | Bin 0 -> 32033 bytes doc/ref/algorithms/append.qbk | 33 +++++++ doc/ref/algorithms/intersection.qbk | 8 ++ doc/ref/algorithms/sym_difference.qbk | 29 ++++++ doc/ref/algorithms/union.qbk | 25 +++++ doc/ref/core/set_point.qbk | 1 + doc/reference/append.qbk | 16 ++-- doc/reference/assign.qbk | 3 + doc/reference/difference.qbk | 4 +- doc/reference/sym_difference.qbk | 4 +- doc/reference/union.qbk | 2 + doc/src/examples/algorithms/append.cpp | 59 ++++++++++++ doc/src/examples/algorithms/create_svg.hpp | 46 +++++++++ doc/src/examples/algorithms/difference.cpp | 89 ++++++++++++++++++ .../algorithms/intersection_poly_poly.cpp | 65 +++++++++++++ .../examples/algorithms/sym_difference.cpp | 75 +++++++++++++++ doc/src/examples/algorithms/union.cpp | 65 +++++++++++++ 22 files changed, 522 insertions(+), 9 deletions(-) create mode 100644 doc/html/img/algorithms/difference_a.png create mode 100644 doc/html/img/algorithms/difference_b.png create mode 100644 doc/html/img/algorithms/intersection.png create mode 100644 doc/html/img/algorithms/sym_difference.png create mode 100644 doc/html/img/algorithms/union.png create mode 100644 doc/ref/algorithms/append.qbk create mode 100644 doc/ref/algorithms/sym_difference.qbk create mode 100644 doc/ref/algorithms/union.qbk create mode 100644 doc/src/examples/algorithms/append.cpp create mode 100644 doc/src/examples/algorithms/create_svg.hpp create mode 100644 doc/src/examples/algorithms/difference.cpp create mode 100644 doc/src/examples/algorithms/intersection_poly_poly.cpp create mode 100644 doc/src/examples/algorithms/sym_difference.cpp create mode 100644 doc/src/examples/algorithms/union.cpp diff --git a/doc/geometry.qbk b/doc/geometry.qbk index 8efd9f954..4415d1497 100644 --- a/doc/geometry.qbk +++ b/doc/geometry.qbk @@ -29,6 +29,7 @@ [def __0dim__ pointlike (e.g. point)] [def __1dim__ linear (e.g. linestring)] [def __2dim__ areal (e.g. polygon)] +[def DIM2 areal (e.g. polygon)] [def __single__ single (e.g. point, polygon)] [def __multi__ multiple (e.g. multi_point, multi_polygon)] [def __cart__ Cartesian] @@ -41,6 +42,7 @@ [def __point__ Point] [def __linestring__ Linestring] [def __polygon__ Polygon] +[def __ring__ Ring] [def __multi_point__ Multi point] [def __multi_polygon__ Multi Polygon] [def __range__ Rangelike (linestring, ring)] @@ -71,6 +73,7 @@ Simplify algorithm [link geometry.reference.algorithms.simplify.simplify_3 here] [import src/examples/quick_start.cpp] [import src/examples/algorithms/area.cpp] [import src/examples/algorithms/area_with_strategy.cpp] +[import src/examples/algorithms/append.cpp] [import src/examples/algorithms/assign_2d_point.cpp] [import src/examples/algorithms/assign_3d_point.cpp] [import src/examples/algorithms/assign_box_corners.cpp] @@ -78,6 +81,7 @@ Simplify algorithm [link geometry.reference.algorithms.simplify.simplify_3 here] [import src/examples/algorithms/assign_with_range.cpp] [import src/examples/algorithms/assign_point_to_index.cpp] [import src/examples/algorithms/assign_point_from_index.cpp] +[import src/examples/algorithms/difference.cpp] [import src/examples/algorithms/for_each_point.cpp] [import src/examples/algorithms/for_each_point_const.cpp] [import src/examples/algorithms/for_each_segment_const.cpp] @@ -89,12 +93,15 @@ Simplify algorithm [link geometry.reference.algorithms.simplify.simplify_3 here] [import src/examples/algorithms/make_with_range.cpp] [import src/examples/algorithms/intersection_ls_ls_point.cpp] [import src/examples/algorithms/intersection_segment.cpp] +[import src/examples/algorithms/intersection_poly_poly.cpp] [import src/examples/algorithms/intersects_linestring.cpp] [import src/examples/algorithms/num_geometries.cpp] [import src/examples/algorithms/num_interior_rings.cpp] [import src/examples/algorithms/num_points.cpp] [import src/examples/algorithms/simplify.cpp] [import src/examples/algorithms/simplify_inserter.cpp] +[import src/examples/algorithms/sym_difference.cpp] +[import src/examples/algorithms/union.cpp] [import src/examples/core/get_point.cpp] [import src/examples/core/get_box.cpp] [import src/examples/core/set_point.cpp] diff --git a/doc/html/img/algorithms/difference_a.png b/doc/html/img/algorithms/difference_a.png new file mode 100644 index 0000000000000000000000000000000000000000..ce019857e6972a197f19c297301addaa6af5afa0 GIT binary patch literal 29657 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/html/img/algorithms/difference_b.png b/doc/html/img/algorithms/difference_b.png new file mode 100644 index 0000000000000000000000000000000000000000..ae3e61795bb06d46b87842099536b6be366b4a8b GIT binary patch literal 36608 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 literal 0 HcmV?d00001 diff --git a/doc/html/img/algorithms/sym_difference.png b/doc/html/img/algorithms/sym_difference.png new file mode 100644 index 0000000000000000000000000000000000000000..50963b5c4093bac602f3ec321a7d6bbea9f17d99 GIT binary patch literal 46047 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 D`e}dv literal 0 HcmV?d00001 diff --git a/doc/html/img/algorithms/union.png b/doc/html/img/algorithms/union.png new file mode 100644 index 0000000000000000000000000000000000000000..ff841f8f0d64594a8fa3ce8eda6c18d0612ba15b GIT binary patch literal 32033 zcmeAS@N?(olHy`uVBq!ia0y~yV4TLlz&MkGje&t-)jDx!1_lO}VkgfK4h{~E8jh3> z1_lPs0*}aI1_s{iAk65bF}s3+fkCpwHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^# z_B$IX1_lKNPZ!6KiaBrYme<5Qo%-S9{k`Q?!Rx1`L?3nCq?^N8exQWILg1Ae|{Vw)NEPv&(Ys#ZI~_l6qN#Q&+L1i81(2?#*etpX!~QcGXnMcmLDB&XWY$ z$~}X>)Y!|{`hDTVK7}Rn*WcJ^gJ@sZNu?`zI0X3LKn| zrX7rLQkc``q0>~5mM8m1mE%yR$089mj^$yovF2}YHI?obOL?0TcI)4KaSQ8xUcC#C zTj@D=gf9c>{+L&IZX3J3@lV|e2Nta`XXZVSpDa6F;fQu1mvGBvj#byPC$jy!DZX_% zqj!>IzrqpgjY)znlUGi?BfIcQ{5^Z!%`R@&8I*S2yeH{pn0n00%&{Xm>8KKidingu zl9i#INx@40>aJegc|7{W-|YQm7S|d%oos|VT?PE|jwQV0-mUqj`q_g?>HF^&sI%8r z&hIEqXc9Q@090-0LDcZ^<$26M8Mdswmf4tkYB=boFZK?FPvM$_K(4 zti7h)FZ$ZTJAdwA8@yheY$zb&@<&_HE<;`{$bH`zfbh zM7fyXcAk|gxizTpOp{29g{n}u!kiUhMfW1Me3E{;vYqi7!*Tzc>>=6xzMVf9e=Ry^ zk`UyRB+_D`Ce*FK6Rv&ozP>etIGeICX>UD^J} zHt~Dy@7kaHChrNIH+$!Af8)!17SB`P)?}PJFLiWVvZI7bl}^)##OwvyApK z@=NOp~i@f984F4 z3%%ugPE5ZQwmrOL?nC$O#s>a5Zl$GnzXb9G3J8I68beL~>F2X%{ob6(o3_QS_QNH0 zrCpKsf0s8jS|(+y98hx4mp>}Ns+ibOtkZO$-R()ec!tI7^Kmoxf4p^GZ2!*&-%b{9 zTlYMX+kLGc{nkXZ6y|SeF*Q;8zoy-*F7wytscDf{7qy*~yRyc9S(umnM+H{J#*QOO zJ^5QFl{o&|mzo(SKgU4nzfWeHjHJ}k_uW>T7(U)eN{kWibd}i8=Jw?OuiKmF{W-+H z`qhrKL%*7z7tQ3IdpZ1;@58!=a}(4>GbB$Muqs~cczf(n#Wss2kz#HooA0J_WqEUl z-;TF8`o2d0)B9-q&2cNQoN;HG8GrYJ<=KsU(>E0-pVe^D=HPTv5lgf=EoG+^Kk3{) z9yM?$&*FQ`=ge1bP^fml^*1=a!$WAvjKBRs+HV&gyJ5*x$mQfD zxYQugMp|m({!dfhTRC@c-tK#9OXXn($Fq|-?-&YQ7j1D-7V0+mcg3r3Zv5;&CzvnC ztvIo{{HH~`^F;ad^!H1`W()E1NiVfeRavLa(dh>AaFxd4SG5U_-}vf^9PjpDj zP|^GIv^2hQrPkt&|2Nn_e|Rq76w}7%5fc4Jx?Cm7e}(SO%y8M4cf#FGYbDRh_p?6b zrE47J4(SN|b*Mr`sN3M3&Bp(yo^_-tEt*{&mlgNpj>a9Q^n`a39mcwcEL6^I}Q+hCe|-YTPC~X$+FJ(wTF}WD)dk0&hYNNXd(4ou%$vJOy|&!pxD@O zzK|Bv&z8L>?1S&m{`-4pu#Iliw!P*{?X&*NZk?36<((?WN09$xJU9NZU+iHu=W)j$ z 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 qw#;E>& literal 0 HcmV?d00001 diff --git a/doc/ref/algorithms/append.qbk b/doc/ref/algorithms/append.qbk new file mode 100644 index 000000000..4261adfb5 --- /dev/null +++ b/doc/ref/algorithms/append.qbk @@ -0,0 +1,33 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[heading Behavior] +[table +[[Case] [Behavior] ] +[[__point__, __box__, __segment__][Compiles, but no action]] +[[__linestring__][Appends point or range to the end of the linestring]] +[[__ring__][Appends point or range to the end of the ring (without explicitly closing it)]] +[[__polygon__][Appends point or range to the end of the polygon (without explicitly closing it), + either the exterior ring (the default) or specify a zero-based index for one of the interior rings. + In the last case, the interior rings are not resized automatically, + so ensure that the zero-based index is smaller than the number of interior rings]] +] + +[heading Complexity] +Linear + +[heading Example] +[append] +[append_output] + +[heading See also] +* [link geometry.reference.algorithms.assign.assign_2_with_a_range assign] diff --git a/doc/ref/algorithms/intersection.qbk b/doc/ref/algorithms/intersection.qbk index df4ac5dfc..ad897034f 100644 --- a/doc/ref/algorithms/intersection.qbk +++ b/doc/ref/algorithms/intersection.qbk @@ -18,3 +18,11 @@ [[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]] ] +[heading Example] +[intersection] +[intersection_output] + +[heading See also] +* [link geometry.reference.algorithms.union.union_ union] +* [link geometry.reference.algorithms.difference.difference difference] +* [link geometry.reference.algorithms.sym_difference.sym_difference sym_difference (symmetric difference)] diff --git a/doc/ref/algorithms/sym_difference.qbk b/doc/ref/algorithms/sym_difference.qbk new file mode 100644 index 000000000..cf0b8d0da --- /dev/null +++ b/doc/ref/algorithms/sym_difference.qbk @@ -0,0 +1,29 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[heading Behavior] +[table +[[Case] [Behavior] ] +[[__2dim__][All combinations of: box, ring, polygon, multi_polygon]] +[[__other__][Not supported]] + +] + +[heading Example] +[sym_difference] +[sym_difference_output] + +[heading See also] +* [link geometry.reference.algorithms.difference.difference difference] +* [link geometry.reference.algorithms.intersection.intersection intersection] +* [link geometry.reference.algorithms.union.union_ union] + diff --git a/doc/ref/algorithms/union.qbk b/doc/ref/algorithms/union.qbk new file mode 100644 index 000000000..d6bb91591 --- /dev/null +++ b/doc/ref/algorithms/union.qbk @@ -0,0 +1,25 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + +[heading Behavior] +[table +[[Case] [Behavior] ] +] + +[heading Example] +[union] +[union_output] + +[heading See also] +* [link geometry.reference.algorithms.intersection.intersection intersection] +* [link geometry.reference.algorithms.difference.difference difference] +* [link geometry.reference.algorithms.sym_difference.sym_difference sym_difference (symmetric difference)] diff --git a/doc/ref/core/set_point.qbk b/doc/ref/core/set_point.qbk index 807ac2958..8591a655b 100644 --- a/doc/ref/core/set_point.qbk +++ b/doc/ref/core/set_point.qbk @@ -8,6 +8,7 @@ http://www.boost.org/LICENSE_1_0.txt) =============================================================================/] +[note If you host both the std:: library namespace and boost::geometry:: namespace set might become ambiguous, std::set is a collection. So don't do that or refer to geometry::set then explicitly.] [heading Behavior] [table diff --git a/doc/reference/append.qbk b/doc/reference/append.qbk index 5c3e009f3..627f7ca8a 100644 --- a/doc/reference/append.qbk +++ b/doc/reference/append.qbk @@ -15,20 +15,20 @@ [/ Generated from doxy/doxygen_output/xml/group__append.xml] [section:append append] -Appends one or more points to a linestring, ring, polygon, multi. +Appends one or more points to a linestring, ring, polygon, multi-geometry. [heading Synopsis] -``template -void append(Geometry & geometry, RoP const & range_or_point, int ring_index = -1, int multi_index = 0)`` +``template +void append(Geometry & geometry, RangeOrPoint const & range_or_point, int ring_index = -1, int multi_index = 0)`` [heading Parameters] [table [[Type] [Concept] [Name] [Description] ] -[[Geometry &] [] [geometry] [a geometry ]] -[[RoP const &] [] [range_or_point] [the point or range to add ]] -[[int] [] [ring_index] [the index of the ring in case of a polygon: exterior ring (-1, the default) or interior ring index ]] -[[int] [] [multi_index] [reserved for multi polygons ]] +[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]] +[[RangeOrPoint const &] [Either a range or a point, fullfilling Boost.Range concept or Boost.Geometry Point Concept ] [range_or_point] [The point or range to add ]] +[[int] [] [ring_index] [The index of the ring in case of a polygon: exterior ring (-1, the default) or interior ring index ]] +[[int] [] [multi_index] [Reserved for multi polygons or multi linestrings]] ] @@ -41,6 +41,8 @@ Or `#include ` +[include ref/algorithms/append.qbk] + [endsect] diff --git a/doc/reference/assign.qbk b/doc/reference/assign.qbk index d5c08bd99..15119af86 100644 --- a/doc/reference/assign.qbk +++ b/doc/reference/assign.qbk @@ -39,11 +39,14 @@ Or `#include ` +[heading Notes] +[note Assign automatically clears the geometry before assigning (use append if you don't want that)] [heading Example] [assign_with_range] [assign_with_range_output] [heading See also] * [link geometry.reference.algorithms.make.make_1_with_a_range make] +* [link geometry.reference.algorithms.append.append append] [endsect] diff --git a/doc/reference/difference.qbk b/doc/reference/difference.qbk index 53a54e304..3ea6f5950 100644 --- a/doc/reference/difference.qbk +++ b/doc/reference/difference.qbk @@ -30,7 +30,7 @@ void difference(Geometry1 const & geometry1, Geometry2 const & geometry2, Collec [[Type] [Concept] [Name] [Description] ] [[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]] [[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]] -[[Collection &] [output collection, either a multi-geometry, or a std::vector / std::deque etc ] [output_collection] [the output collection ]] +[[Collection &] [output collection, either a multi-geometry, or a std::vector / std::deque etc ] [output_collection] [the output collection]] ] @@ -43,6 +43,8 @@ Or `#include ` +[include ref/algorithms/difference.qbk] + [endsect] diff --git a/doc/reference/sym_difference.qbk b/doc/reference/sym_difference.qbk index c16368b86..cf597a1ac 100644 --- a/doc/reference/sym_difference.qbk +++ b/doc/reference/sym_difference.qbk @@ -27,7 +27,7 @@ void sym_difference(Geometry1 const & geometry1, Geometry2 const & geometry2, Co [[Type] [Concept] [Name] [Description] ] [[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]] [[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]] -[[Collection &] [output collection, either a multi-geometry, or a std::vector / std::deque etc ] [output_collection] [the output collection ]] +[[Collection &] [output collection, either a multi-geometry, or a std::vector / std::deque etc ] [output_collection] [the output collection]] ] @@ -40,6 +40,8 @@ Or `#include ` +[include ref/algorithms/sym_difference.qbk] + [endsect] diff --git a/doc/reference/union.qbk b/doc/reference/union.qbk index 225a66c78..a08f5fe37 100644 --- a/doc/reference/union.qbk +++ b/doc/reference/union.qbk @@ -40,6 +40,8 @@ Or `#include ` +[include ref/algorithms/union.qbk] + [endsect] diff --git a/doc/src/examples/algorithms/append.cpp b/doc/src/examples/algorithms/append.cpp new file mode 100644 index 000000000..b2859e19f --- /dev/null +++ b/doc/src/examples/algorithms/append.cpp @@ -0,0 +1,59 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Quickbook Example + +//[append +//` Shows usage of Boost.Geometry's append to append a point or a range to a polygon + +#include + +#include +#include +#include + +#include + +int main() +{ + using boost::assign::tuple_list_of; + using boost::make_tuple; + using boost::geometry::append; + + typedef boost::geometry::model::polygon > polygon; + + polygon poly; + + // Append a range + append(poly, tuple_list_of(0, 0)(0, 10)(11, 11)(10, 0)); /*< tuple_list_of delivers a range and can therefore be used in boost::geometry::append >*/ + // Append a point (in this case the closing point + append(poly, make_tuple(0, 0)); + + // Create an interior ring (append does not do this automatically) + boost::geometry::interior_rings(poly).resize(1); + + // Append a range to the interior ring + append(poly, tuple_list_of(2, 2)(2, 5)(6, 6)(5, 2), 0); + // Append a point to the first interior ring + append(poly, make_tuple(2, 2), 0); + + std::cout << boost::geometry::dsv(poly) << std::endl; + + return 0; +} + +//] + + +//[append_output +/*` +Output: +[pre +(((0, 0), (0, 10), (11, 11), (10, 0), (0, 0)), ((2, 2), (2, 5), (6, 6), (5, 2), (2, 2))) +] +*/ +//] diff --git a/doc/src/examples/algorithms/create_svg.hpp b/doc/src/examples/algorithms/create_svg.hpp new file mode 100644 index 000000000..189ddab64 --- /dev/null +++ b/doc/src/examples/algorithms/create_svg.hpp @@ -0,0 +1,46 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Code to create SVG for examples +#ifndef CREATE_SVG_HPP +#define CREATE_SVG_HPP + +#include +#include +#include + +template +void create_svg(std::string const& filename, Geometry const& a, Geometry const& b, Range const& range) +{ + std::cout << std::endl << "[$img/algorithms/" << boost::replace_all_copy(filename, ".svg", ".png") << "]" << std::endl << std::endl; + + typedef typename boost::geometry::point_type::type point_type; + std::ofstream svg(filename.c_str()); + + boost::geometry::svg_mapper mapper(svg, 400, 400); + mapper.add(a); + mapper.add(b); + + mapper.map(a, "fill-opacity:0.5;fill:rgb(153,204,0);stroke:rgb(153,204,0);stroke-width:2"); + mapper.map(b, "fill-opacity:0.3;fill:rgb(51,51,153);stroke:rgb(51,51,153);stroke-width:2"); + int i = 0; + BOOST_FOREACH(Geometry const& g, range) + { + mapper.map(g, "opacity:0.8;fill:none;stroke:rgb(255,128,0);stroke-width:4;stroke-dasharray:1,7;stroke-linecap:round"); + std::ostringstream out; + out << i++; + mapper.text(boost::geometry::make_centroid(g), out.str(), + "fill:rgb(0,0,0);font-family:Arial;font-size:10px"); + } +} + +// NOTE: convert manually from svg to png using Inkscape ctrl-shift-E +// and copy png to html/img/algorithms/ + + +#endif // CREATE_SVG_HPP + diff --git a/doc/src/examples/algorithms/difference.cpp b/doc/src/examples/algorithms/difference.cpp new file mode 100644 index 000000000..61f31e3a2 --- /dev/null +++ b/doc/src/examples/algorithms/difference.cpp @@ -0,0 +1,89 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Quickbook Example + +//[difference +//` Shows how to subtract one polygon from another polygon + +#include +#include + +#include +#include +#include + +#include +/*<-*/ #include "create_svg.hpp" /*->*/ + +int main() +{ + typedef boost::geometry::model::polygon > polygon; + + polygon green, blue; + + boost::geometry::read_wkt( + "POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3)" + "(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", green); + + boost::geometry::read_wkt( + "POLYGON((4.0 -0.5 , 3.5 1.0 , 2.0 1.5 , 3.5 2.0 , 4.0 3.5 , 4.5 2.0 , 6.0 1.5 , 4.5 1.0 , 4.0 -0.5))", blue); + + std::list output; + boost::geometry::difference(green, blue, output); + + int i = 0; + std::cout << "green - blue:" << std::endl; + BOOST_FOREACH(polygon const& p, output) + { + std::cout << i++ << ": " << boost::geometry::area(p) << std::endl; + } + + /*<-*/ create_svg("difference_a.svg", green, blue, output); /*->*/ + output.clear(); + boost::geometry::difference(blue, green, output); + + i = 0; + std::cout << "blue - green:" << std::endl; + BOOST_FOREACH(polygon const& p, output) + { + std::cout << i++ << ": " << boost::geometry::area(p) << std::endl; + } + + /*<-*/ create_svg("difference_a.svg", green, blue, output); /*->*/ + return 0; +} + +//] + + +//[difference_output +/*` +Output: +[pre +green - blue: +0: 0.02375 +1: 0.542951 +2: 0.0149697 +3: 0.226855 +4: 0.839424 + +[$img/algorithms/difference_a.png] + +blue - green: +0: 0.525154 +1: 0.015 +2: 0.181136 +3: 0.128798 +4: 0.340083 +5: 0.307778 + +[$img/algorithms/difference_b.png] +] +*/ +//] + diff --git a/doc/src/examples/algorithms/intersection_poly_poly.cpp b/doc/src/examples/algorithms/intersection_poly_poly.cpp new file mode 100644 index 000000000..87e4ec2cf --- /dev/null +++ b/doc/src/examples/algorithms/intersection_poly_poly.cpp @@ -0,0 +1,65 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Quickbook Example + +//[intersection +//` Shows the intersection of two polygons + +#include +#include + +#include +#include +#include + +#include +/*<-*/ #include "create_svg.hpp" /*->*/ + +int main() +{ + typedef boost::geometry::model::polygon > polygon; + + polygon green, blue; + + boost::geometry::read_wkt( + "POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3)" + "(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", green); + + boost::geometry::read_wkt( + "POLYGON((4.0 -0.5 , 3.5 1.0 , 2.0 1.5 , 3.5 2.0 , 4.0 3.5 , 4.5 2.0 , 6.0 1.5 , 4.5 1.0 , 4.0 -0.5))", blue); + + std::deque output; + boost::geometry::intersection(green, blue, output); + + int i = 0; + std::cout << "green && blue:" << std::endl; + BOOST_FOREACH(polygon const& p, output) + { + std::cout << i++ << ": " << boost::geometry::area(p) << std::endl; + } + + /*<-*/ create_svg("intersection.svg", green, blue, output); /*->*/ + return 0; +} + +//] + + +//[intersection_output +/*` +Output: +[pre +green && blue: +0: 2.50205 + +[$img/algorithms/intersection.png] + +] +*/ +//] + diff --git a/doc/src/examples/algorithms/sym_difference.cpp b/doc/src/examples/algorithms/sym_difference.cpp new file mode 100644 index 000000000..d6cb94106 --- /dev/null +++ b/doc/src/examples/algorithms/sym_difference.cpp @@ -0,0 +1,75 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Quickbook Example + +//[sym_difference +//` Shows how to calculate the symmetric difference (XOR) geometry of two polygons + +#include +#include + +#include +#include +#include + +#include +/*<-*/ #include "create_svg.hpp" /*->*/ + +int main() +{ + typedef boost::geometry::model::polygon > polygon; + + polygon green, blue; + + boost::geometry::read_wkt( + "POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3)" + "(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", green); + + boost::geometry::read_wkt( + "POLYGON((4.0 -0.5 , 3.5 1.0 , 2.0 1.5 , 3.5 2.0 , 4.0 3.5 , 4.5 2.0 , 6.0 1.5 , 4.5 1.0 , 4.0 -0.5))", blue); + + std::vector output; + boost::geometry::sym_difference(green, blue, output); + + int i = 0; + std::cout << "green XOR blue:" << std::endl; + BOOST_FOREACH(polygon const& p, output) + { + std::cout << i++ << ": " << boost::geometry::area(p) << std::endl; + } + + /*<-*/ create_svg("sym_difference.svg", green, blue, output); /*->*/ + return 0; +} + +//] + + +//[sym_difference_output +/*` +Output: +[pre +green XOR blue: +0: 0.02375 +1: 0.542951 +2: 0.0149697 +3: 0.226855 +4: 0.839424 +5: 0.525154 +6: 0.015 +7: 0.181136 +8: 0.128798 +9: 0.340083 +10: 0.307778 + +[$img/algorithms/sym_difference.png] + +] +*/ +//] + diff --git a/doc/src/examples/algorithms/union.cpp b/doc/src/examples/algorithms/union.cpp new file mode 100644 index 000000000..5e06c20d9 --- /dev/null +++ b/doc/src/examples/algorithms/union.cpp @@ -0,0 +1,65 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Quickbook Example + +//[union +//` Shows how to get a united geometry of two polygons + +#include +#include + +#include +#include +#include + +#include +/*<-*/ #include "create_svg.hpp" /*->*/ + +int main() +{ + typedef boost::geometry::model::polygon > polygon; + + polygon green, blue; + + boost::geometry::read_wkt( + "POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3)" + "(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", green); + + boost::geometry::read_wkt( + "POLYGON((4.0 -0.5 , 3.5 1.0 , 2.0 1.5 , 3.5 2.0 , 4.0 3.5 , 4.5 2.0 , 6.0 1.5 , 4.5 1.0 , 4.0 -0.5))", blue); + + std::vector output; + boost::geometry::union_(green, blue, output); + + int i = 0; + std::cout << "green || blue:" << std::endl; + BOOST_FOREACH(polygon const& p, output) + { + std::cout << i++ << ": " << boost::geometry::area(p) << std::endl; + } + + /*<-*/ create_svg("union.svg", green, blue, output); /*->*/ + return 0; +} + +//] + + +//[union_output +/*` +Output: +[pre +green || blue: +0: 5.64795 + +[$img/algorithms/union.png] + +] +*/ +//] +