From 388feb89aeb38bf1ca2bed3ea706bca2de5a9276 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 12 Feb 2012 17:07:37 +0000 Subject: [PATCH] Boost.Geometry doc updates and fixes [SVN r76997] --- doc/compiling.qbk | 6 ++++-- doc/concept/linestring.qbk | 10 ++++++++++ doc/concept/ring.qbk | 1 + doc/geometry.qbk | 7 +++++++ doc/html/index.html | 14 +++++++------- doc/reference/algorithms/disjoint.qbk | 15 +++++++++++++++ doc/reference/algorithms/envelope.qbk | 15 +++++++++++++++ doc/reference/algorithms/for_each_point.qbk | 16 ++++++++++++++++ doc/reference/algorithms/for_each_segment.qbk | 16 ++++++++++++++++ doc/reference/algorithms/intersects.qbk | 2 +- doc/reference/algorithms/overlaps.qbk | 15 +++++++++++++++ doc/reference/geometries/point.qbk | 3 +++ .../geometries/point_assign_warning.qbk | 16 ++++++++++++++++ include/boost/geometry/algorithms/disjoint.hpp | 4 +++- include/boost/geometry/algorithms/envelope.hpp | 10 ++-------- include/boost/geometry/algorithms/for_each.hpp | 5 +++++ include/boost/geometry/algorithms/intersects.hpp | 1 + include/boost/geometry/algorithms/overlaps.hpp | 4 +++- include/boost/geometry/geometries/point_xy.hpp | 3 +++ 19 files changed, 143 insertions(+), 20 deletions(-) create mode 100644 doc/reference/algorithms/disjoint.qbk create mode 100644 doc/reference/algorithms/envelope.qbk create mode 100644 doc/reference/algorithms/for_each_point.qbk create mode 100644 doc/reference/algorithms/for_each_segment.qbk create mode 100644 doc/reference/algorithms/overlaps.qbk create mode 100644 doc/reference/geometries/point_assign_warning.qbk diff --git a/doc/compiling.qbk b/doc/compiling.qbk index f1084deca..f549fabd0 100644 --- a/doc/compiling.qbk +++ b/doc/compiling.qbk @@ -39,9 +39,11 @@ compilers: * 9.0 (__msvc__ 2008) [/reported by Trunk report May 8, 2011] * 8.0 (__msvc__ 2005) [/reported by Trunk report May 8, 2011] * gcc + * gcc 4.7.0 [/reported by Trunk report February 12, 2012] + * gcc 4.6.2 [/reported by Trunk report February 12, 2012] * gcc 4.6.1 [/reported by Trunk report May 8, 2011] - * gcc 4.6.0 (including C++0x) [/reported by Trunk report May 8, 2011] - * gcc 4.5.2 (including C++0x) [/reported by Trunk report May 8, 2011] + * gcc 4.6.0 [/reported by Trunk report May 8, 2011] + * gcc 4.5.2 [/reported by Trunk report May 8, 2011] * gcc 4.4.0 [/reported by Trunk report May 8, 2011] * gcc 4.3.4 [/reported by Trunk report March 26, 2011] * gcc 4.2.1 [/reported by Trunk report May 8, 2011] diff --git a/doc/concept/linestring.qbk b/doc/concept/linestring.qbk index 77cec3bb0..0cf21b723 100644 --- a/doc/concept/linestring.qbk +++ b/doc/concept/linestring.qbk @@ -27,9 +27,19 @@ The Linestring Concept is defined as following: * The type defined by the metafunction `range_value<...>::type` must fulfill the [link geometry.reference.concepts.concept_point Point Concept] +[heading Rules] + +Besides the Concepts, which are checks on compile-time, there are rules that +valid linestrings must fulfill. Most algorithms work on any linestring, so either +self-crossing or not. However, for correct results using the overlay algorithms +(intersection and difference algorithms in combination with a polygon) +self-intersections can disturb the process and result in incorrect results. + [heading Available Models] * [link geometry.reference.models.model_linestring model::linestring] * a std::vector (requires registration) * a std::deque (requires registration) +[see_boost_range_sample Linestring] + [endsect] diff --git a/doc/concept/ring.qbk b/doc/concept/ring.qbk index 63c121d34..67bc2d0cb 100644 --- a/doc/concept/ring.qbk +++ b/doc/concept/ring.qbk @@ -41,5 +41,6 @@ on the rules a polygon (and also a ring) must fulfill. * a std::vector (requires `#include boost/geometry/geometries/adapted/std_as_ring.hpp>`) * a std::deque (requires `#include boost/geometry/geometries/adapted/std_as_ring.hpp>`) +[see_boost_range_sample Ring] [endsect] diff --git a/doc/geometry.qbk b/doc/geometry.qbk index 485ac4efb..8297e3de7 100644 --- a/doc/geometry.qbk +++ b/doc/geometry.qbk @@ -95,6 +95,13 @@ The function [function] implements function [ogc_function] from the __ogc_sf__. The function [function] conforms to the [std_function] of the C++ std-library. ] +[template see_boost_range_sample[concept] +[note See also the sample in the [@../../../range/doc/html/range/reference/extending/method_2.html Boost.Range documentation] + showing how a type can be adapted to a Boost.Range to fulfill the concept of a [concept] +] +] + + [heading Contributions] Boost.Geometry contains contributions by: diff --git a/doc/html/index.html b/doc/html/index.html index 05bbbded5..bba857e09 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -33,7 +33,7 @@
-

