Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65210 - in sandbox/geometry/libs/geometry/doc/qbk: . reference snippets
From: barend.gehrels_at_[hidden]
Date: 2010-09-03 06:17:12


Author: barendgehrels
Date: 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
New Revision: 65210
URL: http://svn.boost.org/trac/boost/changeset/65210

Log:
Quickbook Doc update
Added:
   sandbox/geometry/libs/geometry/doc/qbk/readme.txt (contents, props changed)
   sandbox/geometry/libs/geometry/doc/qbk/reference/buffer.qbk (contents, props changed)
   sandbox/geometry/libs/geometry/doc/qbk/reference/dissolve.qbk (contents, props changed)
   sandbox/geometry/libs/geometry/doc/qbk/reference/num_geometries.qbk (contents, props changed)
   sandbox/geometry/libs/geometry/doc/qbk/reference/num_interior_rings.qbk (contents, props changed)
   sandbox/geometry/libs/geometry/doc/qbk/reference/num_points.qbk (contents, props changed)
   sandbox/geometry/libs/geometry/doc/qbk/reference/register.qbk (contents, props changed)
Text files modified:
   sandbox/geometry/libs/geometry/doc/qbk/geometry.qbk | 41 ++++++-
   sandbox/geometry/libs/geometry/doc/qbk/make_qbk.bat | 37 ++++--
   sandbox/geometry/libs/geometry/doc/qbk/reference.qbk | 76 +++++++------
   sandbox/geometry/libs/geometry/doc/qbk/reference/area.qbk | 39 ++++--
   sandbox/geometry/libs/geometry/doc/qbk/reference/centroid.qbk | 46 +++++---
   sandbox/geometry/libs/geometry/doc/qbk/reference/combine.qbk | 2
   sandbox/geometry/libs/geometry/doc/qbk/reference/convert.qbk | 4
   sandbox/geometry/libs/geometry/doc/qbk/reference/convex_hull.qbk | 18 ++-
   sandbox/geometry/libs/geometry/doc/qbk/reference/difference.qbk | 4
   sandbox/geometry/libs/geometry/doc/qbk/reference/disjoint.qbk | 8
   sandbox/geometry/libs/geometry/doc/qbk/reference/distance.qbk | 34 +++---
   sandbox/geometry/libs/geometry/doc/qbk/reference/envelope.qbk | 24 +++-
   sandbox/geometry/libs/geometry/doc/qbk/reference/equals.qbk | 8
   sandbox/geometry/libs/geometry/doc/qbk/reference/intersection.qbk | 80 ++++++++++----
   sandbox/geometry/libs/geometry/doc/qbk/reference/intersects.qbk | 16 +-
   sandbox/geometry/libs/geometry/doc/qbk/reference/length.qbk | 26 ++--
   sandbox/geometry/libs/geometry/doc/qbk/reference/overlaps.qbk | 4
   sandbox/geometry/libs/geometry/doc/qbk/reference/perimeter.qbk | 14 +-
   sandbox/geometry/libs/geometry/doc/qbk/reference/reverse.qbk | 6
   sandbox/geometry/libs/geometry/doc/qbk/reference/simplify.qbk | 20 +-
   sandbox/geometry/libs/geometry/doc/qbk/reference/sym_difference.qbk | 6
   sandbox/geometry/libs/geometry/doc/qbk/reference/transform.qbk | 8
   sandbox/geometry/libs/geometry/doc/qbk/reference/union.qbk | 12 +-
   sandbox/geometry/libs/geometry/doc/qbk/reference/unique.qbk | 7
   sandbox/geometry/libs/geometry/doc/qbk/reference/within.qbk | 14 +-
   sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_1.cpp | 212 ++++++++++++++++++++++++++++-----------
   sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_1.vcproj | 6
   sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_2.cpp | 12 ++
   28 files changed, 496 insertions(+), 288 deletions(-)

Modified: sandbox/geometry/libs/geometry/doc/qbk/geometry.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/geometry.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/geometry.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -22,15 +22,39 @@
     [id geometry]
 ]
 
-
-[def __0dim__ 0-dimensional (e.g. point)]
-[def __1dim__ 1-dimensional (e.g. linestring)]
-[def __2dim__ 2-dimensional (e.g. polygon)]
+[/Behavior]
+[def __0dim__ pointlike (e.g. point)]
+[def __1dim__ linear (e.g. linestring)]
+[def __2dim__ areal (e.g. polygon)]
+[def __single__ single (e.g. point, polygon)]
+[def __multi__ single (e.g. multi_point, multi_polygon)]
+[def __cart__ Cartesian]
+[def __sph__ Spherical]
+[def __geo__ Geographic]
+[def __rev__ Reversed polygon (coordinates not according their orientiation)]
 [def __empty__ Empty (e.g. polygon without points)]
