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

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>`
[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]

View File

@ -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]

View File

@ -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

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.
[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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

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

View File

@ -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]

View File

@ -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]

View File

@ -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)
{

View File

@ -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

View File

@ -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(

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
\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,

View File

@ -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)

View File

@ -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
<

View File

@ -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
<

View File

@ -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)

View File

@ -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(

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)
\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)

View File

@ -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(

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
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,

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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 { \