mirror of
https://github.com/boostorg/geometry.git
synced 2025-05-09 23:24:02 +00:00
Doc update, move from qbk/* to qbk/include and separate qbk files in folder ref
[SVN r68215]
This commit is contained in:
parent
d234480b24
commit
cbcf275ea7
@ -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)
|
||||
|
||||
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
|
||||
html: contains generated HTML files
|
||||
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)
|
||||
src: examples used in documentation and tools (doxygen_xml2qbk)
|
||||
|
||||
|
26
doc/ref/algorithms/area.qbk
Normal file
26
doc/ref/algorithms/area.qbk
Normal 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
|
||||
|
16
doc/ref/algorithms/area_example.qbk
Normal file
16
doc/ref/algorithms/area_example.qbk
Normal 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]
|
||||
|
16
doc/ref/algorithms/area_example_with_strategy.qbk
Normal file
16
doc/ref/algorithms/area_example_with_strategy.qbk
Normal 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]
|
||||
|
19
doc/ref/algorithms/buffer.qbk
Normal file
19
doc/ref/algorithms/buffer.qbk
Normal 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"]]
|
||||
]
|
||||
|
||||
|
24
doc/ref/algorithms/centroid.qbk
Normal file
24
doc/ref/algorithms/centroid.qbk
Normal 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
|
20
doc/ref/algorithms/intersection.qbk
Normal file
20
doc/ref/algorithms/intersection.qbk
Normal 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]]
|
||||
]
|
||||
|
16
doc/ref/algorithms/intersects.qbk
Normal file
16
doc/ref/algorithms/intersects.qbk
Normal 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]
|
||||
|
24
doc/ref/algorithms/length.qbk
Normal file
24
doc/ref/algorithms/length.qbk
Normal 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
|
||||
|
15
doc/ref/algorithms/length_example.qbk
Normal file
15
doc/ref/algorithms/length_example.qbk
Normal 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]
|
15
doc/ref/algorithms/length_example_with_strategy.qbk
Normal file
15
doc/ref/algorithms/length_example_with_strategy.qbk
Normal 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]
|
22
doc/ref/algorithms/num_geometries.qbk
Normal file
22
doc/ref/algorithms/num_geometries.qbk
Normal 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
|
23
doc/ref/algorithms/num_interior_rings.qbk
Normal file
23
doc/ref/algorithms/num_interior_rings.qbk
Normal 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
|
25
doc/ref/algorithms/num_points.qbk
Normal file
25
doc/ref/algorithms/num_points.qbk
Normal 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
|
23
doc/ref/algorithms/perimeter.qbk
Normal file
23
doc/ref/algorithms/perimeter.qbk
Normal 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
|
18
doc/ref/algorithms/simplify.qbk
Normal file
18
doc/ref/algorithms/simplify.qbk
Normal 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]
|
16
doc/ref/algorithms/simplify_inserter.qbk
Normal file
16
doc/ref/algorithms/simplify_inserter.qbk
Normal 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]
|
||||
|
15
doc/ref/geometries/point.qbk
Normal file
15
doc/ref/geometries/point.qbk
Normal 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]
|
17
doc/ref/geometries/register/point.qbk
Normal file
17
doc/ref/geometries/register/point.qbk
Normal 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]
|
@ -45,25 +45,8 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/area.hpp>`
|
||||
|
||||
[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
|
||||
|
||||
[heading Examples]
|
||||
[area_with_strategy]
|
||||
[area_with_strategy_output]
|
||||
|
||||
[include ref/algorithms/area.qbk]
|
||||
[include ref/algorithms/area_example_with_strategy.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -102,25 +85,8 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/area.hpp>`
|
||||
|
||||
[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
|
||||
|
||||
[heading Examples]
|
||||
[area]
|
||||
[area_output]
|
||||
|
||||
[include ref/algorithms/area.qbk]
|
||||
[include ref/algorithms/area_example.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -44,13 +44,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/buffer.hpp>`
|
||||
|
||||
[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"]]
|
||||
]
|
||||
|
||||
|
||||
[include ref/algorithms/buffer.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -42,19 +42,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/centroid.hpp>`
|
||||
|
||||
[heading Behavior]
|
||||
[table
|
||||
[[Case] [Behavior] ]
|
||||
[[__0dim__][Calculates centroid]]
|
||||
[[__1dim__][Calculates centroid]]
|
||||
[[__2dim__][Calculates centroid]]
|
||||
[[__empty__][Throws a centroid_exception]]
|
||||
]
|
||||
|
||||
|
||||
[heading Complexity]
|
||||
Linear
|
||||
|
||||
[include ref/algorithms/centroid.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -88,6 +76,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/centroid.hpp>`
|
||||
|
||||
[include ref/algorithms/centroid.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -124,6 +113,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/centroid.hpp>`
|
||||
|
||||
[include ref/algorithms/centroid.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -148,7 +138,7 @@ Point make_centroid (Geometry const &geometry)``
|
||||
|
||||
|
||||
[heading Returns]
|
||||
The calculated centroid
|
||||
The calculated centroid
|
||||
|
||||
[heading Header]
|
||||
Either
|
||||
|
@ -21,17 +21,16 @@ Calculate the intersection of two geometries.
|
||||
The free function intersection calculates the spatial set theoretic intersection of two geometries.
|
||||
|
||||
[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)``
|
||||
|
||||
[heading Parameters]
|
||||
|
||||
[table
|
||||
[[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 ]]
|
||||
[[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>`
|
||||
|
||||
[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]]
|
||||
]
|
||||
|
||||
|
||||
[heading Examples]
|
||||
[intersection_ls_ls_point]
|
||||
[intersection_ls_ls_point_output]
|
||||
[intersection_segment]
|
||||
[intersection_segment_output]
|
||||
|
||||
[include ref/algorithms/intersection.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -90,18 +75,7 @@ The output iterator
|
||||
[heading Header]
|
||||
`#include <boost/geometry/algorithms/intersection_inserter.hpp>`
|
||||
|
||||
[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]]
|
||||
]
|
||||
|
||||
|
||||
[heading Examples]
|
||||
[intersection_segment_inserter]
|
||||
|
||||
[include ref/algorithms/intersection.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -134,15 +108,7 @@ The output iterator
|
||||
[heading Header]
|
||||
`#include <boost/geometry/algorithms/intersection_inserter.hpp>`
|
||||
|
||||
[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]]
|
||||
]
|
||||
|
||||
|
||||
[include ref/algorithms/intersection.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -42,10 +42,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/intersects.hpp>`
|
||||
|
||||
[heading Examples]
|
||||
[intersects_linestring]
|
||||
[intersects_linestring_output]
|
||||
|
||||
[include ref/algorithms/intersects.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -77,6 +74,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/intersects.hpp>`
|
||||
|
||||
[include ref/algorithms/intersects.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -45,22 +45,8 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/length.hpp>`
|
||||
|
||||
[heading Behavior]
|
||||
[table
|
||||
[[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]
|
||||
|
||||
[include ref/algorithms/length.qbk]
|
||||
[include ref/algorithms/length_example_with_strategy.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -95,22 +81,8 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/length.hpp>`
|
||||
|
||||
[heading Behavior]
|
||||
[table
|
||||
[[Case] [Behavior] ]
|
||||
[[__0dim__][[qbk_ret 0]]]
|
||||
[[__1dim__][[qbk_ret the length]]]
|
||||
[[__2dim__][[qbk_ret 0]]]
|
||||
]
|
||||
|
||||
|
||||
[heading Complexity]
|
||||
Linear
|
||||
|
||||
[heading Examples]
|
||||
[length]
|
||||
[length_output]
|
||||
|
||||
[include ref/algorithms/length.qbk]
|
||||
[include ref/algorithms/length_example.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -44,17 +44,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/core/num_geometries.hpp>`
|
||||
|
||||
[heading Behavior]
|
||||
[table
|
||||
[[Case] [Behavior] ]
|
||||
[[__single__][[qbk_ret 1]]]
|
||||
[[__multi__][Returns boost::size(geometry); the input is considered as a range]]
|
||||
]
|
||||
|
||||
|
||||
[heading Complexity]
|
||||
Constant
|
||||
|
||||
[include ref/algorithms/num_geometries.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -44,18 +44,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/core/interior_rings.hpp>`
|
||||
|
||||
[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
|
||||
|
||||
[include ref/algorithms/num_interior_rings.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -45,20 +45,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/num_points.hpp>`
|
||||
|
||||
[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
|
||||
|
||||
[include ref/algorithms/num_points.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -45,18 +45,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/perimeter.hpp>`
|
||||
|
||||
[heading Behavior]
|
||||
[table
|
||||
[[Case] [Behavior] ]
|
||||
[[__0dim__][Returns zero]]
|
||||
[[__1dim__][Returns zero]]
|
||||
[[__2dim__][Returns the perimeter]]
|
||||
]
|
||||
|
||||
|
||||
[heading Complexity]
|
||||
Linear
|
||||
|
||||
[include ref/algorithms/perimeter.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -91,18 +80,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/perimeter.hpp>`
|
||||
|
||||
[heading Behavior]
|
||||
[table
|
||||
[[Case] [Behavior] ]
|
||||
[[__0dim__][Returns zero]]
|
||||
[[__1dim__][Returns zero]]
|
||||
[[__2dim__][Returns the perimeter]]
|
||||
]
|
||||
|
||||
|
||||
[heading Complexity]
|
||||
Linear
|
||||
|
||||
[include ref/algorithms/perimeter.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -90,9 +90,6 @@ Or
|
||||
|
||||
`#include <boost/geometry/geometries/point.hpp>`
|
||||
|
||||
[heading Examples]
|
||||
[point]
|
||||
[point_output]
|
||||
|
||||
[include ref/geometries/point.qbk]
|
||||
[endsect]
|
||||
|
||||
|
@ -38,12 +38,7 @@ The macro BOOST_GEOMETRY_REGISTER_POINT_2D registers a two-dimensional point typ
|
||||
[heading Header]
|
||||
`#include <boost/geometry/geometries/register/point.hpp>`
|
||||
|
||||
[caution Use the macro outside any namespace]
|
||||
[note A point can include a namespace]
|
||||
[heading Examples]
|
||||
[register_point_2d]
|
||||
[register_point_2d_output]
|
||||
|
||||
[include ref/geometries/register/point.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -40,10 +40,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/simplify.hpp>`
|
||||
|
||||
[heading Examples]
|
||||
[simplify]
|
||||
[simplify_output]
|
||||
|
||||
[include ref/algorithms/simplify.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -75,8 +72,6 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/simplify.hpp>`
|
||||
|
||||
[heading Image(s)]
|
||||
[$svg_simplify_country.png]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -107,10 +102,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/simplify.hpp>`
|
||||
|
||||
[heading Examples]
|
||||
[simplify_inserter]
|
||||
[simplify_inserter_output]
|
||||
|
||||
[include ref/algorithms/simplify_inserter.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
@ -142,6 +134,7 @@ Or
|
||||
|
||||
`#include <boost/geometry/algorithms/simplify.hpp>`
|
||||
|
||||
[include ref/algorithms/simplify.qbk]
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -114,11 +114,10 @@ struct element
|
||||
std::string brief_description, detailed_description;
|
||||
std::string location;
|
||||
int line; // To sort - Doxygen changes order - we change it back
|
||||
std::vector<std::string> examples;
|
||||
std::vector<std::string> behaviors;
|
||||
std::vector<std::string> admonitions;
|
||||
std::vector<std::string> images;
|
||||
std::string complexity;
|
||||
|
||||
// QBK-includes
|
||||
// Filled with e.g.: \qbk(include, reference/myqbk.qbk}
|
||||
std::vector<std::string> includes;
|
||||
|
||||
// To distinguish overloads: unary, binary etc,
|
||||
// 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.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())));
|
||||
}
|
||||
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);
|
||||
el.includes.push_back(boost::trim_copy(std::string(node->value())));
|
||||
}
|
||||
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")
|
||||
{
|
||||
std::string image = get_attribute(node, "name");
|
||||
if (! image.empty())
|
||||
{
|
||||
f.images.push_back(image);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
BOOST_FOREACH(std::string const& example, examples)
|
||||
{
|
||||
out << "[" << example << "]" << std::endl;
|
||||
}
|
||||
out << std::endl;
|
||||
out << "[include " << inc << "]" << 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,
|
||||
std::string const& contents, std::ostream& out)
|
||||
@ -798,30 +753,12 @@ void quickbook_output(function const& f, configuration const& config, std::ostre
|
||||
<< std::endl;
|
||||
|
||||
quickbook_heading_string("Returns", f.return_description, out);
|
||||
//quickbook_heading_string("Model of", f.model_of, 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 << "[endsect]" << std::endl;
|
||||
out << std::endl;
|
||||
}
|
||||
@ -843,15 +780,6 @@ void quickbook_short_output(function const& f, std::ostream& out)
|
||||
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;
|
||||
}
|
||||
|
||||
@ -940,7 +868,8 @@ void quickbook_output(class_or_struct const& cos, configuration const& config, s
|
||||
}
|
||||
|
||||
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
|
||||
<< 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)
|
||||
{
|
||||
// TODO: use boost::program_options
|
||||
if (argc < 2)
|
||||
{
|
||||
std::cerr
|
||||
@ -977,21 +907,6 @@ int main(int argc, char** argv)
|
||||
for (std::size_t j = i + 1; j < doc.functions.size(); 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)
|
||||
{
|
||||
|
@ -18,6 +18,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07_a_graph_route_example",
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "07_b_graph_route_example", "07_b_graph_route_example.vcproj", "{940B049A-51AF-48DE-B366-11B42B98E3B3}"
|
||||
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
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
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}.Release|Win32.ActiveCfg = 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
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -213,16 +213,8 @@ and Geographic as well.
|
||||
\param geometry \param_geometry
|
||||
\return \return_calc{area}
|
||||
|
||||
\qbk{example,area}
|
||||
\qbk{example,area_output}
|
||||
\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__}
|
||||
\qbk{include,ref/algorithms/area.qbk}
|
||||
\qbk{include,ref/algorithms/area_example.qbk}
|
||||
*/
|
||||
template <typename 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}
|
||||
|
||||
\qbk{distinguish,with strategy}
|
||||
\qbk{example,area_with_strategy}
|
||||
\qbk{example,area_with_strategy_output}
|
||||
\qbk{include,ref/algorithms/area.qbk}
|
||||
\qbk{include,ref/algorithms/area_example_with_strategy.qbk}
|
||||
*/
|
||||
template <typename Geometry, typename Strategy>
|
||||
inline typename Strategy::return_type area(
|
||||
|
@ -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
|
||||
\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>
|
||||
inline void buffer(Input const& geometry_in, Output& geometry_out,
|
||||
|
@ -358,6 +358,7 @@ struct centroid<polygon_tag, Polygon, Point, Strategy>
|
||||
\param strategy \param_strategy{centroid}
|
||||
|
||||
\qbk{distinguish,with strategy}
|
||||
\qbk{include,ref/algorithms/centroid.qbk}
|
||||
*/
|
||||
template<typename Geometry, typename Point, typename Strategy>
|
||||
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 c the calculated centroid will be assigned to this point reference
|
||||
|
||||
\qbk{behavior,__0dim__:Calculates centroid}
|
||||
\qbk{behavior,__1dim__:Calculates centroid}
|
||||
\qbk{behavior,__2dim__:Calculates centroid}
|
||||
\qbk{behavior,__empty__:Throws a centroid_exception}
|
||||
\qbk{complexity,Linear}
|
||||
\qbk{compliance,__ogc__}
|
||||
\qbk{include,ref/algorithms/centroid.qbk}
|
||||
*/
|
||||
template<typename Geometry, typename Point>
|
||||
inline void centroid(Geometry const& geometry, Point& c)
|
||||
@ -423,6 +419,7 @@ inline void centroid(Geometry const& geometry, Point& c)
|
||||
\tparam Geometry \tparam_geometry
|
||||
\param geometry \param_geometry
|
||||
\return \return_calc{centroid}
|
||||
\qbk{include,ref/algorithms/centroid.qbk}
|
||||
*/
|
||||
template<typename Point, typename Geometry>
|
||||
inline Point make_centroid(Geometry const& geometry)
|
||||
@ -446,6 +443,7 @@ inline Point make_centroid(Geometry const& geometry)
|
||||
\return \return_calc{centroid}
|
||||
|
||||
\qbk{distinguish,with strategy}
|
||||
\qbk{include,ref/algorithms/centroid.qbk}
|
||||
*/
|
||||
template<typename Point, typename Geometry, typename Strategy>
|
||||
inline Point make_centroid(Geometry const& geometry, Strategy const& strategy)
|
||||
|
@ -179,17 +179,14 @@ struct intersection_reversed
|
||||
\details \details_calc2{intersection, spatial set theoretic intersection}.
|
||||
\tparam Geometry1 \tparam_geometry
|
||||
\tparam Geometry2 \tparam_geometry
|
||||
\tparam 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 \p_l_or_c concept.
|
||||
\tparam GeometryOut Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which
|
||||
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 geometry2 \param_geometry
|
||||
\param geometry_out The output geometry, either a multi_point, multi_polygon,
|
||||
multi_linestring, or a box (for intersection of two boxes)
|
||||
|
||||
\qbk{example,intersection_ls_ls_point}
|
||||
\qbk{example,intersection_ls_ls_point_output}
|
||||
\qbk{example,intersection_segment}
|
||||
\qbk{example,intersection_segment_output}
|
||||
\qbk{include,ref/algorithms/intersection.qbk}
|
||||
*/
|
||||
template
|
||||
<
|
||||
|
@ -238,7 +238,7 @@ template
|
||||
typename Linestring, typename Box,
|
||||
bool Reverse1, bool Reverse2, bool ReverseOut,
|
||||
typename OutputIterator, typename GeometryOut,
|
||||
overlay_type OverlayType,
|
||||
overlay_type OverlayType,
|
||||
typename Strategy
|
||||
>
|
||||
struct intersection_inserter
|
||||
@ -248,7 +248,7 @@ struct intersection_inserter
|
||||
Linestring, Box,
|
||||
Reverse1, Reverse2, ReverseOut,
|
||||
OutputIterator, GeometryOut,
|
||||
OverlayType,
|
||||
OverlayType,
|
||||
Strategy
|
||||
>
|
||||
{
|
||||
@ -267,7 +267,7 @@ template
|
||||
typename Segment, typename Box,
|
||||
bool Reverse1, bool Reverse2, bool ReverseOut,
|
||||
typename OutputIterator, typename GeometryOut,
|
||||
overlay_type OverlayType,
|
||||
overlay_type OverlayType,
|
||||
typename Strategy
|
||||
>
|
||||
struct intersection_inserter
|
||||
@ -277,7 +277,7 @@ struct intersection_inserter
|
||||
Segment, Box,
|
||||
Reverse1, Reverse2, ReverseOut,
|
||||
OutputIterator, GeometryOut,
|
||||
OverlayType,
|
||||
OverlayType,
|
||||
Strategy
|
||||
>
|
||||
{
|
||||
@ -302,7 +302,7 @@ template
|
||||
typename Geometry1, typename Geometry2,
|
||||
bool Reverse1, bool Reverse2, bool ReverseOut,
|
||||
typename OutputIterator, typename GeometryOut,
|
||||
overlay_type OverlayType,
|
||||
overlay_type OverlayType,
|
||||
typename Strategy
|
||||
>
|
||||
struct intersection_inserter_reversed
|
||||
@ -318,7 +318,7 @@ struct intersection_inserter_reversed
|
||||
Geometry2, Geometry1,
|
||||
Reverse2, Reverse1, ReverseOut,
|
||||
OutputIterator, GeometryOut,
|
||||
OverlayType,
|
||||
OverlayType,
|
||||
Strategy
|
||||
>::apply(g2, g1, out, strategy);
|
||||
}
|
||||
@ -339,7 +339,7 @@ template
|
||||
<
|
||||
typename GeometryOut,
|
||||
bool Reverse1, bool Reverse2, bool ReverseOut,
|
||||
overlay_type OverlayType,
|
||||
overlay_type OverlayType,
|
||||
typename Geometry1, typename Geometry2,
|
||||
typename OutputIterator,
|
||||
typename Strategy
|
||||
@ -408,9 +408,7 @@ inline OutputIterator inserter(Geometry1 const& geometry1,
|
||||
\return \return_out
|
||||
|
||||
\qbk{distinguish,with strategy}
|
||||
\qbk{behavior,[qbk_out __point__]:Calculates intersection points of input geometries}
|
||||
\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}
|
||||
\qbk{include,ref/algorithms/intersection.qbk}
|
||||
*/
|
||||
template
|
||||
<
|
||||
@ -446,7 +444,7 @@ inline OutputIterator intersection_inserter(Geometry1 const& geometry1,
|
||||
\param out \param_out{intersection}
|
||||
\return \return_out
|
||||
|
||||
\qbk{example,intersection_segment_inserter}
|
||||
\qbk{include,ref/algorithms/intersection.qbk}
|
||||
*/
|
||||
template
|
||||
<
|
||||
|
@ -30,6 +30,7 @@ namespace boost { namespace geometry
|
||||
\return \return_check{is self-intersecting}
|
||||
|
||||
\qbk{distinguish,one geometry}
|
||||
\qbk{include,ref/algorithms/intersects.qbk}
|
||||
*/
|
||||
template <typename Geometry>
|
||||
inline bool intersects(Geometry const& geometry)
|
||||
@ -81,8 +82,7 @@ inline bool intersects(Geometry const& geometry)
|
||||
\return \return_check2{intersect each other}
|
||||
|
||||
\qbk{distinguish,two geometries}
|
||||
\qbk{example,intersects_linestring}
|
||||
\qbk{example,intersects_linestring_output}
|
||||
\qbk{include,ref/algorithms/intersects.qbk}
|
||||
*/
|
||||
template <typename Geometry1, typename Geometry2>
|
||||
inline bool intersects(Geometry1 const& geometry1, Geometry2 const& geometry2)
|
||||
|
@ -137,13 +137,8 @@ struct length<segment_tag, Geometry, Strategy>
|
||||
\param geometry \param_geometry
|
||||
\return \return_calc{length}
|
||||
|
||||
\qbk{behavior,__0dim__:[qbk_ret 0]}
|
||||
\qbk{behavior,__1dim__:[qbk_ret the length]}
|
||||
\qbk{behavior,__2dim__:[qbk_ret 0]}
|
||||
\qbk{complexity,Linear}
|
||||
\qbk{compliance,__ogc__}
|
||||
\qbk{example,length}
|
||||
\qbk{example,length_output}
|
||||
\qbk{include,ref/algorithms/length.qbk}
|
||||
\qbk{include,ref/algorithms/length_example.qbk}
|
||||
*/
|
||||
template<typename Geometry>
|
||||
inline typename length_result<Geometry>::type length(
|
||||
@ -176,8 +171,8 @@ inline typename length_result<Geometry>::type length(
|
||||
\return \return_calc{length}
|
||||
|
||||
\qbk{distinguish,with strategy}
|
||||
\qbk{example,length_with_strategy}
|
||||
\qbk{example,length_with_strategy_output}
|
||||
\qbk{include,ref/algorithms/length.qbk}
|
||||
\qbk{include,ref/algorithms/length_example_with_strategy.qbk}
|
||||
*/
|
||||
template<typename Geometry, typename Strategy>
|
||||
inline typename length_result<Geometry>::type length(
|
||||
|
@ -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)
|
||||
\return \return_calc{number of points}
|
||||
|
||||
\qbk{behavior,__point__:[qbk_ret 1]}
|
||||
\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__}
|
||||
\qbk{include,ref/algorithms/num_points.qbk}
|
||||
*/
|
||||
template <typename Geometry>
|
||||
inline std::size_t num_points(Geometry const& geometry, bool add_for_open = false)
|
||||
|
@ -40,7 +40,7 @@ template <typename Geometry, typename Strategy>
|
||||
struct perimeter<ring_tag, Geometry, Strategy>
|
||||
: detail::length::range_length
|
||||
<
|
||||
Geometry,
|
||||
Geometry,
|
||||
Strategy,
|
||||
closure<Geometry>::value
|
||||
>
|
||||
@ -78,10 +78,7 @@ struct perimeter<polygon_tag, Polygon, Strategy>
|
||||
\param geometry \param_geometry
|
||||
\return \return_calc{perimeter}
|
||||
|
||||
\qbk{behavior,__0dim__:Returns zero}
|
||||
\qbk{behavior,__1dim__:Returns zero}
|
||||
\qbk{behavior,__2dim__:Returns the perimeter}
|
||||
\qbk{complexity,Linear}
|
||||
\qbk{include,ref/algorithms/perimeter.qbk}
|
||||
*/
|
||||
template<typename Geometry>
|
||||
inline typename length_result<Geometry>::type perimeter(
|
||||
@ -115,6 +112,7 @@ inline typename length_result<Geometry>::type perimeter(
|
||||
\return \return_calc{perimeter}
|
||||
|
||||
\qbk{distinguish,with strategy}
|
||||
\qbk{include,ref/algorithms/perimeter.qbk}
|
||||
*/
|
||||
template<typename Geometry, typename Strategy>
|
||||
inline typename length_result<Geometry>::type perimeter(
|
||||
|
@ -286,8 +286,7 @@ inline void simplify(Geometry const& geometry, Geometry& out,
|
||||
\param max_distance distance (in units of input coordinates) of a vertex
|
||||
to other segments to be removed
|
||||
|
||||
\qbk{example,simplify}
|
||||
\qbk{example,simplify_output}
|
||||
\qbk{include,ref/algorithms/simplify.qbk}
|
||||
*/
|
||||
template<typename Geometry, typename Distance>
|
||||
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
|
||||
|
||||
\qbk{distinguish,with strategy}
|
||||
*/
|
||||
\qbk{include,ref/algorithms/simplify.qbk}
|
||||
*/
|
||||
template<typename Geometry, typename OutputIterator, typename Distance, typename Strategy>
|
||||
inline void simplify_inserter(Geometry const& geometry, OutputIterator out,
|
||||
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
|
||||
to other segments to be removed
|
||||
|
||||
\qbk{example,simplify_inserter}
|
||||
\qbk{example,simplify_inserter_output}
|
||||
\qbk{include,ref/algorithms/simplify_inserter.qbk}
|
||||
*/
|
||||
template<typename Geometry, typename OutputIterator, typename Distance>
|
||||
inline void simplify_inserter(Geometry const& geometry, OutputIterator out,
|
||||
|
@ -167,11 +167,7 @@ inline typename interior_return_type<Polygon const>::type interior_rings(
|
||||
\param geometry \param_geometry
|
||||
\return \return_calc{number of interior rings}
|
||||
|
||||
\qbk{behavior,__polygon__:[qbk_ret number of its interior rings]}
|
||||
\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}
|
||||
\qbk{include,ref/algorithms/num_interior_rings.qbk}
|
||||
|
||||
\note Defined by OGC as "numInteriorRing". To be consistent with "numPoints"
|
||||
letter "s" is appended
|
||||
|
@ -50,10 +50,7 @@ struct num_geometries
|
||||
\param geometry \param_geometry
|
||||
\return \return_calc{number of geometries}
|
||||
|
||||
\qbk{behavior,__single__:[qbk_ret 1]}
|
||||
\qbk{behavior,__multi__:Returns boost::size(geometry); the input is considered as a range}
|
||||
\qbk{compliance,__ogc__}
|
||||
\qbk{complexity,Constant}
|
||||
\qbk{include,ref/algorithms/num_geometries.qbk}
|
||||
*/
|
||||
template <typename Geometry>
|
||||
inline std::size_t num_geometries(Geometry const& geometry)
|
||||
|
@ -34,8 +34,8 @@ namespace model
|
||||
\tparam DimensionCount number of coordinates, usually 2 or 3
|
||||
\tparam CoordinateSystem coordinate system, for example cs::cartesian
|
||||
|
||||
\qbk{example,point}
|
||||
\qbk{example,point_output}
|
||||
\qbk{include,ref/geometries/point.qbk}
|
||||
|
||||
|
||||
\details Defines a neutral point class, fulfilling the Point Concept.
|
||||
Library users can use this point class, or use their own point classes.
|
||||
|
@ -60,10 +60,7 @@
|
||||
\param Field0 \param_macro_member{\macro_x}
|
||||
\param Field1 \param_macro_member{\macro_y}
|
||||
|
||||
\qbk{example, register_point_2d}
|
||||
\qbk{example, register_point_2d_output}
|
||||
\qbk{admonition, [caution Use the macro outside any namespace]}
|
||||
\qbk{admonition, [note A point can include a namespace]}
|
||||
\qbk{include,ref/geometries/register/point.qbk}
|
||||
*/
|
||||
#define BOOST_GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1) \
|
||||
namespace boost { namespace geometry { namespace traits { \
|
||||
|
Loading…
x
Reference in New Issue
Block a user