+[def __box__ Rectangle]
+[def __point__ Point]
+[def __linestring__ Linestring]
+[def __polygon__ Polygon]
+[def __multi_polygon__ Multi-polygon]
+[def __range__ Rangelike (linestring, ring)]
+[def __other__ Other geometries]
+
+[/Parts]
+[def __ret_zero__ Returns zero]
+[def __ret_one__ Returns 1]
+[def __cs_units__ in the same units as the input coordinates]
+[def __sph1__ on a unit sphere (or another sphere, if specified as such in the constructor of the strategy)]
+[template qbk_ret[what] Returns [what]]
+[template qbk_out[what] GeometryOut is a [what]]
+
+
+[def __boost_geometry__ Boost.Geometry]
+[def __boost_gil__ [@http://www.boost.org/libs/gil/ Boost.GIL]]
 
-In progress
 
-Link to [link geometry.reference.models.point_xy point XY]
+[*In progress]
 
 
 [import snippets/qbk_1.cpp]
@@ -40,9 +64,8 @@
 [import snippets/qbk_5.cpp]
 
 
-[section Introduction]
-Documentation of Boost Geometry.
-[endsect]
+[include introduction.qbk]
+[include quickstart.qbk]
 
 [include matrix.qbk]
 [include reference.qbk]

Modified: sandbox/geometry/libs/geometry/doc/qbk/make_qbk.bat
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/make_qbk.bat (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/make_qbk.bat 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -14,37 +14,46 @@
 
 @echo off
 
+if a%1 == askip_doxygen goto skip_doxygen
+
 cd ..
 doxygen
 cd qbk
 
+:skip_doxygen
+
 set xml2qbk=..\..\..\..\other\programs\doxygen_xml2qbk\Release\doxygen_xml2qbk.exe
 set out=..\doxygen_output\xml
 
 :: Algorithms
-%xml2qbk% %out%\group__access.xml > reference\access.qbk
 %xml2qbk% %out%\group__area.xml > reference\area.qbk
+%xml2qbk% %out%\group__buffer.xml > reference\buffer.qbk
 %xml2qbk% %out%\group__centroid.xml > reference\centroid.qbk
-%xml2qbk% %out%\group__combine.xml > reference\combine.qbk
-%xml2qbk% %out%\group__convert.xml > reference\convert.qbk
 %xml2qbk% %out%\group__convex__hull.xml > reference\convex_hull.qbk
-%xml2qbk% %out%\group__difference.xml > reference\difference.qbk
-%xml2qbk% %out%\group__disjoint.xml > reference\disjoint.qbk
-%xml2qbk% %out%\group__distance.xml > reference\distance.qbk
+%xml2qbk% %out%\group__dissolve.xml > reference\dissolve.qbk
 %xml2qbk% %out%\group__envelope.xml > reference\envelope.qbk
-%xml2qbk% %out%\group__equals.xml > reference\equals.qbk
-%xml2qbk% %out%\group__for__each.xml > reference\for_each.qbk
-%xml2qbk% %out%\group__intersection.xml > reference\intersection.qbk
-%xml2qbk% %out%\group__intersects.xml > reference\intersects.qbk
 %xml2qbk% %out%\group__length.xml > reference\length.qbk
-%xml2qbk% %out%\group__overlaps.xml > reference\overlaps.qbk
+%xml2qbk% %out%\group__num__geometries.xml > reference\num_geometries.qbk
+%xml2qbk% %out%\group__num__interior__rings.xml > reference\num_interior_rings.qbk
+%xml2qbk% %out%\group__num__points.xml > reference\num_points.qbk
 %xml2qbk% %out%\group__perimeter.xml > reference\perimeter.qbk
 %xml2qbk% %out%\group__reverse.xml > reference\reverse.qbk
 %xml2qbk% %out%\group__simplify.xml > reference\simplify.qbk
-%xml2qbk% %out%\group__sym__difference.xml > reference\sym_difference.qbk
-%xml2qbk% %out%\group__transform.xml > reference\transform.qbk
-%xml2qbk% %out%\group__union.xml > reference\union.qbk
 %xml2qbk% %out%\group__unique.xml > reference\unique.qbk
+:: %xml2qbk% %out%\group__access.xml > reference\access.qbk
+:: %xml2qbk% %out%\group__combine.xml > reference\combine.qbk
+:: %xml2qbk% %out%\group__convert.xml > reference\convert.qbk
+:: %xml2qbk% %out%\group__difference.xml > reference\difference.qbk
+:: %xml2qbk% %out%\group__disjoint.xml > reference\disjoint.qbk
+%xml2qbk% %out%\group__distance.xml > reference\distance.qbk
+:: %xml2qbk% %out%\group__equals.xml > reference\equals.qbk
+:: %xml2qbk% %out%\group__for__each.xml > reference\for_each.qbk
+%xml2qbk% %out%\group__intersection.xml > reference\intersection.qbk
+%xml2qbk% %out%\group__intersects.xml > reference\intersects.qbk
+:: %xml2qbk% %out%\group__overlaps.xml > reference\overlaps.qbk
+:: %xml2qbk% %out%\group__sym__difference.xml > reference\sym_difference.qbk
+:: %xml2qbk% %out%\group__transform.xml > reference\transform.qbk
+:: %xml2qbk% %out%\group__union.xml > reference\union.qbk
 %xml2qbk% %out%\group__within.xml > reference\within.qbk
 
 %xml2qbk% %out%\group__register.xml > reference\register.qbk

Added: sandbox/geometry/libs/geometry/doc/qbk/readme.txt
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/qbk/readme.txt 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,14 @@
+To generate it, simulate as if it is already in Boost.Trunk,
+by adding boostbook.dtd and html/callouts/etc,
+
+So folder structure should be like
+
+.../boost/sandbox/geometry/boost [normal]
+.../boost/sandbox/geometry/libs [normal]
+.../boost/sandbox/geometry/other [normal]
+.../boost/sandbox/geometry/libs/doc/html/images/* [copy files from boost trunk]
+.../boost/sandbox/geometry/libs/doc/html/images/callouts/* [copy files from boost trunk]
+.../boost/sandbox/geometry/tools/boostbook/dtd/boostbook.dtd [copy file from boost trunk]
+
+
+-
\ No newline at end of file

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -8,29 +8,33 @@
 [include reference/area.qbk]
 [endsect]
 
-[section:centroid centroid]
-[include reference/centroid.qbk]
+[section:buffer buffer]
+[include reference/buffer.qbk]
 [endsect]
 
-[section:combine combine]
-[include reference/combine.qbk]
+[section:centroid centroid]
+[include reference/centroid.qbk]
 [endsect]
 
-[section:convert convert]
-[include reference/convert.qbk]
-[endsect]
+[/section:combine combine]
+[/include reference/combine.qbk]
+[/endsect]
+
+[/section:convert convert]
+[/include reference/convert.qbk]
+[/endsect]
 
 [section:convex_hull convex_hull]
 [include reference/convex_hull.qbk]
 [endsect]
 
-[section:difference difference]
-[include reference/difference.qbk]
-[endsect]
-
-[section:disjoint disjoint]
-[include reference/disjoint.qbk]
-[endsect]
+[/section:difference difference]
+[/include reference/difference.qbk]
+[/endsect]
+
+[/section:disjoint disjoint]
+[/include reference/disjoint.qbk]
+[/endsect]
 
 [section:distance distance]
 [include reference/distance.qbk]
@@ -40,9 +44,9 @@
 [include reference/envelope.qbk]
 [endsect]
 
-[section:equals equals]
-[include reference/equals.qbk]
-[endsect]
+[/section:equals equals]
+[/include reference/equals.qbk]
+[/endsect]
 
 [/ section:for_each for_each]
 [/ include reference/for_each.qbk]
@@ -52,42 +56,44 @@
 [include reference/intersection.qbk]
 [endsect]
 
-[section:intersects intersects]
-[include reference/intersects.qbk]
-[endsect]
+[/section:intersects intersects]
+[/include reference/intersects.qbk]
+[/endsect]
 
 [section:length length]
 [include reference/length.qbk]
 [endsect]
 
-[section:overlaps overlaps]
-[include reference/overlaps.qbk]
-[endsect]
+[include reference/num_points.qbk]
+
+[/section:overlaps overlaps]
+[/include reference/overlaps.qbk]
+[/endsect]
 
 [section:perimeter perimeter]
 [include reference/perimeter.qbk]
 [endsect]
 
+[include reference/reverse.qbk]
+
 [section:simplify simplify]
 [include reference/simplify.qbk]
 [endsect]
 
-[section:sym_difference sym_difference]
-[include reference/sym_difference.qbk]
-[endsect]
-
-[section:transform transform]
-[include reference/transform.qbk]
-[endsect]
+[/section:sym_difference sym_difference]
+[/include reference/sym_difference.qbk]
+[/endsect]
+
+[/section:transform transform]
+[/include reference/transform.qbk]
+[/endsect]
 
 
-[section:union union]
-[include reference/union.qbk]
-[endsect]
+[/section:union union]
+[/include reference/union.qbk]
+[/endsect]
 
-[section:unique unique]
 [include reference/unique.qbk]
-[endsect]
 
 [section:within within]
 [include reference/within.qbk]

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/area.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/area.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/area.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,11 +1,11 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__area.xml]
-[section:area_1 area (1)]
+[section:area_1 area]
 
-Calculate area of a geometry.
+Calculates the area of a geometry.
 
 [heading Description]
-The function area returns the area of a polygon, ring, box using the default area-calculation strategy. Strategies are provided for cartesian and spherical coordinate systems The geometries should correct, polygons should be closed and according to the specified orientation (clockwise/counter clockwise)
+The free function area calculates the area of a geometry. It uses the default strategy, based on the coordinate system of the geometry.
 
 [heading Synopsis]
 ``template<typename Geometry>
@@ -15,7 +15,7 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
 ]
 
 
@@ -34,9 +34,12 @@
 [heading Behavior]
 [table
 [[Case] [Behavior] ]
-[[__0dim__][Returns zero]]
-[[__1dim__][Returns zero]]
-[[__2dim__][Returns the area]]
+[[__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]]]
 ]
 
 
@@ -50,12 +53,12 @@
 
 [endsect]
 
-[section:area_2 area (2)]
+[section:area_2 area (with strategy)]
 
-Calculate area of a geometry using a specified strategy.
+Calculates the area of a geometry using the specified strategy.
 
 [heading Description]
-This version of area calculation takes a strategy
+The free function area calculates the area of a geometry using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)
 
 [heading Synopsis]
 ``template<typename Geometry, typename Strategy>
@@ -65,8 +68,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of Geometry ]]
-[[Strategy const &] [A type fulfilling a AreaStrategy concept ] [strategy] [A strategy to calculate area. Especially for spherical and geographical area calculations there are various approaches. ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[Strategy const &] [Any type fulfilling a Area Strategy Concept ] [strategy] [The strategy which will be used for area calculations ]]
 ]
 
 
@@ -85,15 +88,21 @@
 [heading Behavior]
 [table
 [[Case] [Behavior] ]
-[[__0dim__][Returns zero]]
-[[__1dim__][Returns zero]]
-[[__2dim__][Returns the area]]
+[[__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 Snippets]
+[area_polygon_strategy]
+
 
 [endsect]
 

Added: sandbox/geometry/libs/geometry/doc/qbk/reference/buffer.qbk
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/buffer.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,88 @@
+[/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
+[/ Generated from ..\doxygen_output\xml\group__buffer.xml]
+[section:buffer_4 buffer]
+
+Calculates the buffer of a geometry.
+
+[heading Description]
+The free function buffer calculates the buffer (a polygon being the spatial point set collection within a specified maximum distance from a geometry) of a geometry.
+
+[heading Synopsis]
+``template<typename Input, typename Output, typename Distance>
+void buffer (Input const &geometry_in, Output &geometry_out, Distance const &distance, Distance const &chord_length=-1)``
+
+[heading Parameters]
+
+[table
+[[Type] [Concept] [Name] [Description] ]
+[[Input const &] [Any type fulfilling a Geometry Concept ] [geometry_in] [A model of the specified concept ]]
+[[Output &] [Any type fulfilling a Geometry Concept ] [geometry_out] [A model of the specified concept ]]
+[[Distance const &] [Numerical type (int, double, ttmath, ...) ] [distance] [The distance to be used for the buffer ]]
+[[Distance const &] [Numerical type (int, double, ttmath, ...) ] [chord_length] [(optional) The length of the chord's in the generated arcs around points or bends ]]
+]
+
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+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"]]
+]
+
+
+
+[endsect]
+
+[section:make_buffer_3 make_buffer]
+
+Calculates the buffer of a geometry.
+
+[heading Description]
+The free function make_buffer calculates the buffer (a polygon being the spatial point set collection within a specified maximum distance from a geometry) of a geometry. This version with the make_ prefix returns the buffer, and a template parameter must therefore be specified in the call..
+
+[heading Synopsis]
+``template<typename Output, typename Input, typename T, >
+Output make_buffer (Input const &geometry, T const &distance, T const &chord_length=-1)``
+
+[heading Parameters]
+
+[table
+[[Type] [Concept] [Name] [Description] ]
+[[Output] [Any type fulfilling a Geometry Concept ] [ - ] [Must be specified]]
+[[Distance] [Numerical type (int, double, ttmath, ...) ] [ - ] [Must be specified]]
+[[Input const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[T const &] [] [distance] [The distance to be used for the buffer ]]
+[[T const &] [] [chord_length] [(optional) The length of the chord's in the generated arcs around points or bends ]]
+]
+
+
+[heading Returns]
+The calculated buffer
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+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"]]
+]
+
+
+
+[endsect]
+

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/centroid.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/centroid.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/centroid.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,8 +1,11 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__centroid.xml]
-[section:centroid_3 centroid (3)]
+[section:centroid_3 centroid (with strategy)]
 
-Calculate centroid using a specified strategy.
+Calculates the centroid of a geometry using the specified strategy.
+
+[heading Description]
+The free function centroid calculates the geometric center (or: center of mass) of a geometry
 
 [heading Synopsis]
 ``template<typename Geometry, typename Point, typename Strategy>
@@ -12,9 +15,9 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
-[[Point &] [Any type fulfilling a Point concept ] [c] [the calculated centroid will be assigned to this point reference ]]
-[[Strategy const &] [A type fulfilling a CentroidStrategy concept ] [strategy] [A strategy to calculate the centroid ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[Point &] [Any type fulfilling a Point Concept ] [c] [A model of the specified Point Concept which is set to the centroid ]]
+[[Strategy const &] [Any type fulfilling a Centroid Strategy Concept ] [strategy] [The strategy which will be used for centroid calculations ]]
 ]
 
 
@@ -43,9 +46,12 @@
 
 [endsect]
 
-[section:centroid_2 centroid (2)]
+[section:centroid_2 centroid]
+
+Calculates the centroid of a geometry.
 
-Calculate centroid.
+[heading Description]
+The free function centroid calculates the geometric center (or: center of mass) of a geometry
 
 [heading Synopsis]
 ``template<typename Geometry, typename Point>
@@ -55,8 +61,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
-[[Point &] [Any type fulfilling a Point concept ] [c] [the calculated centroid will be assigned to this point reference]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[Point &] [Any type fulfilling a Point Concept ] [c] [the calculated centroid will be assigned to this point reference]]
 ]
 
 
@@ -85,9 +91,12 @@
 
 [endsect]
 
-[section:make_centroid_1 make_centroid (1)]
+[section:make_centroid_1 make_centroid]
 
-Calculate and return centroid.
+Calculates the centroid of a geometry.
+
+[heading Description]
+The free function centroid calculates the geometric center (or: center of mass) of a geometry. This version with the make_ prefix returns the centroid, and a template parameter must therefore be specified in the call..
 
 [heading Synopsis]
 ``template<typename Point, typename Geometry>
@@ -97,7 +106,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
+[[Point] [Any type fulfilling a Point Concept ] [ - ] [Must be specified]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
 ]
 
 
@@ -129,9 +139,12 @@
 
 [endsect]
 
-[section:make_centroid_2 make_centroid (2)]
+[section:make_centroid_2 make_centroid (with strategy)]
+
+Calculates the centroid of a geometry using the specified strategy.
 
-Calculate and return centroid, using a specified strategy.
+[heading Description]
+The free function centroid calculates the geometric center (or: center of mass) of a geometry. This version with the make_ prefix returns the centroid, and a template parameter must therefore be specified in the call..
 
 [heading Synopsis]
 ``template<typename Point, typename Geometry, typename Strategy>
@@ -141,8 +154,9 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
-[[Strategy const &] [] [strategy] [Calculation strategy for centroid ]]
+[[Point] [Any type fulfilling a Point Concept ] [ - ] [Must be specified]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[Strategy const &] [Any type fulfilling a centroid Strategy Concept ] [strategy] [The strategy which will be used for centroid calculations ]]
 ]
 
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/combine.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/combine.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/combine.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -13,7 +13,7 @@
 [table
 [[Type] [Concept] [Name] [Description] ]
 [[Box &] [type of the box ] [box] [box to combine another geometry with, might be changed ]]
-[[Geometry const &] [of second geometry, to be combined with the box ] [geometry] [other geometry ]]
+[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
 ]
 
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/convert.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/convert.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/convert.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -12,8 +12,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry (source) ]]
-[[Geometry2 &] [second geometry type ] [geometry2] [second geometry (target) ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry concept ] [geometry1] [A model of the specified concept (source) ]]
+[[Geometry2 &] [Any type fulfilling a Geometry concept ] [geometry2] [A model of the specified concept (target) ]]
 ]
 
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/convex_hull.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/convex_hull.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/convex_hull.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,19 +1,22 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__convex__hull.xml]
-[section:convex_hull_2 convex_hull (2)]
+[section:convex_hull_2 convex_hull]
 
-Calculate the convex hull of a geometry.
+Calculates the convex hull of a geometry.
+
+[heading Description]
+The free function convex_hull calculates the convex hull of a geometry.
 
 [heading Synopsis]
-``template<typename Geometry1, typename Geometry2, >
-void convex_hull (Geometry1 const &geometry, Geometry2 &out)``
+``template<typename Geometry1, typename Geometry2>
+void convex_hull (Geometry1 const &geometry, Geometry2 &hull)``
 
 [heading Parameters]
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [the input geometry type ] [geometry] [the geometry to calculate convex hull from ]]
-[[Geometry2 &] [] [out] [a geometry receiving points of the convex hull ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept, used for input ]]
+[[Geometry2 &] [Any type fulfilling a Geometry Concept ] [hull] [A model of the specified concept which is set to the convex hull ]]
 ]
 
 
@@ -29,7 +32,7 @@
 
 [endsect]
 
-[section:convex_hull_inserter_2 convex_hull_inserter (2)]
+[section:convex_hull_inserter_2 convex_hull_inserter]
 
 Calculate the convex hull of a geometry, output-iterator version.
 
@@ -41,6 +44,7 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
+[[:] [an output-iterator ] [ - ] [Must be specified]]
 [[Geometry const &] [the input geometry type ] [geometry] [the geometry to calculate convex hull from ]]
 [[OutputIterator] [] [out] [an output iterator outputing points of the convex hull ]]
 ]

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/difference.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/difference.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/difference.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -12,8 +12,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2] [second geometry type ] [geometry2] [second geometry ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry concept ] [geometry1] [A model of the specified concept ]]
+[[Geometry2] [Any type fulfilling a Geometry concept ] [geometry2] [A model of the specified concept ]]
 [[Collection &] [output collection, either a multi-geometry, or a std::vector<Geometry> / std::deque<Geometry> etc ] [output_collection] [the output collection ]]
 ]
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/disjoint.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/disjoint.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/disjoint.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -2,7 +2,7 @@
 [/ Generated from ..\doxygen_output\xml\group__disjoint.xml]
 [section:disjoint_2 disjoint (2)]
 
-Calculate if two geometries are disjoint.
+Checks if two geometries are disjoint.
 
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2>
@@ -12,13 +12,13 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
+[[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 ]]
 ]
 
 
 [heading Returns]
-true if disjoint, else false
+Returns true if two geometries are disjoint
 
 [heading Header]
 Either

Added: sandbox/geometry/libs/geometry/doc/qbk/reference/dissolve.qbk
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/dissolve.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,2 @@
+[/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
+[/ Generated from ..\doxygen_output\xml\group__dissolve.xml]

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/distance.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/distance.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/distance.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,27 +1,27 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__distance.xml]
-[section:comparable_distance_2 comparable_distance (2)]
+[section:comparable_distance_2 comparable_distance]
 
-Calculate comparable distance measurement between two geometries.
+Calculate the comparable distance measurement of two geometries.
 
 [heading Description]
 The default strategy is used, belonging to the corresponding coordinate system of the geometries and the comparable strategy is used
 
 [heading Synopsis]
-``template<typename Geometry1, typename Geometry2, , >
+``template<typename Geometry1, typename Geometry2>
 distance_result<Geometry1, Geometry2>::type comparable_distance (Geometry1 const &geometry1, Geometry2 const &geometry2)``
 
 [heading Parameters]
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [] [geometry1] [first geometry ]]
-[[Geometry2 const &] [] [geometry2] [second geometry ]]
+[[Geometry1 const &] [first geometry type ] [geometry1] [A model of the specified concept ]]
+[[Geometry2 const &] [second geometry type ] [geometry2] [A model of the specified concept ]]
 ]
 
 
 [heading Returns]
-the comparable distance
+The calculated comparable distance
 
 [heading Header]
 Either
@@ -35,9 +35,9 @@
 
 [endsect]
 
-[section:distance_2 distance (2)]
+[section:distance_2 distance]
 
-Calculate distance between two geometries.
+Calculate the distance of two geometries.
 
 [heading Description]
 The default strategy is used, belonging to the corresponding coordinate system of the geometries
@@ -50,13 +50,13 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
+[[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 ]]
 ]
 
 
 [heading Returns]
-the distance (either a double or a distance result, convertable to double)
+The calculated distance
 
 [heading Header]
 Either
@@ -70,9 +70,9 @@
 
 [endsect]
 
-[section:distance_3 distance (3)]
+[section:distance_3 distance (with strategy)]
 
-Calculate distance between two geometries with a specified strategy.
+Calculate the distance of two geometries using the specified strategy.
 
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2, typename Strategy>
@@ -82,14 +82,14 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
-[[Strategy const &] [point-point-distance strategy type ] [strategy] [strategy to calculate distance between two points ]]
+[[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 ]]
+[[Strategy const &] [Any type fulfilling a distance Strategy Concept ] [strategy] [The strategy which will be used for distance calculations ]]
 ]
 
 
 [heading Returns]
-the distance
+The calculated distance
 
 [heading Header]
 Either

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/envelope.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/envelope.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/envelope.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,8 +1,11 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__envelope.xml]
-[section:envelope_2 envelope (2)]
+[section:envelope_2 envelope]
 
-Calculate envelope of a geometry.
+Calculates the envelope of a geometry.
+
+[heading Description]
+The free function envelope calculates the envelope (also known as axis aligned bounding box, aabb, or minimum bounding rectangle, mbr) of a geometry.
 
 [heading Synopsis]
 ``template<typename Geometry, typename Box>
@@ -12,8 +15,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [] [geometry] [the geometry ]]
-[[Box &] [] [mbr] [the box receiving the envelope ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[Box &] [Any type fulfilling a Box Concept ] [mbr] [A model of the specified Box Concept which is set to the envelope]]
 ]
 
 
@@ -29,9 +32,12 @@
 
 [endsect]
 
-[section:make_envelope_1 make_envelope (1)]
+[section:make_envelope_1 make_envelope]
+
+Calculates the envelope of a geometry.
 
-Calculate and return envelope of a geometry.
+[heading Description]
+The free function make_envelope calculates the envelope (also known as axis aligned bounding box, aabb, or minimum bounding rectangle, mbr) of a geometry. This version with the make_ prefix returns the envelope, and a template parameter must therefore be specified in the call.
 
 [heading Synopsis]
 ``template<typename Box, typename Geometry>
@@ -41,10 +47,14 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [] [geometry] [the geometry ]]
+[[Box] [Any type fulfilling a Box Concept ] [ - ] [Must be specified]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
 ]
 
 
+[heading Returns]
+The calculated envelope
+
 [heading Header]
 Either
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/equals.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/equals.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/equals.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -2,7 +2,7 @@
 [/ Generated from ..\doxygen_output\xml\group__equals.xml]
 [section:equals_2 equals (2)]
 
-Detect if two geometries are spatially equal.
+Checks if a geometry are spatially equal.
 
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2>
@@ -12,13 +12,13 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
+[[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 ]]
 ]
 
 
 [heading Returns]
-true if geometries are spatially equal, else false
+Returns true if two geometries are spatially disjoint
 
 [heading Header]
 Either

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/intersection.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/intersection.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/intersection.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,11 +1,11 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__intersection.xml]
-[section:intersection_3 intersection (3)]
+[section:intersection_3 intersection]
 
-Intersects two geometries.
+Calculate the intersection of two geometries.
 
 [heading Description]
-The two input geometries are intersected and the resulting linestring(s), ring(s) or polygon(s) are added to the specified collection.
+The free function intersection calculates the spatial set theoretic intersection of two geometries.
 
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2, typename Collection>
@@ -15,15 +15,12 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
-[[Collection &] [collection of rings, polygons (e.g. a vector<polygon> or a ] [output_collection] [the collection ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]]
+[[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]]
+[[Collection &] [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. ] [output_collection] [The collection being filled or extended by the algorithm]]
 ]
 
 
-[heading Returns]
-true if successful
-
 [heading Header]
 Either
 
@@ -33,15 +30,27 @@
 
 `#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 Snippets]
+[intersection_linestring]
+
 
 [endsect]
 
-[section:intersection_inserter_4 intersection_inserter (4)]
+[section:intersection_inserter_4 intersection_inserter (with strategy)]
 
-Intersects two geometries.
+Calculate the intersection of two geometries using the specified strategy.
 
 [heading Description]
-The two input geometries are intersected and the resulting linestring(s), ring(s) or polygon(s) are sent to the specified output operator.
+The free function intersection_inserter calculates the spatial set theoretic intersection of two geometries using the specified strategy. This version with the _inserter suffix outputs the intersection to an output iterator, and a template parameter must therefore be specified in the call.
 
 [heading Synopsis]
 ``template<typename GeometryOut, typename Geometry1, typename Geometry2, typename OutputIterator, typename Strategy>
@@ -51,15 +60,16 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
-[[OutputIterator] [output iterator ] [out] [the output iterator, outputting linestrings or polygons ]]
-[[Strategy const &] [compound strategy for intersection ] [strategy] [the strategy ]]
+[[GeometryOut] [A type fulfilling 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 ]]
+[[OutputIterator] [A valid output iterator type, accepting geometries of Point, LineString or Polygon Concept ] [out] [The output iterator, to which intersection geometries are feeded ]]
+[[Strategy const &] [Compound strategy for intersection ] [strategy] [The strategy ]]
 ]
 
 
 [heading Returns]
-the output iterator
+The output iterator
 
 [heading Header]
 Either
@@ -70,15 +80,24 @@
 
 `#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]]
+]
+
+
 
 [endsect]
 
-[section:intersection_inserter_3 intersection_inserter (3)]
+[section:intersection_inserter_3 intersection_inserter]
 
-Intersects two geometries.
+Calculate the intersection of two geometries.
 
 [heading Description]
-The two input geometries are intersected and the resulting linestring(s), ring(s) or polygon(s) are sent to the specified output operator.
+The free function intersection_inserter calculates the spatial set theoretic intersection of two geometries. This version with the _inserter suffix outputs the intersection to an output iterator, and a template parameter must therefore be specified in the call.
 
 [heading Synopsis]
 ``template<typename GeometryOut, typename Geometry1, typename Geometry2, typename OutputIterator>
@@ -88,14 +107,15 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
-[[OutputIterator] [output iterator ] [out] [the output iterator, outputting linestrings or polygons ]]
+[[GeometryOut] [A type fulfilling 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 ]]
+[[OutputIterator] [A valid output iterator type, accepting geometries of Point, LineString or Polygon Concept ] [out] [The output iterator, to which intersection geometries are feeded ]]
 ]
 
 
 [heading Returns]
-the output iterator
+The output iterator
 
 [heading Header]
 Either
@@ -106,6 +126,18 @@
 
 `#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 Snippets]
+[intersection_segment_inserter]
+
 
 [endsect]
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/intersects.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/intersects.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/intersects.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,8 +1,8 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__intersects.xml]
-[section:intersects_1 intersects (1)]
+[section:intersects_1 intersects]
 
-Determine if there is at least one intersection (crossing or self-tangency).
+Checks if a geometry at least one intersection(crossing or self-tangency).
 
 [heading Synopsis]
 ``template<typename Geometry>
@@ -17,7 +17,7 @@
 
 
 [heading Returns]
-true if there are intersections, else false
+Returns true if the geometry is self-intersecting
 
 [heading Header]
 Either
@@ -31,9 +31,9 @@
 
 [endsect]
 
-[section:intersects_2 intersects (2)]
+[section:intersects_2 intersects]
 
-Determine if there is at least one intersection.
+Checks if two geometries have at least one intersection.
 
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2>
@@ -43,13 +43,13 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
+[[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 ]]
 ]
 
 
 [heading Returns]
-true if there are intersection(s), else false
+Returns true if two geometries intersect each other
 
 [heading Header]
 Either

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/length.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/length.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/length.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,8 +1,8 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__length.xml]
-[section:length_1 length (1)]
+[section:length_1 length]
 
-Calculate length of a geometry.
+Calculates the length of a geometry.
 
 [heading Description]
 The version without a strategy takes the default distance-calculation-strategy to calculate distances between consecutive points of a geometry, summing them to the length of the geometry
@@ -15,7 +15,7 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
 ]
 
 
@@ -34,9 +34,9 @@
 [heading Behavior]
 [table
 [[Case] [Behavior] ]
-[[__0dim__][Returns zero]]
-[[__1dim__][Returns the length]]
-[[__2dim__][Returns zero]]
+[[__0dim__][[qbk_ret 0]]]
+[[__1dim__][[qbk_ret the length]]]
+[[__2dim__][[qbk_ret 0]]]
 ]
 
 
@@ -46,9 +46,9 @@
 
 [endsect]
 
-[section:length_2 length (2)]
+[section:length_2 length (with strategy)]
 
-Calculate length of a geometry.
+Calculates the length of a geometry using the specified strategy.
 
 [heading Description]
 The version with a specified strategy uses that strategy to calculate distances between consecutive points, summing them to the length of the geometry. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)
@@ -61,8 +61,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
-[[Strategy const &] [A type fulfilling a DistanceStrategy concept ] [strategy] [A strategy to be used for distance calculations. ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[Strategy const &] [Any type fulfilling a distance Strategy Concept ] [strategy] [The strategy which will be used for distance calculations ]]
 ]
 
 
@@ -81,9 +81,9 @@
 [heading Behavior]
 [table
 [[Case] [Behavior] ]
-[[__0dim__][Returns zero]]
-[[__1dim__][Returns the length]]
-[[__2dim__][Returns zero]]
+[[__0dim__][[qbk_ret 0]]]
+[[__1dim__][[qbk_ret the length]]]
+[[__2dim__][[qbk_ret 0]]]
 ]
 
 

Added: sandbox/geometry/libs/geometry/doc/qbk/reference/num_geometries.qbk
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/num_geometries.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,47 @@
+[/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
+[/ Generated from ..\doxygen_output\xml\group__num__geometries.xml]
+[section:num_geometries num_geometries]
+
+Calculates the number of geometries of a geometry.
+
+[heading Description]
+The free function num_geometries calculates the number of geometries of a geometry.
+
+[heading Synopsis]
+``template<typename Geometry>
+std::size_t num_geometries (Geometry const &geometry)``
+
+[heading Parameters]
+
+[table
+[[Type] [Concept] [Name] [Description] ]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+]
+
+
+[heading Returns]
+The calculated number of geometries
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+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
+
+
+[endsect]
+

Added: sandbox/geometry/libs/geometry/doc/qbk/reference/num_interior_rings.qbk
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/num_interior_rings.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,45 @@
+[/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
+[/ Generated from ..\doxygen_output\xml\group__num__interior__rings.xml]
+[section:num_interior_rings num_interior_rings]
+
+Calculates the number of interior rings of a geometry.
+
+[heading Synopsis]
+``template<typename Geometry>
+std::size_t num_interior_rings (Geometry const &geometry)``
+
+[heading Parameters]
+
+[table
+[[Type] [Concept] [Name] [Description] ]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+]
+
+
+[heading Returns]
+The calculated number of interior rings
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+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
+
+
+[endsect]
+

Added: sandbox/geometry/libs/geometry/doc/qbk/reference/num_points.qbk
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/num_points.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,49 @@
+[/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
+[/ Generated from ..\doxygen_output\xml\group__num__points.xml]
+[section:num_points num_points]
+
+Calculates the number of points of a geometry.
+
+[heading Description]
+The free function num_points calculates the number of points of a geometry.
+
+[heading Synopsis]
+``template<typename Geometry>
+std::size_t num_points (Geometry const &geometry)``
+
+[heading Parameters]
+
+[table
+[[Type] [Concept] [Name] [Description] ]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+]
+
+
+[heading Returns]
+The calculated number of points
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+Or
+
+`#include <boost/geometry/algorithms/num_points.hpp>`
+
+[heading Behavior]
+[table
+[[Case] [Behavior] ]
+[[__point__][[qbk_ret 1]]]
+[[__box__][[qbk_ret 1]]]
+[[__range__][[qbk_ret boost::size(geometry)]]]
+[[__other__][[qbk_ret the sum of the number of points of its elements]]]
+]
+
+
+[heading Complexity]
+Constant or Linear
+
+
+[endsect]
+

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/overlaps.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/overlaps.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/overlaps.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -2,7 +2,7 @@
 [/ Generated from ..\doxygen_output\xml\group__overlaps.xml]
 [section:overlaps_2 overlaps (2)]
 
-Determines overlap between two geometries.
+Checks if two geometries overlap.
 
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2>
@@ -18,7 +18,7 @@
 
 
 [heading Returns]
-true if there is overlap
+Returns true if two geometries overlap
 
 [heading Header]
 Either

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/perimeter.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/perimeter.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/perimeter.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,8 +1,8 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__perimeter.xml]
-[section:perimeter_1 perimeter (1)]
+[section:perimeter_1 perimeter]
 
-Calculate perimeter of a geometry.
+Calculates the perimeter of a geometry.
 
 [heading Description]
 The function perimeter returns the perimeter of a geometry, using the default distance-calculation-strategy
@@ -15,7 +15,7 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
 ]
 
 
@@ -46,9 +46,9 @@
 
 [endsect]
 
-[section:perimeter_2 perimeter (2)]
+[section:perimeter_2 perimeter (with strategy)]
 
-Calculate perimeter of a geometry.
+Calculates the perimeter of a geometry using the specified strategy.
 
 [heading Description]
 The function perimeter returns the perimeter of a geometry, using specified strategy
@@ -61,8 +61,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [A model of the specified concept ]]
-[[Strategy const &] [A type fulfilling a DistanceStrategy concept ] [strategy] [strategy to be used for distance calculations. ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[Strategy const &] [Any type fulfilling a distance Strategy Concept ] [strategy] [strategy to be used for distance calculations. ]]
 ]
 
 

Added: sandbox/geometry/libs/geometry/doc/qbk/reference/register.qbk
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/register.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -0,0 +1,201 @@
+[/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
+[/ Generated from ..\doxygen_output\xml\group__register.xml]
+[section:BOOST_GEOMETRY_REGISTER_POINT_2D_5 BOOST_GEOMETRY_REGISTER_POINT_2D]
+
+Macro to register a custom 2D point.
+
+[heading Synopsis]
+``#define BOOST_GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1)``
+
+[heading Parameters]
+
+[table
+[[Name] [Description] ]
+[[Point] [Point type to be registered ]]
+[[CoordinateType] [Type of the coordinates of the point ]]
+[[CoordinateSystem] [Coordinate system (e.g. cs::cartesian) ]]
+[[Field0] [Member containing first (usually x) coordinate ]]
+[[Field1] [Member containing second (usually y) coordinate]]
+]
+
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+Or
+
+`#include <boost/geometry/geometries/register/point.hpp>`
+
+[caution Use the macro outside any namespace]
+[note A point can include a namespace]
+[heading Snippets]
+[boost_geometry_register_point_2d]
+
+
+[endsect]
+
+[section:BOOST_GEOMETRY_REGISTER_POINT_2D_CONST_5 BOOST_GEOMETRY_REGISTER_POINT_2D_CONST]
+
+Macro to register a custom 2D point (CONST version).
+
+[heading Synopsis]
+``#define BOOST_GEOMETRY_REGISTER_POINT_2D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1)``
+
+[heading Parameters]
+
+[table
+[[Name] [Description] ]
+[[Point] []]
+[[CoordinateType] []]
+[[CoordinateSystem] []]
+[[Field0] []]
+[[Field1] []]
+]
+
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+Or
+
+`#include <boost/geometry/geometries/register/point.hpp>`
+
+
+[endsect]
+
+[section:BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET_7 BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET]
+
+Macro to register a custom 2D point (having separate get/set methods).
+
+[heading Synopsis]
+``#define BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Set0, Set1)``
+
+[heading Parameters]
+
+[table
+[[Name] [Description] ]
+[[Point] []]
+[[CoordinateType] []]
+[[CoordinateSystem] []]
+[[Get0] []]
+[[Get1] []]
+[[Set0] []]
+[[Set1] []]
+]
+
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+Or
+
+`#include <boost/geometry/geometries/register/point.hpp>`
+
+
+[endsect]
+
+[section:BOOST_GEOMETRY_REGISTER_POINT_3D_6 BOOST_GEOMETRY_REGISTER_POINT_3D]
+
+Macro to register a custom 3D point.
+
+[heading Synopsis]
+``#define BOOST_GEOMETRY_REGISTER_POINT_3D(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2)``
+
+[heading Parameters]
+
+[table
+[[Name] [Description] ]
+[[Point] []]
+[[CoordinateType] []]
+[[CoordinateSystem] []]
+[[Field0] []]
+[[Field1] []]
+[[Field2] []]
+]
+
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+Or
+
+`#include <boost/geometry/geometries/register/point.hpp>`
+
+
+[endsect]
+
+[section:BOOST_GEOMETRY_REGISTER_POINT_3D_CONST_6 BOOST_GEOMETRY_REGISTER_POINT_3D_CONST]
+
+Macro to register a custom 3D point (CONST version).
+
+[heading Synopsis]
+``#define BOOST_GEOMETRY_REGISTER_POINT_3D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2)``
+
+[heading Parameters]
+
+[table
+[[Name] [Description] ]
+[[Point] []]
+[[CoordinateType] []]
+[[CoordinateSystem] []]
+[[Field0] []]
+[[Field1] []]
+[[Field2] []]
+]
+
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+Or
+
+`#include <boost/geometry/geometries/register/point.hpp>`
+
+
+[endsect]
+
+[section:BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET_9 BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET]
+
+Macro to register a custom 3D point (having separate get/set methods).
+
+[heading Synopsis]
+``#define BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Get2, Set0, Set1, Set2)``
+
+[heading Parameters]
+
+[table
+[[Name] [Description] ]
+[[Point] []]
+[[CoordinateType] []]
+[[CoordinateSystem] []]
+[[Get0] []]
+[[Get1] []]
+[[Get2] []]
+[[Set0] []]
+[[Set1] []]
+[[Set2] []]
+]
+
+
+[heading Header]
+Either
+
+`#include <boost/geometry/geometry.hpp>`
+
+Or
+
+`#include <boost/geometry/geometries/register/point.hpp>`
+
+
+[endsect]
+

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/reverse.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/reverse.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/reverse.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,8 +1,8 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__reverse.xml]
-[section:reverse_1 reverse (1)]
-
+[section:reverse reverse]
 
+Reverses a geometry.
 
 [heading Synopsis]
 ``template<typename Geometry>
@@ -12,7 +12,7 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry &] [geometry type ] [geometry] [the geometry to make reverse ]]
+[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept which will be reversed ]]
 ]
 
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/simplify.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/simplify.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/simplify.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,6 +1,6 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__simplify.xml]
-[section:simplify_4 simplify (4)]
+[section:simplify_4 simplify (with strategy)]
 
 Simplify a geometry using a specified strategy.
 
@@ -13,8 +13,8 @@
 [table
 [[Type] [Concept] [Name] [Description] ]
 [[Strategy const &] [A type fulfilling a SimplifyStrategy concept ] [strategy] [simplify strategy to be used for simplification, might include point-distance strategy]]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [input geometry, to be simplified ]]
-[[Geometry &] [Any type fulfilling a Geometry concept ] [out] [output geometry, simplified version of the input geometry ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [input geometry, to be simplified ]]
+[[Geometry &] [Any type fulfilling a Geometry Concept ] [out] [output geometry, simplified version of the input geometry ]]
 [[Distance const &] [A numerical distance measure ] [max_distance] [distance (in units of input coordinates) of a vertex to other segments to be removed ]]
 ]
 
@@ -36,7 +36,7 @@
 
 [endsect]
 
-[section:simplify_3 simplify (3)]
+[section:simplify_3 simplify]
 
 Simplify a geometry.
 
@@ -48,8 +48,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [input geometry, to be simplified ]]
-[[Geometry &] [Any type fulfilling a Geometry concept ] [out] [output geometry, simplified version of the input geometry ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [input geometry, to be simplified ]]
+[[Geometry &] [Any type fulfilling a Geometry Concept ] [out] [output geometry, simplified version of the input geometry ]]
 [[Distance const &] [Numerical type (int, double, ttmath, ...) ] [max_distance] [distance (in units of input coordinates) of a vertex to other segments to be removed]]
 ]
 
@@ -69,7 +69,7 @@
 
 [endsect]
 
-[section:simplify_inserter_4 simplify_inserter (4)]
+[section:simplify_inserter_4 simplify_inserter (with strategy)]
 
 Simplify a geometry, using an output iterator and a specified strategy.
 
@@ -81,7 +81,7 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [input geometry, to be simplified ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [input geometry, to be simplified ]]
 [[OutputIterator] [] [out] [output iterator, outputs all simplified points ]]
 [[Distance const &] [] [max_distance] [distance (in units of input coordinates) of a vertex to other segments to be removed ]]
 [[Strategy const &] [] [strategy] [simplify strategy to be used for simplification, might include point-distance strategy ]]
@@ -106,7 +106,7 @@
 
 [endsect]
 
-[section:simplify_inserter_3 simplify_inserter (3)]
+[section:simplify_inserter_3 simplify_inserter]
 
 Simplify a geometry, using an output iterator.
 
@@ -118,7 +118,7 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry const &] [Any type fulfilling a Geometry concept ] [geometry] [input geometry, to be simplified ]]
+[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [input geometry, to be simplified ]]
 [[OutputIterator] [] [out] [output iterator, outputs all simplified points ]]
 [[Distance const &] [] [max_distance] [distance (in units of input coordinates) of a vertex to other segments to be removed]]
 ]

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/sym_difference.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/sym_difference.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/sym_difference.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -2,7 +2,7 @@
 [/ Generated from ..\doxygen_output\xml\group__sym__difference.xml]
 [section:sym_difference_3 sym_difference (3)]
 
-
+calculates2{symmetric difference}
 
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2, typename Collection>
@@ -12,8 +12,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2] [second geometry type ] [geometry2] [second geometry ]]
+[[Geometry1] [Any type fulfilling a Geometry concept ] [geometry1] [A model of the specified concept ]]
+[[Geometry2] [Any type fulfilling a Geometry concept ] [geometry2] [A model of the specified concept ]]
 [[Collection &] [output collection, either a multi-geometry, or a std::vector<Geometry> / std::deque<Geometry> etc ] [output_collection] [the output collection ]]
 ]
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/transform.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/transform.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/transform.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -12,8 +12,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 &] [second geometry type ] [geometry2] [second geometry ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry concept ] [geometry1] [A model of the specified concept ]]
+[[Geometry2 &] [Any type fulfilling a Geometry concept ] [geometry2] [A model of the specified concept ]]
 [[Strategy const &] [strategy ] [strategy] [the strategy to be used for transformation ]]
 ]
 
@@ -42,8 +42,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 &] [second geometry type ] [geometry2] [second geometry ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry concept ] [geometry1] [A model of the specified concept ]]
+[[Geometry2 &] [Any type fulfilling a Geometry concept ] [geometry2] [A model of the specified concept ]]
 ]
 
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/union.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/union.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/union.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -12,8 +12,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry concept ] [geometry1] [A model of the specified concept ]]
+[[Geometry2 const &] [Any type fulfilling a Geometry concept ] [geometry2] [A model of the specified concept ]]
 [[Collection &] [output collection, either a multi-geometry, or a std::vector<Geometry> / std::deque<Geometry> etc ] [output_collection] [the output collection ]]
 ]
 
@@ -42,8 +42,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
+[[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 ]]
 [[OutputIterator] [output iterator ] [out] [the output iterator, outputting polygons ]]
 [[Strategy const &] [compound strategy for intersection ] [strategy] [the strategy ]]
 ]
@@ -76,8 +76,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [first geometry type ] [geometry1] [first geometry ]]
-[[Geometry2 const &] [second geometry type ] [geometry2] [second geometry ]]
+[[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 ]]
 [[OutputIterator] [output iterator ] [out] [the output iterator, outputting polygons ]]
 ]
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/unique.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/unique.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/unique.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,8 +1,11 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__unique.xml]
-[section:unique_1 unique (1)]
+[section:unique unique]
 
+Calculates the minimal set of a geometry.
 
+[heading Description]
+The free function unique calculates the minimal set (where duplicate consecutive points are removed) of a geometry.
 
 [heading Synopsis]
 ``template<typename Geometry>
@@ -12,7 +15,7 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry &] [geometry type ] [geometry] [the geometry to make unique ]]
+[[Geometry &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept which will be made unique ]]
 ]
 
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/reference/within.qbk
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/reference/within.qbk (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/reference/within.qbk 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -1,8 +1,8 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ..\doxygen_output\xml\group__within.xml]
-[section:within_2 within (2)]
+[section:within_2 within]
 
-Within, examine if a geometry is within another geometry.
+Checks if the first geometry completely inside the second geometry.
 
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2>
@@ -12,8 +12,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [] [geometry1] [geometry which might be within the second geometry ]]
-[[Geometry2 const &] [] [geometry2] [geometry which might contain the first geometry ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [geometry which might be within the second geometry ]]
+[[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [geometry which might contain the first geometry ]]
 ]
 
 
@@ -32,7 +32,7 @@
 
 [endsect]
 
-[section:within_3 within (3)]
+[section:within_3 within (with strategy)]
 
 Within, examine if a geometry is within another geometry, using a specified strategy.
 
@@ -44,8 +44,8 @@
 
 [table
 [[Type] [Concept] [Name] [Description] ]
-[[Geometry1 const &] [] [geometry1] [geometry which might be within the second geometry ]]
-[[Geometry2 const &] [] [geometry2] [geometry which might contain the first geometry ]]
+[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept geometry which might be within the second geometry ]]
+[[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept which might contain the first geometry ]]
 [[Strategy const &] [] [strategy] [strategy to be used ]]
 ]
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_1.cpp
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_1.cpp (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_1.cpp 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -17,13 +17,14 @@
 
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/geometries/register/point.hpp>
+#include <boost/geometry/geometries/register/segment.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/adapted/std_as_linestring.hpp>
 
 #include <boost/geometry/extensions/gis/io/wkt/wkt.hpp>
 
 
-void example_point()
+void snippet_point()
 {
     struct custom_cs {};
 
@@ -49,7 +50,8 @@
 
 BOOST_GEOMETRY_REGISTER_POINT_2D(legacy_point, double, boost::geometry::cs::cartesian, x, y); /*< The magic: adapt it to Boost.Geometry Point Concept >*/
 
-void foo1()
+/*<-*/ namespace boost_geometry_register_point_2d { /*->*/
+void foo()
 {
     legacy_point p1, p2;
 
@@ -59,13 +61,11 @@
     bg::assign(p2, 2, 2);
     double d = bg::distance(p1, p2);
 }
-
 //]
+} // namespace
 
 
-// All functions below are referred to in the documentation of Boost.Geometry
-// Don't rename them.
-void example_area_polygon()
+void snippet_area_polygon()
 {
     //[area_polygon
     //` Calculate the area of a polygon
@@ -76,10 +76,10 @@
     //]
 }
 
-void example_area_polygon_spherical()
+void snippet_area_polygon_spherical()
 {
     //[area_polygon_spherical
- //` Calculate the area of a *spherical* polygon
+ //` Calculate the area of a [*spherical] polygon
     namespace bg = boost::geometry;
     bg::polygon<bg::point<float, 2, bg::cs::spherical<bg::degree> > > sph_poly;
     bg::read_wkt("POLYGON((0 0,0 45,45 0,0 0))", sph_poly);
@@ -87,9 +87,25 @@
     //]
 }
 
+void snippet_area_polygon_strategy()
+{
+ //[area_polygon_strategy
+ //` Calculate the area of a polygon specifying a strategy
+ namespace bg = boost::geometry;
+ typedef bg::point<float, 2, bg::cs::spherical<bg::degree> > pnt_type;
+ bg::polygon<pnt_type> hawaii;
+ bg::read_wkt("POLYGON((-155.86 18.93,-155.84 20.30,-154.80 19.52,-155.86 18.93))" /*< [@http://en.wikipedia.org/wiki/Hawaii_%28island%29 Rough appromation of Hawaii Island] >*/
+ , hawaii);
+ double const mean_radius = 6371.0; /*< [@http://en.wikipedia.org/wiki/Earth_radius Wiki] >*/
+ bg::strategy::area::huiller<pnt_type> in_square_kilometers(mean_radius);
+ double area = bg::area(hawaii, in_square_kilometers);
+
+ //]
+}
+
 
 
-void example_as_wkt_point()
+void snippet_as_wkt_point()
 {
     typedef boost::geometry::point_xy<double> P;
     P p(5.12, 6.34);
@@ -103,7 +119,7 @@
     std::cout << boost::geometry::wkt(p) << std::endl;
 }
 
-void example_as_wkt_vector()
+void snippet_as_wkt_vector()
 {
     std::vector<boost::geometry::point_xy<int> > v;
     boost::geometry::read_wkt<boost::geometry::point_xy<int> >("linestring(1 1,2 2,3 3,4 4)", std::back_inserter(v));
@@ -112,7 +128,7 @@
 }
 
 
-void example_centroid_polygon()
+void snippet_centroid_polygon()
 {
     boost::geometry::polygon<boost::geometry::point_xy<double> > poly;
     boost::geometry::read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))", poly);
@@ -123,7 +139,7 @@
 }
 
 
-void example_distance_point_point()
+void snippet_distance_point_point()
 {
     boost::geometry::point_xy<double> p1(1, 1);
     boost::geometry::point_xy<double> p2(2, 3);
@@ -144,7 +160,7 @@
     */
 }
 
-void example_distance_point_point_strategy()
+void snippet_distance_point_point_strategy()
 {
     /*
     Extension, other coordinate system:
@@ -161,35 +177,35 @@
     */
 }
 
-void example_from_wkt_point()
+void snippet_from_wkt_point()
 {
     boost::geometry::point_xy<int> point;
     boost::geometry::read_wkt("Point(1 2)", point);
     std::cout << point.x() << "," << point.y() << std::endl;
 }
 
-void example_from_wkt_output_iterator()
+void snippet_from_wkt_output_iterator()
 {
     std::vector<boost::geometry::point_xy<int> > v;
     boost::geometry::read_wkt<boost::geometry::point_xy<int> >("linestring(1 1,2 2,3 3,4 4)", std::back_inserter(v));
     std::cout << "vector has " << v.size() << " coordinates" << std::endl;
 }
 
-void example_from_wkt_linestring()
+void snippet_from_wkt_linestring()
 {
     boost::geometry::linestring<boost::geometry::point_xy<double> > line;
     boost::geometry::read_wkt("linestring(1 1,2 2,3 3,4 4)", line);
     std::cout << "linestring has " << line.size() << " coordinates" << std::endl;
 }
 
-void example_from_wkt_polygon()
+void snippet_from_wkt_polygon()
 {
     boost::geometry::polygon<boost::geometry::point_xy<double> > poly;
     boost::geometry::read_wkt("POLYGON((0 0,0 1,1 1,1 0,0 0))", poly);
     std::cout << "Polygon has " << poly.outer().size() << " coordinates in outer ring" << std::endl;
 }
 
-void example_point_ll_convert()
+void snippet_point_ll_convert()
 {
     /*
     Extension, other coordinate system:
@@ -201,7 +217,72 @@
     */
 }
 
-void example_clip_linestring1()
+void snippet_intersection_linestring()
+{
+ //[intersection_linestring
+ typedef boost::geometry::point_xy<double> P;
+ std::vector<P> line1, line2;
+ boost::geometry::read_wkt("linestring(1 1,2 2)", line1);
+ boost::geometry::read_wkt("linestring(2 1,1 2)", line2);
+
+ std::deque<P> intersection_points;
+ boost::geometry::intersection(line1, line2, intersection_points);
+ //]
+}
+
+void snippet_intersects_linestring()
+{
+ typedef boost::geometry::point_xy<double> P;
+ std::vector<P> line1, line2;
+ boost::geometry::read_wkt("linestring(1 1,2 2)", line1);
+ boost::geometry::read_wkt("linestring(2 1,1 2)", line2);
+
+ bool b = boost::geometry::intersects(line1, line2);
+}
+
+
+
+void snippet_intersection_segment()
+{
+ typedef boost::geometry::point_xy<double> P;
+ boost::geometry::model::segment<P> segment1, segment2;
+ boost::geometry::read_wkt("linestring(1 1,2 2)", segment1);
+ boost::geometry::read_wkt("linestring(2 1,1 2)", segment2);
+
+ std::vector<P> intersections;
+ boost::geometry::intersection(segment1, segment2, intersections);
+}
+
+void snippet_intersection_inserter_segment()
+{
+ //[intersection_segment_inserter
+
+ typedef boost::geometry::point_xy<double> P;
+ boost::geometry::model::segment<P> segment1, segment2;
+ boost::geometry::read_wkt("linestring(1 1,2 2)", segment1);
+ boost::geometry::read_wkt("linestring(2 1,1 2)", segment2);
+
+ std::vector<P> intersections;
+ boost::geometry::intersection_inserter<P>(segment1, segment2, std::back_inserter(intersections));
+ //` The vector [*intersection] now contains one point: the intersection of the two segments.
+ //` If segments do not intersect, the vector is empty.
+ //` If segments happen to be collinear, the vector contains two points.
+
+ //]
+}
+
+void snippet_intersects_segment()
+{
+ typedef boost::geometry::point_xy<double> P;
+ custom_segment<P> line1, line2;
+ boost::geometry::read_wkt("linestring(1 1,2 2)", line1);
+ boost::geometry::read_wkt("linestring(2 1,1 2)", line2);
+
+ bool b = boost::geometry::intersects(line1, line2);
+}
+
+
+void snippet_clip_linestring1()
 {
     typedef boost::geometry::point_xy<double> P;
     boost::geometry::linestring<P> line;
@@ -213,7 +294,7 @@
     boost::geometry::intersection_inserter<boost::geometry::linestring<P> >(cb, line, std::back_inserter(intersection));
 }
 
-void example_clip_linestring2()
+void snippet_clip_linestring2()
 {
     typedef boost::geometry::point_xy<double> P;
     std::vector<P> vector_in;
@@ -237,7 +318,7 @@
 
 
 
-void example_intersection_polygon1()
+void snippet_intersection_polygon1()
 {
     typedef boost::geometry::point_xy<double> P;
     typedef std::vector<boost::geometry::polygon<P> > PV;
@@ -257,7 +338,7 @@
     }
 }
 
-void example_simplify_linestring1()
+void snippet_simplify_linestring1()
 {
     //[simplify
     //` Simplify a linestring
@@ -270,7 +351,7 @@
     //]
 }
 
-void example_simplify_linestring2()
+void snippet_simplify_linestring2()
 {
     //[simplify_inserter
     //` Simplify a linestring using an output iterator
@@ -288,7 +369,7 @@
 
 
 
-void example_within()
+void snippet_within()
 {
     boost::geometry::polygon<boost::geometry::point_xy<double> > poly;
     boost::geometry::read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))", poly);
@@ -300,7 +381,7 @@
 }
 
 /*
-void example_within_strategy()
+void snippet_within_strategy()
 {
     // TO BE UPDATED/FINISHED
     typedef boost::geometry::point_xy<double> P;
@@ -310,7 +391,7 @@
 }
 */
 