+

Distributed under 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)

@@ -74,7 +74,7 @@

- + Contributions

@@ -88,24 +88,24 @@ Alfredo Correa (adaption of Boost.Array)

  • - Adam Wulkiewicz (spatial indexes) [1] + Adam Wulkiewicz (spatial indexes) [1]
  • - Federico Fernández (spatial indexes) [2] + Federico Fernández (spatial indexes) [2]


  • -

    [1] +

    [1] Currently an extension

    -

    [2] +

    [2] Currently an extension

    - +

    Last revised: February 12, 2012 at 15:01:29 GMT

    Last revised: February 12, 2012 at 17:00:38 GMT


    diff --git a/doc/reference/algorithms/disjoint.qbk b/doc/reference/algorithms/disjoint.qbk new file mode 100644 index 000000000..6f5c8ef49 --- /dev/null +++ b/doc/reference/algorithms/disjoint.qbk @@ -0,0 +1,15 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2012 Mateusz Loskot, London, UK. + Copyright (c) 2009-2012 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) +=============================================================================/] + +[def __this_function__ disjoint] + +[heading_conformance_ogc __this_function__..Disjoint] diff --git a/doc/reference/algorithms/envelope.qbk b/doc/reference/algorithms/envelope.qbk new file mode 100644 index 000000000..97209a394 --- /dev/null +++ b/doc/reference/algorithms/envelope.qbk @@ -0,0 +1,15 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2012 Mateusz Loskot, London, UK. + Copyright (c) 2009-2012 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) +=============================================================================/] + +[def __this_function__ envelope] + +[heading_conformance_ogc __this_function__..Envelope] diff --git a/doc/reference/algorithms/for_each_point.qbk b/doc/reference/algorithms/for_each_point.qbk new file mode 100644 index 000000000..a48becbda --- /dev/null +++ b/doc/reference/algorithms/for_each_point.qbk @@ -0,0 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2012 Mateusz Loskot, London, UK. + Copyright (c) 2009-2012 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) +=============================================================================/] + +[def __this_function__ for_each_point] + +[heading_conformance_no_ogc __this_function__] +[conformance_std __this_function__..std::for_each function] diff --git a/doc/reference/algorithms/for_each_segment.qbk b/doc/reference/algorithms/for_each_segment.qbk new file mode 100644 index 000000000..fbb9fc621 --- /dev/null +++ b/doc/reference/algorithms/for_each_segment.qbk @@ -0,0 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2012 Mateusz Loskot, London, UK. + Copyright (c) 2009-2012 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) +=============================================================================/] + +[def __this_function__ for_each_segment] + +[heading_conformance_no_ogc __this_function__] +[conformance_std __this_function__..std::for_each function] diff --git a/doc/reference/algorithms/intersects.qbk b/doc/reference/algorithms/intersects.qbk index 578b559c9..49aea2322 100644 --- a/doc/reference/algorithms/intersects.qbk +++ b/doc/reference/algorithms/intersects.qbk @@ -13,7 +13,7 @@ [def __this_function__ intersects] [heading_conformance_ogc __this_function__..Intersects] -[note The one argument version is added for __boost_geometry__] +[? __one_parameter__ The version with one parameter is additional and not described in the OGC standard] [heading Examples] [intersects_linestring] diff --git a/doc/reference/algorithms/overlaps.qbk b/doc/reference/algorithms/overlaps.qbk new file mode 100644 index 000000000..9f1a75265 --- /dev/null +++ b/doc/reference/algorithms/overlaps.qbk @@ -0,0 +1,15 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2012 Mateusz Loskot, London, UK. + Copyright (c) 2009-2012 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) +=============================================================================/] + +[def __this_function__ overlaps] + +[heading_conformance_ogc __this_function__..Overlaps] diff --git a/doc/reference/geometries/point.qbk b/doc/reference/geometries/point.qbk index d168fd517..0d756a2b7 100644 --- a/doc/reference/geometries/point.qbk +++ b/doc/reference/geometries/point.qbk @@ -13,3 +13,6 @@ [heading Examples] [point] [point_output] + +[include reference/geometries/point_assign_warning.qbk] + diff --git a/doc/reference/geometries/point_assign_warning.qbk b/doc/reference/geometries/point_assign_warning.qbk new file mode 100644 index 000000000..0ab0bc6c7 --- /dev/null +++ b/doc/reference/geometries/point_assign_warning.qbk @@ -0,0 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. + Copyright (c) 2009-2012 Mateusz Loskot, London, UK. + Copyright (c) 2009-2012 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 Notes] +[note Coordinates are not initialized. If the constructor with parameters is not +called and points are not assigned using `set` or `assign` then the coordinate +values will contain garbage] diff --git a/include/boost/geometry/algorithms/disjoint.hpp b/include/boost/geometry/algorithms/disjoint.hpp index 8e378510f..f36b8dbdd 100644 --- a/include/boost/geometry/algorithms/disjoint.hpp +++ b/include/boost/geometry/algorithms/disjoint.hpp @@ -228,7 +228,9 @@ struct disjoint_reversed \param geometry1 \param_geometry \param geometry2 \param_geometry \return \return_check2{are disjoint} - */ + +\qbk{[include reference/algorithms/disjoint.qbk]} +*/ template inline bool disjoint(Geometry1 const& geometry1, Geometry2 const& geometry2) diff --git a/include/boost/geometry/algorithms/envelope.hpp b/include/boost/geometry/algorithms/envelope.hpp index 612541be1..da34f6a78 100644 --- a/include/boost/geometry/algorithms/envelope.hpp +++ b/include/boost/geometry/algorithms/envelope.hpp @@ -216,14 +216,7 @@ struct envelope \param geometry \param_geometry \param mbr \param_box \param_set{envelope} -\par Example: -Example showing envelope calculation, using point_ll latlong points -\dontinclude doxygen_1.cpp -\skip example_envelope_polygon -\line { -\until } - - +\qbk{[include reference/algorithms/envelope.qbk]} \qbk{ [heading Example] [envelope] [envelope_output] @@ -253,6 +246,7 @@ inline void envelope(Geometry const& geometry, Box& mbr) \param geometry \param_geometry \return \return_calc{envelope} +\qbk{[include reference/algorithms/envelope.qbk]} \qbk{ [heading Example] [return_envelope] [return_envelope_output] diff --git a/include/boost/geometry/algorithms/for_each.hpp b/include/boost/geometry/algorithms/for_each.hpp index c1e65459e..671f26a70 100644 --- a/include/boost/geometry/algorithms/for_each.hpp +++ b/include/boost/geometry/algorithms/for_each.hpp @@ -250,6 +250,7 @@ struct for_each_segment \tparam Functor \tparam_functor \qbk{distinguish,const version} +\qbk{[include reference/algorithms/for_each_point.qbk]} \qbk{[heading Example]} \qbk{[for_each_point_const] [for_each_point_const_output]} */ @@ -277,6 +278,7 @@ inline Functor for_each_point(Geometry const& geometry, Functor f) \tparam Geometry \tparam_geometry \tparam Functor \tparam_functor +\qbk{[include reference/algorithms/for_each_point.qbk]} \qbk{[heading Example]} \qbk{[for_each_point] [for_each_point_output]} */ @@ -305,6 +307,7 @@ inline Functor for_each_point(Geometry& geometry, Functor f) \tparam Functor \tparam_functor \qbk{distinguish,const version} +\qbk{[include reference/algorithms/for_each_segment.qbk]} \qbk{[heading Example]} \qbk{[for_each_segment_const] [for_each_segment_const_output]} */ @@ -331,6 +334,8 @@ inline Functor for_each_segment(Geometry const& geometry, Functor f) \param f \par_for_each_f{segment} \tparam Geometry \tparam_geometry \tparam Functor \tparam_functor + +\qbk{[include reference/algorithms/for_each_segment.qbk]} */ template inline Functor for_each_segment(Geometry& geometry, Functor f) diff --git a/include/boost/geometry/algorithms/intersects.hpp b/include/boost/geometry/algorithms/intersects.hpp index a319750aa..f367f2e25 100644 --- a/include/boost/geometry/algorithms/intersects.hpp +++ b/include/boost/geometry/algorithms/intersects.hpp @@ -35,6 +35,7 @@ namespace boost { namespace geometry \return \return_check{is self-intersecting} \qbk{distinguish,one geometry} +\qbk{[def __one_parameter__]} \qbk{[include reference/algorithms/intersects.qbk]} */ template diff --git a/include/boost/geometry/algorithms/overlaps.hpp b/include/boost/geometry/algorithms/overlaps.hpp index 0ddef684c..2f854b4fd 100644 --- a/include/boost/geometry/algorithms/overlaps.hpp +++ b/include/boost/geometry/algorithms/overlaps.hpp @@ -179,7 +179,9 @@ struct overlaps \brief \brief_check2{overlap} \ingroup overlaps \return \return_check2{overlap} - */ + +\qbk{[include reference/algorithms/overlaps.qbk]} +*/ template inline bool overlaps(Geometry1 const& geometry1, Geometry2 const& geometry2) { diff --git a/include/boost/geometry/geometries/point_xy.hpp b/include/boost/geometry/geometries/point_xy.hpp index 90a83cf5f..652930666 100644 --- a/include/boost/geometry/geometries/point_xy.hpp +++ b/include/boost/geometry/geometries/point_xy.hpp @@ -36,6 +36,9 @@ namespace model { namespace d2 [heading Model of] [link geometry.reference.concepts.concept_point Point Concept] } + +\qbk{[include reference/geometries/point_assign_warning.qbk]} + */ template class point_xy : public model::point