Doc update, move from qbk/* to qbk/include and separate qbk files in folder ref

[SVN r68215]
This commit is contained in:
Barend Gehrels 2011-01-17 20:41:54 +00:00
parent d234480b24
commit cbcf275ea7
48 changed files with 449 additions and 395 deletions

View File

@ -20,10 +20,11 @@ and that it translates from Doxygen-XML output to Quickbook (without xslt)
5) execute python file "make_qbk.py" (calling doxygen, doxygen_xml2qbk, bjam) 5) execute python file "make_qbk.py" (calling doxygen, doxygen_xml2qbk, bjam)
Folders in this folder: Folders in this folder:
concept: manually written documentation QBK files, on concept concept: manually written documentation QBK files, on concept
doxy: folders and files needed for doxygen input and output doxy: folders and files needed for doxygen input and output
html: contains generated HTML files html: contains generated HTML files
other: older documentation (subject to update or deletion) other: older documentation (subject to update or deletion)
ref: manually written documentation QBK files, included from .hpp files
reference: generated documentation QBK files (by doxygen_xml2qbk) reference: generated documentation QBK files (by doxygen_xml2qbk)
src: examples used in documentation and tools (doxygen_xml2qbk) src: examples used in documentation and tools (doxygen_xml2qbk)

View File

@ -0,0 +1,26 @@
[/============================================================================
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] ]
[[__0dim__][[qbk_ret 0]]]
[[__1dim__][[qbk_ret 0]]]
[[__2dim__][[qbk_ret the area]]]
[[__cart__][[qbk_ret the area] __cs_units__]]
[[__sph__][[qbk_ret the area] __sph1__]]
[[__rev__][[qbk_ret the negative area]]]
]
[heading Complexity]
Linear

View File

@ -0,0 +1,16 @@
[/============================================================================
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 Examples]
[area]
[area_output]

View File

@ -0,0 +1,16 @@
[/============================================================================
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 Examples]
[area_with_strategy]
[area_with_strategy_output]

View File

@ -0,0 +1,19 @@
[/============================================================================
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] ]
[[__box__/__box__][Returns a new rectangular box, enlarged with the specified distance. It is allowed that "geometry_out" the same object as "geometry_in"]]
]

View File

@ -0,0 +1,24 @@
[/============================================================================
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] ]
[[__0dim__][Calculates centroid]]
[[__1dim__][Calculates centroid]]
[[__2dim__][Calculates centroid]]
[[__empty__][Throws a centroid_exception]]
]
[heading Complexity]
Linear

View File

@ -0,0 +1,20 @@
[/============================================================================
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] ]
[[[qbk_out __point__]][Calculates intersection points of input geometries]]
[[[qbk_out __linestring__]][Calculates intersection linestrings of input geometries (NYI)]]
[[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]]
]

View File

@ -0,0 +1,16 @@
[/============================================================================
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 Examples]
[intersects_linestring]
[intersects_linestring_output]

View File

@ -0,0 +1,24 @@
[/============================================================================
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] ]
[[__0dim__][[qbk_ret 0]]]
[[__1dim__][[qbk_ret the length]]]
[[__2dim__][[qbk_ret 0]]]
]
[heading Complexity]
Linear

View File

@ -0,0 +1,15 @@
[/============================================================================
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 Examples]
[length_with_strategy]
[length_with_strategy_output]

View File

@ -0,0 +1,15 @@
[/============================================================================
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 Examples]
[length_with_strategy]
[length_with_strategy_output]

View File

@ -0,0 +1,22 @@
[/============================================================================
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] ]
[[__single__][[qbk_ret 1]]]
[[__multi__][Returns boost::size(geometry); the input is considered as a range]]
]
[heading Complexity]
Constant

View File

@ -0,0 +1,23 @@
[/============================================================================
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] ]
[[__polygon__][[qbk_ret number of its interior rings]]]
[[__multi_polygon__][[qbk_ret number of the interior rings of all polygons]]]
[[__other__][[qbk_ret 0]]]
]
[heading Complexity]
Constant

View File

@ -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] ]
[[__point__][[qbk_ret 1]]]
[[__segment__][[qbk_ret 2]]]
[[__box__][[qbk_ret 4]]]
[[__range__][[qbk_ret boost::size(geometry)]]]
[[__other__][[qbk_ret the sum of the number of points of its elements]]]
]
[heading Complexity]
Constant or Linear

View File

@ -0,0 +1,23 @@
[/============================================================================
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] ]
[[__0dim__][Returns zero]]
[[__1dim__][Returns zero]]
[[__2dim__][Returns the perimeter]]
]
[heading Complexity]
Linear

View File

@ -0,0 +1,18 @@
[/============================================================================
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 Examples]
[simplify]
[simplify_output]
[heading Image(s)]
[$svg_simplify_country.png]

View File

@ -0,0 +1,16 @@
[/============================================================================
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 Examples]
[simplify_inserter]
[simplify_inserter_output]

View File

@ -0,0 +1,15 @@
[/============================================================================
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 Examples]
[point]
[point_output]

View File

@ -0,0 +1,17 @@
[/============================================================================
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)
=============================================================================/]
[caution Use the macro outside any namespace]
[note A point can include a namespace]
[heading Examples]
[register_point_2d]
[register_point_2d_output]

View File

@ -45,25 +45,8 @@ Or
`#include <boost/geometry/algorithms/area.hpp>` `#include <boost/geometry/algorithms/area.hpp>`
[heading Behavior] [include ref/algorithms/area.qbk]
[table [include ref/algorithms/area_example_with_strategy.qbk]
[[Case] [Behavior] ]
[[__0dim__][[qbk_ret 0]]]
[[__1dim__][[qbk_ret 0]]]
[[__2dim__][[qbk_ret the area]]]
[[__cart__][[qbk_ret the area] __cs_units__]]
[[__sph__][[qbk_ret the area] __sph1__]]
[[__rev__][[qbk_ret the negative area]]]
]
[heading Complexity]
Linear
[heading Examples]
[area_with_strategy]
[area_with_strategy_output]
[endsect] [endsect]
@ -102,25 +85,8 @@ Or
`#include <boost/geometry/algorithms/area.hpp>` `#include <boost/geometry/algorithms/area.hpp>`
[heading Behavior] [include ref/algorithms/area.qbk]
[table [include ref/algorithms/area_example.qbk]
[[Case] [Behavior] ]
[[__0dim__][[qbk_ret 0]]]
[[__1dim__][[qbk_ret 0]]]
[[__2dim__][[qbk_ret the area]]]
[[__cart__][[qbk_ret the area] __cs_units__]]
[[__sph__][[qbk_ret the area] __sph1__]]
[[__rev__][[qbk_ret the negative area]]]
]
[heading Complexity]
Linear
[heading Examples]
[area]
[area_output]
[endsect] [endsect]

View File

@ -44,13 +44,7 @@ Or
`#include <boost/geometry/algorithms/buffer.hpp>` `#include <boost/geometry/algorithms/buffer.hpp>`
[heading Behavior] [include ref/algorithms/buffer.qbk]
[table
[[Case] [Behavior] ]
[[__box__/__box__][Returns a new rectangular box, enlarged with the specified distance. It is allowed that "geometry_out" the same object as "geometry_in"]]
]
[endsect] [endsect]

View File

@ -42,19 +42,7 @@ Or
`#include <boost/geometry/algorithms/centroid.hpp>` `#include <boost/geometry/algorithms/centroid.hpp>`
[heading Behavior] [include ref/algorithms/centroid.qbk]
[table
[[Case] [Behavior] ]
[[__0dim__][Calculates centroid]]
[[__1dim__][Calculates centroid]]
[[__2dim__][Calculates centroid]]
[[__empty__][Throws a centroid_exception]]
]
[heading Complexity]
Linear
[endsect] [endsect]
@ -88,6 +76,7 @@ Or
`#include <boost/geometry/algorithms/centroid.hpp>` `#include <boost/geometry/algorithms/centroid.hpp>`
[include ref/algorithms/centroid.qbk]
[endsect] [endsect]
@ -124,6 +113,7 @@ Or
`#include <boost/geometry/algorithms/centroid.hpp>` `#include <boost/geometry/algorithms/centroid.hpp>`
[include ref/algorithms/centroid.qbk]
[endsect] [endsect]
@ -148,7 +138,7 @@ Point make_centroid (Geometry const &geometry)``
[heading Returns] [heading Returns]
The calculated centroid The calculated centroid
[heading Header] [heading Header]
Either Either

View File

@ -21,17 +21,16 @@ Calculate the intersection of two geometries.
The free function intersection calculates the spatial set theoretic intersection of two geometries. The free function intersection calculates the spatial set theoretic intersection of two geometries.
[heading Synopsis] [heading Synopsis]
``template<typename Geometry1, typename Geometry2, typename GeometryOut, > ``template<typename Geometry1, typename Geometry2, typename GeometryOut>
bool intersection (Geometry1 const &geometry1, Geometry2 const &geometry2, GeometryOut &geometry_out)`` bool intersection (Geometry1 const &geometry1, Geometry2 const &geometry2, GeometryOut &geometry_out)``
[heading Parameters] [heading Parameters]
[table [table
[[Type] [Concept] [Name] [Description] ] [[Type] [Concept] [Name] [Description] ]
[[Collection] [Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which the value_type (below referred to as 'GeometryOut') fulfills a Point, LineString or Polygon concept. ] [ - ] [Must be specified]]
[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]] [[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 ]] [[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]]
[[GeometryOut &] [] [geometry_out] [The output geometry, either a multi_point, multi_polygon, multi_linestring, or a box (for intersection of two boxes)]] [[GeometryOut &] [Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which the value_type fulfills a Point, LineString or Polygon concept, or it is the output geometry (e.g. for a box) ] [geometry_out] [The output geometry, either a multi_point, multi_polygon, multi_linestring, or a box (for intersection of two boxes)]]
] ]
@ -44,21 +43,7 @@ Or
`#include <boost/geometry/algorithms/intersection.hpp>` `#include <boost/geometry/algorithms/intersection.hpp>`
[heading Behavior] [include ref/algorithms/intersection.qbk]
[table
[[Case] [Behavior] ]
[[[qbk_out __point__]][Calculates intersection points of input geometries]]
[[[qbk_out __linestring__]][Calculates intersection linestrings of input geometries (NYI)]]
[[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]]
]
[heading Examples]
[intersection_ls_ls_point]
[intersection_ls_ls_point_output]
[intersection_segment]
[intersection_segment_output]
[endsect] [endsect]
@ -90,18 +75,7 @@ The output iterator
[heading Header] [heading Header]
`#include <boost/geometry/algorithms/intersection_inserter.hpp>` `#include <boost/geometry/algorithms/intersection_inserter.hpp>`
[heading Behavior] [include ref/algorithms/intersection.qbk]
[table
[[Case] [Behavior] ]
[[[qbk_out __point__]][Calculates intersection points of input geometries]]
[[[qbk_out __linestring__]][Calculates intersection linestrings of input geometries (NYI)]]
[[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]]
]
[heading Examples]
[intersection_segment_inserter]
[endsect] [endsect]
@ -134,15 +108,7 @@ The output iterator
[heading Header] [heading Header]
`#include <boost/geometry/algorithms/intersection_inserter.hpp>` `#include <boost/geometry/algorithms/intersection_inserter.hpp>`
[heading Behavior] [include ref/algorithms/intersection.qbk]
[table
[[Case] [Behavior] ]
[[[qbk_out __point__]][Calculates intersection points of input geometries]]
[[[qbk_out __linestring__]][Calculates intersection linestrings of input geometries (NYI)]]
[[[qbk_out __polygon__]][Calculates intersection polygons input (multi)polygons and/or boxes]]
]
[endsect] [endsect]

View File

@ -42,10 +42,7 @@ Or
`#include <boost/geometry/algorithms/intersects.hpp>` `#include <boost/geometry/algorithms/intersects.hpp>`
[heading Examples] [include ref/algorithms/intersects.qbk]
[intersects_linestring]
[intersects_linestring_output]
[endsect] [endsect]
@ -77,6 +74,7 @@ Or
`#include <boost/geometry/algorithms/intersects.hpp>` `#include <boost/geometry/algorithms/intersects.hpp>`
[include ref/algorithms/intersects.qbk]
[endsect] [endsect]

View File

@ -45,22 +45,8 @@ Or
`#include <boost/geometry/algorithms/length.hpp>` `#include <boost/geometry/algorithms/length.hpp>`
[heading Behavior] [include ref/algorithms/length.qbk]
[table [include ref/algorithms/length_example_with_strategy.qbk]
[[Case] [Behavior] ]
[[__0dim__][[qbk_ret 0]]]
[[__1dim__][[qbk_ret the length]]]
[[__2dim__][[qbk_ret 0]]]
]
[heading Complexity]
Linear
[heading Examples]
[length_with_strategy]
[length_with_strategy_output]
[endsect] [endsect]
@ -95,22 +81,8 @@ Or
`#include <boost/geometry/algorithms/length.hpp>` `#include <boost/geometry/algorithms/length.hpp>`
[heading Behavior] [include ref/algorithms/length.qbk]
[table [include ref/algorithms/length_example.qbk]
[[Case] [Behavior] ]
[[__0dim__][[qbk_ret 0]]]
[[__1dim__][[qbk_ret the length]]]
[[__2dim__][[qbk_ret 0]]]
]
[heading Complexity]
Linear
[heading Examples]
[length]
[length_output]
[endsect] [endsect]

View File

@ -44,17 +44,7 @@ Or
`#include <boost/geometry/core/num_geometries.hpp>` `#include <boost/geometry/core/num_geometries.hpp>`
[heading Behavior] [include ref/algorithms/num_geometries.qbk]
[table
[[Case] [Behavior] ]
[[__single__][[qbk_ret 1]]]
[[__multi__][Returns boost::size(geometry); the input is considered as a range]]
]
[heading Complexity]
Constant
[endsect] [endsect]

View File

@ -44,18 +44,7 @@ Or
`#include <boost/geometry/core/interior_rings.hpp>` `#include <boost/geometry/core/interior_rings.hpp>`
[heading Behavior] [include ref/algorithms/num_interior_rings.qbk]
[table
[[Case] [Behavior] ]
[[__polygon__][[qbk_ret number of its interior rings]]]
[[__multi_polygon__][[qbk_ret number of the interior rings of all polygons]]]
[[__other__][[qbk_ret 0]]]
]
[heading Complexity]
Constant
[endsect] [endsect]

View File

@ -45,20 +45,7 @@ Or
`#include <boost/geometry/algorithms/num_points.hpp>` `#include <boost/geometry/algorithms/num_points.hpp>`
[heading Behavior] [include ref/algorithms/num_points.qbk]
[table
[[Case] [Behavior] ]
[[__point__][[qbk_ret 1]]]
[[__segment__][[qbk_ret 2]]]
[[__box__][[qbk_ret 4]]]
[[__range__][[qbk_ret boost::size(geometry)]]]
[[__other__][[qbk_ret the sum of the number of points of its elements]]]
]
[heading Complexity]
Constant or Linear
[endsect] [endsect]

View File

@ -45,18 +45,7 @@ Or
`#include <boost/geometry/algorithms/perimeter.hpp>` `#include <boost/geometry/algorithms/perimeter.hpp>`
[heading Behavior] [include ref/algorithms/perimeter.qbk]
[table
[[Case] [Behavior] ]
[[__0dim__][Returns zero]]
[[__1dim__][Returns zero]]
[[__2dim__][Returns the perimeter]]
]
[heading Complexity]
Linear
[endsect] [endsect]
@ -91,18 +80,7 @@ Or
`#include <boost/geometry/algorithms/perimeter.hpp>` `#include <boost/geometry/algorithms/perimeter.hpp>`
[heading Behavior] [include ref/algorithms/perimeter.qbk]
[table
[[Case] [Behavior] ]
[[__0dim__][Returns zero]]
[[__1dim__][Returns zero]]
[[__2dim__][Returns the perimeter]]
]
[heading Complexity]
Linear
[endsect] [endsect]

View File

@ -90,9 +90,6 @@ Or
`#include <boost/geometry/geometries/point.hpp>` `#include <boost/geometry/geometries/point.hpp>`
[heading Examples] [include ref/geometries/point.qbk]
[point]
[point_output]
[endsect] [endsect]

View File

@ -38,12 +38,7 @@ The macro BOOST_GEOMETRY_REGISTER_POINT_2D registers a two-dimensional point typ
[heading Header] [heading Header]
`#include <boost/geometry/geometries/register/point.hpp>` `#include <boost/geometry/geometries/register/point.hpp>`
[caution Use the macro outside any namespace] [include ref/geometries/register/point.qbk]
[note A point can include a namespace]
[heading Examples]
[register_point_2d]
[register_point_2d_output]
[endsect] [endsect]

View File

@ -40,10 +40,7 @@ Or
`#include <boost/geometry/algorithms/simplify.hpp>` `#include <boost/geometry/algorithms/simplify.hpp>`
[heading Examples] [include ref/algorithms/simplify.qbk]
[simplify]
[simplify_output]
[endsect] [endsect]
@ -75,8 +72,6 @@ Or
`#include <boost/geometry/algorithms/simplify.hpp>` `#include <boost/geometry/algorithms/simplify.hpp>`
[heading Image(s)]
[$svg_simplify_country.png]
[endsect] [endsect]
@ -107,10 +102,7 @@ Or
`#include <boost/geometry/algorithms/simplify.hpp>` `#include <boost/geometry/algorithms/simplify.hpp>`
[heading Examples] [include ref/algorithms/simplify_inserter.qbk]
[simplify_inserter]
[simplify_inserter_output]
[endsect] [endsect]
@ -142,6 +134,7 @@ Or
`#include <boost/geometry/algorithms/simplify.hpp>` `#include <boost/geometry/algorithms/simplify.hpp>`
[include ref/algorithms/simplify.qbk]
[endsect] [endsect]

View File

@ -114,11 +114,10 @@ struct element
std::string brief_description, detailed_description; std::string brief_description, detailed_description;
std::string location; std::string location;
int line; // To sort - Doxygen changes order - we change it back int line; // To sort - Doxygen changes order - we change it back
std::vector<std::string> examples;
std::vector<std::string> behaviors; // QBK-includes
std::vector<std::string> admonitions; // Filled with e.g.: \qbk(include, reference/myqbk.qbk}
std::vector<std::string> images; std::vector<std::string> includes;
std::string complexity;
// To distinguish overloads: unary, binary etc, // To distinguish overloads: unary, binary etc,
// Filled with: \qbk{distinguish,<A discerning description>} // Filled with: \qbk{distinguish,<A discerning description>}
@ -353,22 +352,9 @@ static void parse_element(rapidxml::xml_node<>* node, std::string const& parent,
el.location = loc; el.location = loc;
el.line = atol(get_attribute(node, "line").c_str()); el.line = atol(get_attribute(node, "line").c_str());
} }
else if (full == ".detaileddescription.para.qbk.example") else if (full == ".detaileddescription.para.qbk.include")
{ {
el.examples.push_back(boost::trim_copy(std::string(node->value()))); el.includes.push_back(boost::trim_copy(std::string(node->value())));
}
else if (full == ".detaileddescription.para.qbk.admonition")
{
el.admonitions.push_back(boost::trim_copy(std::string(node->value())));
}
else if (full == ".detaileddescription.para.qbk.behavior")
{
el.behaviors.push_back(boost::trim_copy(std::string(node->value())));
}
else if (full == ".detaileddescription.para.qbk.complexity")
{
el.complexity = node->value();
boost::trim(el.complexity);
} }
else if (full == ".detaileddescription.para.qbk.distinguish") else if (full == ".detaileddescription.para.qbk.distinguish")
{ {
@ -436,11 +422,6 @@ static void parse_function(rapidxml::xml_node<>* node, std::string const& parent
} }
else if (full == ".detaileddescription.para.image") else if (full == ".detaileddescription.para.image")
{ {
std::string image = get_attribute(node, "name");
if (! image.empty())
{
f.images.push_back(image);
}
} }
parse_function(node->first_node(), full, f); parse_function(node->first_node(), full, f);
@ -661,42 +642,16 @@ void quickbook_header(std::string const& location,
} }
} }
void quickbook_examples(std::vector<std::string> const& examples, std::ostream& out)
void quickbook_includes(std::vector<std::string> const& includes, std::ostream& out)
{ {
if (! examples.empty()) BOOST_FOREACH(std::string const& inc, includes)
{ {
out << "[heading Examples]" << std::endl; out << "[include " << inc << "]" << std::endl;
BOOST_FOREACH(std::string const& example, examples)
{
out << "[" << example << "]" << std::endl;
}
out << std::endl;
} }
} }
void quickbook_behaviors(std::vector<std::string> const& behaviors, std::ostream& out)
{
if (! behaviors.empty())
{
out << "[heading Behavior]" << std::endl
<< "[table" << std::endl
<< "[[Case] [Behavior] ]" << std::endl;
BOOST_FOREACH(std::string const& behavior, behaviors)
{
// Split at first ":"
std::size_t pos = behavior.find(":");
if (pos != std::string::npos)
{
std::string c = behavior.substr(0, pos);
std::string b = behavior.substr(pos + 1);
out << "[[" << c << "][" << b << "]]" << std::endl;
}
}
out << "]" << std::endl
<< std::endl
<< std::endl;
}
}
void quickbook_heading_string(std::string const& heading, void quickbook_heading_string(std::string const& heading,
std::string const& contents, std::ostream& out) std::string const& contents, std::ostream& out)
@ -798,30 +753,12 @@ void quickbook_output(function const& f, configuration const& config, std::ostre
<< std::endl; << std::endl;
quickbook_heading_string("Returns", f.return_description, out); quickbook_heading_string("Returns", f.return_description, out);
//quickbook_heading_string("Model of", f.model_of, out);
quickbook_header(f.location, config, out); quickbook_header(f.location, config, out);
quickbook_behaviors(f.behaviors, out);
quickbook_heading_string("Complexity", f.complexity, out); quickbook_includes(f.includes, out);
BOOST_FOREACH(std::string const& admonition, f.admonitions)
{
out << admonition << std::endl;
}
quickbook_examples(f.examples, out);
if (! f.images.empty())
{
out << "[heading Image(s)]" << std::endl;
BOOST_FOREACH(std::string const& image, f.images)
{
out << "[$" << image << "]" << std::endl;
}
}
out << std::endl; out << std::endl;
out << "[endsect]" << std::endl; out << "[endsect]" << std::endl;
out << std::endl; out << std::endl;
} }
@ -843,15 +780,6 @@ void quickbook_short_output(function const& f, std::ostream& out)
out << std::endl; out << std::endl;
} }
if (! f.examples.empty())
{
out << std::endl << std::endl << "[*Examples]" << std::endl;
BOOST_FOREACH(std::string const& example, f.examples)
{
out << "[" << example << "]" << std::endl;
}
}
out << std::endl; out << std::endl;
} }
@ -940,7 +868,8 @@ void quickbook_output(class_or_struct const& cos, configuration const& config, s
} }
quickbook_header(cos.location, config, out); quickbook_header(cos.location, config, out);
quickbook_examples(cos.examples, out); //quickbook_examples(cos.examples, out);
quickbook_includes(cos.includes, out);
out << "[endsect]" << std::endl out << "[endsect]" << std::endl
<< std::endl; << std::endl;
@ -955,6 +884,7 @@ inline bool equal_ignore_fix(std::string const& a, std::string const& b, std::st
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
// TODO: use boost::program_options
if (argc < 2) if (argc < 2)
{ {
std::cerr std::cerr
@ -977,21 +907,6 @@ int main(int argc, char** argv)
for (std::size_t j = i + 1; j < doc.functions.size(); j++) for (std::size_t j = i + 1; j < doc.functions.size(); j++)
{ {
function& f2 = doc.functions[j]; function& f2 = doc.functions[j];
if (f1.name == f2.name
|| equal_ignore_fix(f1.name, f2.name, "make_")
|| equal_ignore_fix(f1.name, f2.name, "_inserter"))
{
// Boost.Geometry specific
// Copy behaviors if empty and function has same name
if (f1.behaviors.empty() && !f2.behaviors.empty())
{
f1.behaviors = f2.behaviors;
}
if (f1.complexity.empty() && !f2.complexity.empty())
{
f1.complexity = f2.complexity;
}
}
if (f1.name == f2.name) if (f1.name == f2.name)
{ {

View File

@ -18,6 +18,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07_a_graph_route_example",
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07_b_graph_route_example", "07_b_graph_route_example.vcproj", "{940B049A-51AF-48DE-B366-11B42B98E3B3}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07_b_graph_route_example", "07_b_graph_route_example.vcproj", "{940B049A-51AF-48DE-B366-11B42B98E3B3}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "04_boost_example", "04_boost_example.vcproj", "{6254AA18-1E45-4ECD-B574-D20F97F5BBA3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "08_units_example", "08_units_example.vcproj", "{3D41FD4E-88B0-4A2A-9884-D434831A236C}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
@ -60,6 +64,14 @@ Global
{940B049A-51AF-48DE-B366-11B42B98E3B3}.Debug|Win32.Build.0 = Debug|Win32 {940B049A-51AF-48DE-B366-11B42B98E3B3}.Debug|Win32.Build.0 = Debug|Win32
{940B049A-51AF-48DE-B366-11B42B98E3B3}.Release|Win32.ActiveCfg = Release|Win32 {940B049A-51AF-48DE-B366-11B42B98E3B3}.Release|Win32.ActiveCfg = Release|Win32
{940B049A-51AF-48DE-B366-11B42B98E3B3}.Release|Win32.Build.0 = Release|Win32 {940B049A-51AF-48DE-B366-11B42B98E3B3}.Release|Win32.Build.0 = Release|Win32
{6254AA18-1E45-4ECD-B574-D20F97F5BBA3}.Debug|Win32.ActiveCfg = Debug|Win32
{6254AA18-1E45-4ECD-B574-D20F97F5BBA3}.Debug|Win32.Build.0 = Debug|Win32
{6254AA18-1E45-4ECD-B574-D20F97F5BBA3}.Release|Win32.ActiveCfg = Release|Win32
{6254AA18-1E45-4ECD-B574-D20F97F5BBA3}.Release|Win32.Build.0 = Release|Win32
{3D41FD4E-88B0-4A2A-9884-D434831A236C}.Debug|Win32.ActiveCfg = Debug|Win32
{3D41FD4E-88B0-4A2A-9884-D434831A236C}.Debug|Win32.Build.0 = Debug|Win32
{3D41FD4E-88B0-4A2A-9884-D434831A236C}.Release|Win32.ActiveCfg = Release|Win32
{3D41FD4E-88B0-4A2A-9884-D434831A236C}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@ -213,16 +213,8 @@ and Geographic as well.
\param geometry \param_geometry \param geometry \param_geometry
\return \return_calc{area} \return \return_calc{area}
\qbk{example,area} \qbk{include,ref/algorithms/area.qbk}
\qbk{example,area_output} \qbk{include,ref/algorithms/area_example.qbk}
\qbk{behavior,__0dim__:[qbk_ret 0]}
\qbk{behavior,__1dim__:[qbk_ret 0]}
\qbk{behavior,__2dim__:[qbk_ret the area]}
\qbk{behavior,__cart__:[qbk_ret the area] __cs_units__}
\qbk{behavior,__sph__:[qbk_ret the area] __sph1__}
\qbk{behavior,__rev__:[qbk_ret the negative area]}
\qbk{complexity,Linear}
\qbk{compliance,__ogc__}
*/ */
template <typename Geometry> template <typename Geometry>
inline typename area_result<Geometry>::type area(Geometry const& geometry) inline typename area_result<Geometry>::type area(Geometry const& geometry)
@ -255,8 +247,8 @@ inline typename area_result<Geometry>::type area(Geometry const& geometry)
\return \return_calc{area} \return \return_calc{area}
\qbk{distinguish,with strategy} \qbk{distinguish,with strategy}
\qbk{example,area_with_strategy} \qbk{include,ref/algorithms/area.qbk}
\qbk{example,area_with_strategy_output} \qbk{include,ref/algorithms/area_example_with_strategy.qbk}
*/ */
template <typename Geometry, typename Strategy> template <typename Geometry, typename Strategy>
inline typename Strategy::return_type area( inline typename Strategy::return_type area(

View File

@ -106,7 +106,7 @@ struct buffer<box_tag, box_tag, BoxIn, T, BoxOut>
\param chord_length (optional) The length of the chord's in the generated arcs around points or bends \param chord_length (optional) The length of the chord's in the generated arcs around points or bends
\note Currently only implemented for box, the trivial case, but still useful \note Currently only implemented for box, the trivial case, but still useful
\qbk{behavior,__box__/__box__:Returns a new rectangular box\, enlarged with the specified distance. It is allowed that "geometry_out" the same object as "geometry_in"} \qbk{include,ref/algorithms/buffer.qbk}
*/ */
template <typename Input, typename Output, typename Distance> template <typename Input, typename Output, typename Distance>
inline void buffer(Input const& geometry_in, Output& geometry_out, inline void buffer(Input const& geometry_in, Output& geometry_out,

View File

@ -358,6 +358,7 @@ struct centroid<polygon_tag, Polygon, Point, Strategy>
\param strategy \param_strategy{centroid} \param strategy \param_strategy{centroid}
\qbk{distinguish,with strategy} \qbk{distinguish,with strategy}
\qbk{include,ref/algorithms/centroid.qbk}
*/ */
template<typename Geometry, typename Point, typename Strategy> template<typename Geometry, typename Point, typename Strategy>
inline void centroid(Geometry const& geometry, Point& c, inline void centroid(Geometry const& geometry, Point& c,
@ -390,12 +391,7 @@ inline void centroid(Geometry const& geometry, Point& c,
\param geometry \param_geometry \param geometry \param_geometry
\param c the calculated centroid will be assigned to this point reference \param c the calculated centroid will be assigned to this point reference
\qbk{behavior,__0dim__:Calculates centroid} \qbk{include,ref/algorithms/centroid.qbk}
\qbk{behavior,__1dim__:Calculates centroid}
\qbk{behavior,__2dim__:Calculates centroid}
\qbk{behavior,__empty__:Throws a centroid_exception}
\qbk{complexity,Linear}
\qbk{compliance,__ogc__}
*/ */
template<typename Geometry, typename Point> template<typename Geometry, typename Point>
inline void centroid(Geometry const& geometry, Point& c) inline void centroid(Geometry const& geometry, Point& c)
@ -423,6 +419,7 @@ inline void centroid(Geometry const& geometry, Point& c)
\tparam Geometry \tparam_geometry \tparam Geometry \tparam_geometry
\param geometry \param_geometry \param geometry \param_geometry
\return \return_calc{centroid} \return \return_calc{centroid}
\qbk{include,ref/algorithms/centroid.qbk}
*/ */
template<typename Point, typename Geometry> template<typename Point, typename Geometry>
inline Point make_centroid(Geometry const& geometry) inline Point make_centroid(Geometry const& geometry)
@ -446,6 +443,7 @@ inline Point make_centroid(Geometry const& geometry)
\return \return_calc{centroid} \return \return_calc{centroid}
\qbk{distinguish,with strategy} \qbk{distinguish,with strategy}
\qbk{include,ref/algorithms/centroid.qbk}
*/ */
template<typename Point, typename Geometry, typename Strategy> template<typename Point, typename Geometry, typename Strategy>
inline Point make_centroid(Geometry const& geometry, Strategy const& strategy) inline Point make_centroid(Geometry const& geometry, Strategy const& strategy)

View File

@ -179,17 +179,14 @@ struct intersection_reversed
\details \details_calc2{intersection, spatial set theoretic intersection}. \details \details_calc2{intersection, spatial set theoretic intersection}.
\tparam Geometry1 \tparam_geometry \tparam Geometry1 \tparam_geometry
\tparam Geometry2 \tparam_geometry \tparam Geometry2 \tparam_geometry
\tparam Collection Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which \tparam GeometryOut Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which
the value_type (below referred to as 'GeometryOut') fulfills a \p_l_or_c concept. the value_type fulfills a \p_l_or_c concept, or it is the output geometry (e.g. for a box)
\param geometry1 \param_geometry \param geometry1 \param_geometry
\param geometry2 \param_geometry \param geometry2 \param_geometry
\param geometry_out The output geometry, either a multi_point, multi_polygon, \param geometry_out The output geometry, either a multi_point, multi_polygon,
multi_linestring, or a box (for intersection of two boxes) multi_linestring, or a box (for intersection of two boxes)
\qbk{example,intersection_ls_ls_point} \qbk{include,ref/algorithms/intersection.qbk}
\qbk{example,intersection_ls_ls_point_output}
\qbk{example,intersection_segment}
\qbk{example,intersection_segment_output}
*/ */
template template
< <

View File

@ -238,7 +238,7 @@ template
typename Linestring, typename Box, typename Linestring, typename Box,
bool Reverse1, bool Reverse2, bool ReverseOut, bool Reverse1, bool Reverse2, bool ReverseOut,
typename OutputIterator, typename GeometryOut, typename OutputIterator, typename GeometryOut,
overlay_type OverlayType, overlay_type OverlayType,
typename Strategy typename Strategy
> >
struct intersection_inserter struct intersection_inserter
@ -248,7 +248,7 @@ struct intersection_inserter
Linestring, Box, Linestring, Box,
Reverse1, Reverse2, ReverseOut, Reverse1, Reverse2, ReverseOut,
OutputIterator, GeometryOut, OutputIterator, GeometryOut,
OverlayType, OverlayType,
Strategy Strategy
> >
{ {
@ -267,7 +267,7 @@ template
typename Segment, typename Box, typename Segment, typename Box,
bool Reverse1, bool Reverse2, bool ReverseOut, bool Reverse1, bool Reverse2, bool ReverseOut,
typename OutputIterator, typename GeometryOut, typename OutputIterator, typename GeometryOut,
overlay_type OverlayType, overlay_type OverlayType,
typename Strategy typename Strategy
> >
struct intersection_inserter struct intersection_inserter
@ -277,7 +277,7 @@ struct intersection_inserter
Segment, Box, Segment, Box,
Reverse1, Reverse2, ReverseOut, Reverse1, Reverse2, ReverseOut,
OutputIterator, GeometryOut, OutputIterator, GeometryOut,
OverlayType, OverlayType,
Strategy Strategy
> >
{ {
@ -302,7 +302,7 @@ template
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
bool Reverse1, bool Reverse2, bool ReverseOut, bool Reverse1, bool Reverse2, bool ReverseOut,
typename OutputIterator, typename GeometryOut, typename OutputIterator, typename GeometryOut,
overlay_type OverlayType, overlay_type OverlayType,
typename Strategy typename Strategy
> >
struct intersection_inserter_reversed struct intersection_inserter_reversed
@ -318,7 +318,7 @@ struct intersection_inserter_reversed
Geometry2, Geometry1, Geometry2, Geometry1,
Reverse2, Reverse1, ReverseOut, Reverse2, Reverse1, ReverseOut,
OutputIterator, GeometryOut, OutputIterator, GeometryOut,
OverlayType, OverlayType,
Strategy Strategy
>::apply(g2, g1, out, strategy); >::apply(g2, g1, out, strategy);
} }
@ -339,7 +339,7 @@ template
< <
typename GeometryOut, typename GeometryOut,
bool Reverse1, bool Reverse2, bool ReverseOut, bool Reverse1, bool Reverse2, bool ReverseOut,
overlay_type OverlayType, overlay_type OverlayType,
typename Geometry1, typename Geometry2, typename Geometry1, typename Geometry2,
typename OutputIterator, typename OutputIterator,
typename Strategy typename Strategy
@ -408,9 +408,7 @@ inline OutputIterator inserter(Geometry1 const& geometry1,
\return \return_out \return \return_out
\qbk{distinguish,with strategy} \qbk{distinguish,with strategy}
\qbk{behavior,[qbk_out __point__]:Calculates intersection points of input geometries} \qbk{include,ref/algorithms/intersection.qbk}
\qbk{behavior,[qbk_out __linestring__]:Calculates intersection linestrings of input geometries (NYI)}
\qbk{behavior,[qbk_out __polygon__]:Calculates intersection polygons input (multi)polygons and/or boxes}
*/ */
template template
< <
@ -446,7 +444,7 @@ inline OutputIterator intersection_inserter(Geometry1 const& geometry1,
\param out \param_out{intersection} \param out \param_out{intersection}
\return \return_out \return \return_out
\qbk{example,intersection_segment_inserter} \qbk{include,ref/algorithms/intersection.qbk}
*/ */
template template
< <

View File

@ -30,6 +30,7 @@ namespace boost { namespace geometry
\return \return_check{is self-intersecting} \return \return_check{is self-intersecting}
\qbk{distinguish,one geometry} \qbk{distinguish,one geometry}
\qbk{include,ref/algorithms/intersects.qbk}
*/ */
template <typename Geometry> template <typename Geometry>
inline bool intersects(Geometry const& geometry) inline bool intersects(Geometry const& geometry)
@ -81,8 +82,7 @@ inline bool intersects(Geometry const& geometry)
\return \return_check2{intersect each other} \return \return_check2{intersect each other}
\qbk{distinguish,two geometries} \qbk{distinguish,two geometries}
\qbk{example,intersects_linestring} \qbk{include,ref/algorithms/intersects.qbk}
\qbk{example,intersects_linestring_output}
*/ */
template <typename Geometry1, typename Geometry2> template <typename Geometry1, typename Geometry2>
inline bool intersects(Geometry1 const& geometry1, Geometry2 const& geometry2) inline bool intersects(Geometry1 const& geometry1, Geometry2 const& geometry2)

View File

@ -137,13 +137,8 @@ struct length<segment_tag, Geometry, Strategy>
\param geometry \param_geometry \param geometry \param_geometry
\return \return_calc{length} \return \return_calc{length}
\qbk{behavior,__0dim__:[qbk_ret 0]} \qbk{include,ref/algorithms/length.qbk}
\qbk{behavior,__1dim__:[qbk_ret the length]} \qbk{include,ref/algorithms/length_example.qbk}
\qbk{behavior,__2dim__:[qbk_ret 0]}
\qbk{complexity,Linear}
\qbk{compliance,__ogc__}
\qbk{example,length}
\qbk{example,length_output}
*/ */
template<typename Geometry> template<typename Geometry>
inline typename length_result<Geometry>::type length( inline typename length_result<Geometry>::type length(
@ -176,8 +171,8 @@ inline typename length_result<Geometry>::type length(
\return \return_calc{length} \return \return_calc{length}
\qbk{distinguish,with strategy} \qbk{distinguish,with strategy}
\qbk{example,length_with_strategy} \qbk{include,ref/algorithms/length.qbk}
\qbk{example,length_with_strategy_output} \qbk{include,ref/algorithms/length_example_with_strategy.qbk}
*/ */
template<typename Geometry, typename Strategy> template<typename Geometry, typename Strategy>
inline typename length_result<Geometry>::type length( inline typename length_result<Geometry>::type length(

View File

@ -147,13 +147,7 @@ struct num_points<polygon_tag, false, Geometry>
\param add_for_open add one for open geometries (i.e. polygon types which are not closed) \param add_for_open add one for open geometries (i.e. polygon types which are not closed)
\return \return_calc{number of points} \return \return_calc{number of points}
\qbk{behavior,__point__:[qbk_ret 1]} \qbk{include,ref/algorithms/num_points.qbk}
\qbk{behavior,__segment__:[qbk_ret 2]}
\qbk{behavior,__box__:[qbk_ret 4]}
\qbk{behavior,__range__:[qbk_ret boost::size(geometry)]}
\qbk{behavior,__other__:[qbk_ret the sum of the number of points of its elements]}
\qbk{complexity,Constant or Linear}
\qbk{compliance,__ogc__}
*/ */
template <typename Geometry> template <typename Geometry>
inline std::size_t num_points(Geometry const& geometry, bool add_for_open = false) inline std::size_t num_points(Geometry const& geometry, bool add_for_open = false)

View File

@ -40,7 +40,7 @@ template <typename Geometry, typename Strategy>
struct perimeter<ring_tag, Geometry, Strategy> struct perimeter<ring_tag, Geometry, Strategy>
: detail::length::range_length : detail::length::range_length
< <
Geometry, Geometry,
Strategy, Strategy,
closure<Geometry>::value closure<Geometry>::value
> >
@ -78,10 +78,7 @@ struct perimeter<polygon_tag, Polygon, Strategy>
\param geometry \param_geometry \param geometry \param_geometry
\return \return_calc{perimeter} \return \return_calc{perimeter}
\qbk{behavior,__0dim__:Returns zero} \qbk{include,ref/algorithms/perimeter.qbk}
\qbk{behavior,__1dim__:Returns zero}
\qbk{behavior,__2dim__:Returns the perimeter}
\qbk{complexity,Linear}
*/ */
template<typename Geometry> template<typename Geometry>
inline typename length_result<Geometry>::type perimeter( inline typename length_result<Geometry>::type perimeter(
@ -115,6 +112,7 @@ inline typename length_result<Geometry>::type perimeter(
\return \return_calc{perimeter} \return \return_calc{perimeter}
\qbk{distinguish,with strategy} \qbk{distinguish,with strategy}
\qbk{include,ref/algorithms/perimeter.qbk}
*/ */
template<typename Geometry, typename Strategy> template<typename Geometry, typename Strategy>
inline typename length_result<Geometry>::type perimeter( inline typename length_result<Geometry>::type perimeter(

View File

@ -286,8 +286,7 @@ inline void simplify(Geometry const& geometry, Geometry& out,
\param max_distance distance (in units of input coordinates) of a vertex \param max_distance distance (in units of input coordinates) of a vertex
to other segments to be removed to other segments to be removed
\qbk{example,simplify} \qbk{include,ref/algorithms/simplify.qbk}
\qbk{example,simplify_output}
*/ */
template<typename Geometry, typename Distance> template<typename Geometry, typename Distance>
inline void simplify(Geometry const& geometry, Geometry& out, inline void simplify(Geometry const& geometry, Geometry& out,
@ -323,7 +322,8 @@ inline void simplify(Geometry const& geometry, Geometry& out,
might include point-distance strategy might include point-distance strategy
\qbk{distinguish,with strategy} \qbk{distinguish,with strategy}
*/ \qbk{include,ref/algorithms/simplify.qbk}
*/
template<typename Geometry, typename OutputIterator, typename Distance, typename Strategy> template<typename Geometry, typename OutputIterator, typename Distance, typename Strategy>
inline void simplify_inserter(Geometry const& geometry, OutputIterator out, inline void simplify_inserter(Geometry const& geometry, OutputIterator out,
Distance const& max_distance, Strategy const& strategy) Distance const& max_distance, Strategy const& strategy)
@ -348,8 +348,7 @@ inline void simplify_inserter(Geometry const& geometry, OutputIterator out,
\param max_distance distance (in units of input coordinates) of a vertex \param max_distance distance (in units of input coordinates) of a vertex
to other segments to be removed to other segments to be removed
\qbk{example,simplify_inserter} \qbk{include,ref/algorithms/simplify_inserter.qbk}
\qbk{example,simplify_inserter_output}
*/ */
template<typename Geometry, typename OutputIterator, typename Distance> template<typename Geometry, typename OutputIterator, typename Distance>
inline void simplify_inserter(Geometry const& geometry, OutputIterator out, inline void simplify_inserter(Geometry const& geometry, OutputIterator out,

View File

@ -167,11 +167,7 @@ inline typename interior_return_type<Polygon const>::type interior_rings(
\param geometry \param_geometry \param geometry \param_geometry
\return \return_calc{number of interior rings} \return \return_calc{number of interior rings}
\qbk{behavior,__polygon__:[qbk_ret number of its interior rings]} \qbk{include,ref/algorithms/num_interior_rings.qbk}
\qbk{behavior,__multi_polygon__:[qbk_ret number of the interior rings of all polygons]}
\qbk{behavior,__other__:[qbk_ret 0]}
\qbk{compliance,__ogc__: numInteriorRing}
\qbk{complexity,Constant}
\note Defined by OGC as "numInteriorRing". To be consistent with "numPoints" \note Defined by OGC as "numInteriorRing". To be consistent with "numPoints"
letter "s" is appended letter "s" is appended

View File

@ -50,10 +50,7 @@ struct num_geometries
\param geometry \param_geometry \param geometry \param_geometry
\return \return_calc{number of geometries} \return \return_calc{number of geometries}
\qbk{behavior,__single__:[qbk_ret 1]} \qbk{include,ref/algorithms/num_geometries.qbk}
\qbk{behavior,__multi__:Returns boost::size(geometry); the input is considered as a range}
\qbk{compliance,__ogc__}
\qbk{complexity,Constant}
*/ */
template <typename Geometry> template <typename Geometry>
inline std::size_t num_geometries(Geometry const& geometry) inline std::size_t num_geometries(Geometry const& geometry)

View File

@ -34,8 +34,8 @@ namespace model
\tparam DimensionCount number of coordinates, usually 2 or 3 \tparam DimensionCount number of coordinates, usually 2 or 3
\tparam CoordinateSystem coordinate system, for example cs::cartesian \tparam CoordinateSystem coordinate system, for example cs::cartesian
\qbk{example,point} \qbk{include,ref/geometries/point.qbk}
\qbk{example,point_output}
\details Defines a neutral point class, fulfilling the Point Concept. \details Defines a neutral point class, fulfilling the Point Concept.
Library users can use this point class, or use their own point classes. Library users can use this point class, or use their own point classes.

View File

@ -60,10 +60,7 @@
\param Field0 \param_macro_member{\macro_x} \param Field0 \param_macro_member{\macro_x}
\param Field1 \param_macro_member{\macro_y} \param Field1 \param_macro_member{\macro_y}
\qbk{example, register_point_2d} \qbk{include,ref/geometries/register/point.qbk}
\qbk{example, register_point_2d_output}
\qbk{admonition, [caution Use the macro outside any namespace]}
\qbk{admonition, [note A point can include a namespace]}
*/ */
#define BOOST_GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1) \ #define BOOST_GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1) \
namespace boost { namespace geometry { namespace traits { \ namespace boost { namespace geometry { namespace traits { \