-void example_length_linestring()
+void snippet_length_linestring()
 {
     using namespace boost::geometry;
     linestring<point_xy<double> > line;
@@ -340,7 +421,7 @@
         */
 }
 
-void example_length_linestring_iterators1()
+void snippet_length_linestring_iterators1()
 {
     boost::geometry::linestring<boost::geometry::point_xy<double> > line;
     boost::geometry::read_wkt("linestring(0 0,1 1,4 8,3 2)", line);
@@ -349,7 +430,7 @@
         << " units" << std::endl;
 }
 
-void example_length_linestring_iterators2()
+void snippet_length_linestring_iterators2()
 {
     std::vector<boost::geometry::point_xy<double> > line;
     boost::geometry::read_wkt<boost::geometry::point_xy<double> >("linestring(0 0,1 1,4 8,3 2)", std::back_inserter(line));
@@ -358,7 +439,7 @@
         << " units" << std::endl;
 }
 
-void example_length_linestring_iterators3()
+void snippet_length_linestring_iterators3()
 {
     /*
     Extension, other coordinate system:
@@ -373,7 +454,7 @@
 }
 
 
-void example_length_linestring_strategy()
+void snippet_length_linestring_strategy()
 {
     /*
     Extension, other coordinate system:
@@ -390,7 +471,7 @@
 }
 
 
-void example_envelope_linestring()
+void snippet_envelope_linestring()
 {
     boost::geometry::linestring<boost::geometry::point_xy<double> > line;
     boost::geometry::read_wkt("linestring(0 0,1 1,4 8,3 2)", line);
@@ -400,7 +481,7 @@
     std::cout << "envelope is " << boost::geometry::dsv(box) << std::endl;
 }
 
-void example_envelope_polygon()
+void snippet_envelope_polygon()
 {
     /*
     Extension, other coordinate system:
@@ -431,7 +512,7 @@
 }
 
 
-void example_dms()
+void snippet_dms()
 {
     /*
     Extension, other coordinate system:
@@ -455,7 +536,7 @@
     */
 }
 
-void example_point_ll_construct()
+void snippet_point_ll_construct()
 {
     /*
     Extension, other coordinate system:
@@ -477,44 +558,53 @@
 
 int main(void)
 {
- example_point();
+ snippet_point();
+
+ snippet_area_polygon();
+ snippet_area_polygon_spherical();
+ snippet_area_polygon_strategy();
+
+ snippet_centroid_polygon();
+
+ snippet_intersection_linestring();
+ snippet_intersects_linestring();
+ snippet_intersection_segment();
+ snippet_intersection_inserter_segment();
+ snippet_intersects_segment();
 
- example_area_polygon();
- example_area_polygon_spherical();
 
- example_centroid_polygon();
+ snippet_distance_point_point();
+ snippet_distance_point_point_strategy();
 
- example_distance_point_point();
- example_distance_point_point_strategy();
+ snippet_from_wkt_point();
+ snippet_from_wkt_output_iterator();
+ snippet_from_wkt_linestring();
+ snippet_from_wkt_polygon();
 
- example_from_wkt_point();
- example_from_wkt_output_iterator();
- example_from_wkt_linestring();
- example_from_wkt_polygon();
+ snippet_as_wkt_point();
 
- example_as_wkt_point();
+ snippet_clip_linestring1();
+ snippet_clip_linestring2();
+ snippet_intersection_polygon1();
 
- example_clip_linestring1();
- example_clip_linestring2();
- example_intersection_polygon1();
+ snippet_simplify_linestring1();
+ snippet_simplify_linestring2();
 
- example_simplify_linestring1();
- example_simplify_linestring2();
+ snippet_length_linestring();
+ snippet_length_linestring_iterators1();
+ snippet_length_linestring_iterators2();
+ snippet_length_linestring_iterators3();
+ snippet_length_linestring_strategy();
 
- example_length_linestring();
- example_length_linestring_iterators1();
- example_length_linestring_iterators2();
- example_length_linestring_iterators3();
- example_length_linestring_strategy();
+ snippet_envelope_linestring();
+ snippet_envelope_polygon();
 
- example_envelope_linestring();
- example_envelope_polygon();
+ snippet_within();
 
- example_within();
+ snippet_point_ll_convert();
+ snippet_point_ll_construct();
+ snippet_dms();
 
- example_point_ll_convert();
- example_point_ll_construct();
- example_dms();
 
     boost_geometry_register_point_2d::foo();
 

Modified: sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_1.vcproj
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_1.vcproj (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_1.vcproj 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -88,7 +88,6 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- CommandLine=""
                         />
                 </Configuration>
                 <Configuration
@@ -121,7 +120,7 @@
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
                                 RuntimeLibrary="2"
                                 UsePrecompiledHeader="0"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
                         />
                         <Tool
                                 Name="VCManagedResourceCompilerTool"
@@ -136,7 +135,7 @@
                                 Name="VCLinkerTool"
                                 AdditionalDependencies="kernel32.lib $(NoInherit)"
                                 LinkIncremental="1"
- GenerateDebugInformation="true"
+ GenerateDebugInformation="false"
                                 SubSystem="1"
                                 OptimizeReferences="2"
                                 EnableCOMDATFolding="2"
@@ -165,7 +164,6 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- CommandLine="cd ../doc&#x0D;&#x0A;doxygen&#x0D;&#x0A;"
                         />
                 </Configuration>
         </Configurations>

Modified: sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_2.cpp
==============================================================================
--- sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_2.cpp (original)
+++ sandbox/geometry/libs/geometry/doc/qbk/snippets/qbk_2.cpp 2010-09-03 06:17:00 EDT (Fri, 03 Sep 2010)
@@ -85,24 +85,32 @@
 
 void example_for_main_page()
 {
+
+ //[main1
+ //` Snippets below assume the namespace boost::geometry is known
     using namespace boost::geometry;
 
+ //` It should be possible to use a very small part of the library, for example only the distance between two points.
     int a[2] = {1,1};
     int b[2] = {2,3};
     double d = distance(a, b);
     std::cout << "Distance a-b is:" << d << std::endl;
 
- ring_2d poly;
+ //` Other often used algorithms are point-in-polygon:
     double points[][2] = {{2.0, 1.3}, {4.1, 3.0}, {5.3, 2.6}, {2.9, 0.7}, {2.0, 1.3}};
     append(poly, points);
     boost::tuple<double, double> p = boost::make_tuple(3.7, 2.0);
     std::cout << "Point p is in polygon? " << (within(p, poly) ? "YES" : "NO") << std::endl;
 
+ //` or area:
     std::cout << "Area: " << area(poly) << std::endl;
 
+ //` It is possible, by the nature of a template library, to mix the point types declared above:
     double d2 = distance(a, p);
     std::cout << "Distance a-p is:" << d2 << std::endl;
 
+ //]
+
     /***
     Now extension
     point_ll_deg amsterdam, paris;
@@ -111,12 +119,14 @@
     std::cout << "Distance A'dam-Paris: " << distance(amsterdam, paris) / 1000.0 << " kilometers " << std::endl;
     ***/
 
+ //[main3
     QRect r1(100, 200, 15, 15);
     QRect r2(110, 210, 20, 20);
     if (overlaps(r1, r2))
     {
         assign(r2, 200, 300, 220, 320);
     }
+ //]
 }
 
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk