Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64819 - in sandbox/geometry/boost/geometry: algorithms algorithms/detail/equals algorithms/detail/overlay algorithms/detail/sections arithmetic core extensions/algorithms extensions/gis/geographic/core extensions/gis/io/veshape extensions/gis/io/wkt extensions/io/svg geometries geometries/concepts geometries/register iterators policies util
From: barend.gehrels_at_[hidden]
Date: 2010-08-15 10:30:08


Author: barendgehrels
Date: 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
New Revision: 64819
URL: http://svn.boost.org/trac/boost/changeset/64819

Log:
Major doc upgrade (step one of many)
A.o. moved Doxygen groups to separate headerfiles
Silenced Doxygen warnings
Text files modified:
   sandbox/geometry/boost/geometry/algorithms/area.hpp | 69 +++++------------
   sandbox/geometry/boost/geometry/algorithms/buffer.hpp | 9 --
   sandbox/geometry/boost/geometry/algorithms/centroid.hpp | 35 --------
   sandbox/geometry/boost/geometry/algorithms/combine.hpp | 10 --
   sandbox/geometry/boost/geometry/algorithms/convert.hpp | 12 ---
   sandbox/geometry/boost/geometry/algorithms/convex_hull.hpp | 43 -----------
   sandbox/geometry/boost/geometry/algorithms/detail/equals/collect_vectors.hpp | 2
   sandbox/geometry/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp | 6 +
   sandbox/geometry/boost/geometry/algorithms/detail/overlay/get_turns.hpp | 6 +
   sandbox/geometry/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp | 2
   sandbox/geometry/boost/geometry/algorithms/detail/sections/sectionalize.hpp | 11 --
   sandbox/geometry/boost/geometry/algorithms/difference.hpp | 14 +-
   sandbox/geometry/boost/geometry/algorithms/disjoint.hpp | 18 ----
   sandbox/geometry/boost/geometry/algorithms/dissolve.hpp | 2
   sandbox/geometry/boost/geometry/algorithms/distance.hpp | 62 ++++-----------
   sandbox/geometry/boost/geometry/algorithms/envelope.hpp | 36 ---------
   sandbox/geometry/boost/geometry/algorithms/equals.hpp | 16 ----
   sandbox/geometry/boost/geometry/algorithms/for_each.hpp | 7 -
   sandbox/geometry/boost/geometry/algorithms/intersection.hpp | 56 --------------
   sandbox/geometry/boost/geometry/algorithms/intersects.hpp | 24 ------
   sandbox/geometry/boost/geometry/algorithms/length.hpp | 14 ---
   sandbox/geometry/boost/geometry/algorithms/overlaps.hpp | 10 --
   sandbox/geometry/boost/geometry/algorithms/parse.hpp | 3
   sandbox/geometry/boost/geometry/algorithms/perimeter.hpp | 9 --
   sandbox/geometry/boost/geometry/algorithms/reverse.hpp | 13 ---
   sandbox/geometry/boost/geometry/algorithms/simplify.hpp | 156 +++++++++++++++------------------------
   sandbox/geometry/boost/geometry/algorithms/sym_difference.hpp | 14 +-
   sandbox/geometry/boost/geometry/algorithms/transform.hpp | 34 --------
   sandbox/geometry/boost/geometry/algorithms/union.hpp | 27 ------
   sandbox/geometry/boost/geometry/algorithms/unique.hpp | 7 -
   sandbox/geometry/boost/geometry/algorithms/within.hpp | 54 ++-----------
   sandbox/geometry/boost/geometry/arithmetic/arithmetic.hpp | 3
   sandbox/geometry/boost/geometry/core/access.hpp | 23 -----
   sandbox/geometry/boost/geometry/core/cs.hpp | 6 -
   sandbox/geometry/boost/geometry/core/tag.hpp | 3
   sandbox/geometry/boost/geometry/core/tags.hpp | 6 -
   sandbox/geometry/boost/geometry/extensions/algorithms/midpoints.hpp | 7 -
   sandbox/geometry/boost/geometry/extensions/algorithms/selected.hpp | 12 ---
   sandbox/geometry/boost/geometry/extensions/gis/geographic/core/cs.hpp | 6 -
   sandbox/geometry/boost/geometry/extensions/gis/io/veshape/write_veshape.hpp | 4 -
   sandbox/geometry/boost/geometry/extensions/gis/io/wkt/write_wkt.hpp | 7 -
   sandbox/geometry/boost/geometry/extensions/io/svg/write_svg.hpp | 5 -
   sandbox/geometry/boost/geometry/geometries/concepts/check.hpp | 47 ------------
   sandbox/geometry/boost/geometry/geometries/geometries.hpp | 11 --
   sandbox/geometry/boost/geometry/geometries/point.hpp | 63 +++++++++------
   sandbox/geometry/boost/geometry/geometries/register/point.hpp | 47 ++++++++---
   sandbox/geometry/boost/geometry/iterators/closing_iterator.hpp | 19 ++--
   sandbox/geometry/boost/geometry/policies/compare.hpp | 35 --------
   sandbox/geometry/boost/geometry/util/select_coordinate_type.hpp | 16 ----
   49 files changed, 221 insertions(+), 880 deletions(-)

Modified: sandbox/geometry/boost/geometry/algorithms/area.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/area.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/area.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -37,31 +37,6 @@
 #include <boost/geometry/util/reversible_view.hpp>
 
 
-/*!
-\defgroup area area: calculate area of a geometry
-
-\par Performance
-2776 * 1000 area calculations are done in 0.11 seconds
-(http://trac.osgeo.org/ggl/wiki/Performance#Area1)
-
-\par Coordinate systems and strategies
-Area calculation can be done in Cartesian and in spherical/geographic
-coordinate systems.
-
-\par Geometries
-The area algorithm calculates the surface area of all geometries
-having a surface: box, polygon, multi_polygon. The units are the square of
-the units used for the points defining the surface. If the polygon is defined
-in meters, the area is in square meters.
-
-\par Example:
-Example showing area calculation of polygons built
-\dontinclude doxygen_1.cpp
-\skip example_area_polygon()
-\line {
-\until }
-
-*/
 namespace boost { namespace geometry
 {
 
@@ -222,19 +197,19 @@
 
 
 /*!
- \brief Calculate area of a geometry
- \ingroup area
- \details 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)
- \tparam Geometry A type fulfilling any Geometry concept
- \param geometry A model of Geometry
- \return The calculated area
+\brief Calculate area of a geometry
+\ingroup area
+\details 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)
+\tparam Geometry \geometry_concept
+\param geometry A model of Geometry
+\return The calculated area
 
- \xmlonly <qbk.example>area_polygon</qbk.example> \endxmlonly
- \xmlonly <qbk.example>area_polygon_spherical</qbk.example> \endxmlonly
+\qbk{snippet,area_polygon}
+\qbk{snippet,area_polygon_spherical}
  */
 template <typename Geometry>
 inline typename area_result<Geometry>::type area(Geometry const& geometry)
@@ -252,16 +227,16 @@
 }
 
 /*!
- \brief Calculate area of a geometry using a specified strategy
- \ingroup area
- \details This version of area calculation takes a strategy
- \tparam Geometry A type fulfilling any Geometry concept
- \tparam Strategy A type fulfilling a AreaStrategy concept
- \param geometry A model of Geometry
- \param strategy A strategy to calculate area.
- Especially for spherical and geographical area calculations there
- are various approaches.
- \return The calculated area
+\brief Calculate area of a geometry using a specified strategy
+\ingroup area
+\details This version of area calculation takes a strategy
+\tparam Geometry \geometry_concept
+\tparam Strategy A type fulfilling a AreaStrategy concept
+\param geometry A model of Geometry
+\param strategy A strategy to calculate area.
+ Especially for spherical and geographical area calculations there
+ are various approaches.
+\return The calculated area
  */
 template <typename Geometry, typename Strategy>
 inline typename Strategy::return_type area(

Modified: sandbox/geometry/boost/geometry/algorithms/buffer.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/buffer.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/buffer.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -22,15 +22,6 @@
 #include <boost/geometry/util/math.hpp>
 
 
-/*!
-\defgroup buffer buffer: calculate buffer of a geometry
-\par Source description:
-- OGC: Returns a geometric object that represents all Points whose distance
-from this geometric object is less than or equal to distance. Calculations are in the spatial reference system of
-this geometric object. Because of the limitations of linear interpolation, there will often be some relatively
-small error in this distance, but it should be near the resolution of the coordinates used
-\see http://en.wikipedia.org/wiki/Buffer_(GIS)
-*/
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/centroid.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/centroid.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/centroid.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -32,41 +32,6 @@
 #include <boost/geometry/util/for_each_coordinate.hpp>
 
 
-/*!
-\defgroup centroid centroid: calculate centroid (center of gravity) of a geometry
-\par Source descriptions:
-- OGC description: The mathematical centroid for this Surface as a Point. The
- result is not guaranteed to be on this Surface.
-- From Wikipedia: Informally, it is the "average" of all points
-\see http://en.wikipedia.org/wiki/Centroid
-\note Polygon should be closed, and can be orientated either way
-\note The "centroid" functions are taking a non const reference to the centroid.
- The "make_centroid" functions return the centroid, the type has to be
- specified.
-\note Both of them have an overloaded version where
- a centroid calculation strategy can be specified
-\exception centroid_exception if calculation is not successful,
- e.g. because polygon didn't contain points
-
-\par Example:
-Example showing centroid calculation
-\dontinclude doxygen_1.cpp
-\skip example_centroid_polygon
-\line {
-\until }
-
-\par Performance
-2776 * 1000 centroid calculations are done in 0.16 seconds
-(http://trac.osgeo.org/ggl/wiki/Performance#Centroid1)
-
-\par Geometries:
-- RING: \image html centroid_ring.png
-- BOX: the centroid of a 2D or 3D box is the center of the box
-- POLYGON \image html centroid_polygon.png
-- POINT: the point is the centroid
-- LINESTRING: the average of the centers of its segments
-- MULTIPOINT: the average of the points
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/algorithms/combine.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/combine.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/combine.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -23,16 +23,6 @@
 #include <boost/geometry/policies/compare.hpp>
 
 
-/*!
-\defgroup combine combine: add a geometry to a bounding box
-\par Geometries:
-- \b box + \b box -> \b box: the box will be combined with the other box
- \image html combine_box_box.png
- \note Also if the input box is incorrect, the box will correctly updated
-- \b box + \b point -> \b box: the box will combined with the point
- \image html combine_box_point.png
-- \b box + \b segment -> \b box
-*/
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/convert.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/convert.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/convert.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -23,18 +23,6 @@
 #include <boost/geometry/geometries/concepts/check.hpp>
 
 
-/*!
-\defgroup convert convert: convert geometries from one type to another
-\details Convert from one geometry type to another type,
- for example from BOX to POLYGON
-\par Geometries:
-- \b point to \b box -> a zero-area box of a point
-- \b box to \b ring -> a rectangular ring
-- \b box to \b polygon -> a rectangular polygon
-- \b ring to \b polygon -> polygon with an exterior ring (the input ring)
-- \b polygon to \b ring -> ring, interior rings (if any) are ignored
-*/
-
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/convex_hull.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/convex_hull.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/convex_hull.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -26,49 +26,6 @@
 #include <boost/geometry/util/as_range.hpp>
 
 
-/*!
-\defgroup convex_hull convex hull: calculate the convex hull of a geometry
-\par Source descriptions:
-- OGC description: Returns a geometric object that represents the convex hull of
- this geometric object. Convex hulls, being dependent on straight lines, can
- be accurately represented in linear interpolations
- for any geometry restricted to linear interpolations.
-\see http://en.wikipedia.org/wiki/Convex_hull
-
-\par Performance
-2776 counties of US are "hulled" in 0.9 seconds
-(http://trac.osgeo.org/ggl/wiki/Performance#Convexhull1)
-
-\note The convex hull is always a ring, holes are not possible. Therefore it is
- can also be used in combination with an output iterator.
-
-\par Geometries supported:
-In the images below the convex hull is painted in red.
-
-- \b point: will not compile
-
-- \b linestring:
-
-- \b polygon: will deliver a polygon without holes
- \image html svg_convex_hull_country.png
-
-- \b multi_point:
- \image html svg_convex_hull_cities.png
-
-- \b multi_linestring:
-
-- \b multi_polygon:
-
-\par Output geometries supported:
-
-- \b polygon
-
-- \b ring
-
-- inserter version (with output iterator) can output to any array supporting
- points of same type as the input geometry type
-
-*/
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/detail/equals/collect_vectors.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/detail/equals/collect_vectors.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/detail/equals/collect_vectors.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -279,7 +279,9 @@
 
 /*!
     \ingroup collect_vectors
+ \tparam Collection Collection type, should be e.g. std::vector<>
     \tparam Geometry geometry type
+ \param collection the collection of vectors
     \param geometry the geometry to make collect_vectors
 */
 template <typename Collection, typename Geometry>

Modified: sandbox/geometry/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -359,7 +359,13 @@
     \ingroup overlay
     \tparam TurnPoints type of intersection container
                 (e.g. vector of "intersection/turn point"'s)
+ \tparam Geometry1 first geometry type
+ \tparam Geometry2 second geometry type
+ \tparam Strategy point-point-distance strategy type
     \param turn_points container containing intersectionpoints
+ \param geometry1 first geometry
+ \param geometry2 second geometry
+ \param strategy strategy
  */
 template
 <

Modified: sandbox/geometry/boost/geometry/algorithms/detail/overlay/get_turns.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/detail/overlay/get_turns.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/detail/overlay/get_turns.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -129,7 +129,7 @@
 
         range1_iterator prev1, it1, end1;
 
- get_start_point_iterator(sec1, prev1, it1, end1,
+ get_start_point_iterator(sec1, prev1, it1, end1,
                     index1, ndi1, geometry1, dir1, sec2.bounding_box);
 
         // We need a circular iterator because it might run through the closing point.
@@ -153,7 +153,7 @@
 
             range2_iterator prev2, it2, end2;
 
- get_start_point_iterator(sec2, prev2, it2, end2,
+ get_start_point_iterator(sec2, prev2, it2, end2,
                         index2, ndi2, geometry2, dir2, sec1.bounding_box);
             ever_circling_iterator<range2_iterator> next2(begin_range_2, end_range_2, it2, true);
             next2++;
@@ -829,6 +829,8 @@
     \param geometry1 first geometry
     \param geometry2 second geometry
     \param turns container which will contain intersection points
+ \param interrupt_policy policy determining if process is stopped
+ when intersection is found
  */
 template
 <

Modified: sandbox/geometry/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -175,6 +175,8 @@
                 (e.g. vector of "intersection/turn point"'s)
     \param geometry geometry
     \param turns container which will contain intersection points
+ \param interrupt_policy policy determining if process is stopped
+ when intersection is found
  */
 template
 <

Modified: sandbox/geometry/boost/geometry/algorithms/detail/sections/sectionalize.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/detail/sections/sectionalize.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/detail/sections/sectionalize.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -27,17 +27,6 @@
 #include <boost/geometry/geometries/segment.hpp>
 
 
-/*!
-\defgroup sectionalize sectionalize: split a geometry (polygon, linestring, etc)
- into monotonic sections
-
-\par Geometries:
-- LINESTRING:
-- RING:
-- POLYGON:
-- BOX
-*/
-
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/difference.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/difference.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/difference.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -15,19 +15,19 @@
 #include <boost/geometry/algorithms/reverse.hpp>
 
 
-/*!
-\defgroup difference difference: difference of two geometries
-*/
-
-
 namespace boost { namespace geometry
 {
 
 
 /*!
     \ingroup difference
- \tparam Geometry geometry type
- \param geometry the geometry to make difference
+ \tparam Geometry1 first geometry type
+ \tparam Geometry2 second geometry type
+ \tparam Collection output collection, either a multi-geometry,
+ or a std::vector<Geometry> / std::deque<Geometry> etc
+ \param geometry1 first geometry
+ \param geometry2 second geometry
+ \param output_collection the output collection
 */
 template
 <

Modified: sandbox/geometry/boost/geometry/algorithms/disjoint.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/disjoint.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/disjoint.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,27 +9,9 @@
 #ifndef BOOST_GEOMETRY_ALGORITHMS_DISJOINT_HPP
 #define BOOST_GEOMETRY_ALGORITHMS_DISJOINT_HPP
 
-
-/*!
-\defgroup disjoint disjoint: detect if geometries are not spatially related
-\details disjoint means spatially disjoint, there is no overlap of interiors
- and boundaries, the intersection of interiors or boundaries is empty.
-
-\par Geometries:
-- \b point + \b point (= ! equals)
-- \b point + \b box (= not within or on border)
-- \b box + \b box
-- \b ring + \b box
-- \b polygon + \b box
-- \b polygon + \b ring
-- \b polygon + \b polygon
-
-*/
-
 #include <cstddef>
 #include <deque>
 
-
 #include <boost/mpl/if.hpp>
 #include <boost/range.hpp>
 

Modified: sandbox/geometry/boost/geometry/algorithms/dissolve.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/dissolve.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/dissolve.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -149,7 +149,7 @@
     \tparam OutputIterator type of intersection container
         (e.g. vector of "intersection/turn point"'s)
     \param geometry first geometry
- \param output container which will contain dissolved geometry
+ \param out output iterator getting dissolved geometry
     \note Currently dissolve with a (multi)linestring does NOT remove internal
         overlap, it only tries to connect multiple line end-points.
         TODO: we should change this behaviour and add a separate "connect"

Modified: sandbox/geometry/boost/geometry/algorithms/distance.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/distance.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/distance.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -33,36 +33,6 @@
 #include <boost/geometry/util/closeable_view.hpp>
 #include <boost/geometry/util/math.hpp>
 
-/*!
-\defgroup distance distance: calculate distance between two geometries
-The distance algorithm returns the distance between two geometries.
-\par Coordinate systems and strategies:
-With help of strategies the distance function returns the appropriate distance.
-If the input is in cartesian coordinates, the Euclidian distance (Pythagoras) is calculated.
-If the input is in spherical coordinates (either degree or radian), the distance over the sphere is returned.
-If the input is in geographic coordinates, distance is calculated over the globe and returned in meters.
-
-\par Distance result:
-Depending on calculation type the distance result is either a structure, convertable
-to a double, or a double value. In case of Pythagoras it makes sense to not draw the square root in the
-strategy itself. Taking a square root is relative expensive and is not necessary when comparing distances.
-
-\par Geometries:
-Currently implemented, for both cartesian and spherical/geographic:
-- POINT - POINT
-- POINT - SEGMENT and v.v.
-- POINT - LINESTRING and v.v.
-
-Not yet implemented:
-- POINT - RING etc, note that it will return a zero if the point is anywhere within the ring
-
-\par Example:
-Example showing distance calculation of two points, in xy and in latlong coordinates
-\dontinclude doxygen_1.cpp
-\skip example_distance_point_point
-\line {
-\until }
-*/
 
 namespace boost { namespace geometry
 {
@@ -111,10 +81,10 @@
 
 template
 <
- typename Point,
- typename Range,
+ typename Point,
+ typename Range,
     closure_selector Closure,
- typename PPStrategy,
+ typename PPStrategy,
     typename PSStrategy
>
 struct point_to_range
@@ -134,7 +104,7 @@
         typedef closeable_view
             <
                 Range const,
- Closure == open
+ Closure == open
> view_type;
 
         view_type view(range);
@@ -178,10 +148,10 @@
 
 template
 <
- typename Point,
- typename Ring,
+ typename Point,
+ typename Ring,
     closure_selector Closure,
- typename PPStrategy,
+ typename PPStrategy,
     typename PSStrategy
>
 struct point_to_ring
@@ -214,10 +184,10 @@
 
 template
 <
- typename Point,
- typename Polygon,
+ typename Point,
+ typename Polygon,
     closure_selector Closure,
- typename PPStrategy,
+ typename PPStrategy,
     typename PSStrategy
>
 struct point_to_polygon
@@ -383,7 +353,7 @@
         std::pair<return_type, bool>
             dc = detail::distance::point_to_ring
             <
- Point, Ring,
+ Point, Ring,
                 geometry::closure<Ring>::value,
                 Strategy, ps_strategy_type
>::apply(point, ring, strategy, ps_strategy_type());
@@ -419,7 +389,7 @@
         std::pair<return_type, bool>
             dc = detail::distance::point_to_polygon
             <
- Point, Polygon,
+ Point, Polygon,
                 geometry::closure<Polygon>::value,
                 Strategy, ps_strategy_type
>::apply(point, polygon, strategy, ps_strategy_type());
@@ -499,7 +469,7 @@
     \ingroup distance
     \tparam Geometry1 first geometry type
     \tparam Geometry2 second geometry type
- \tparam S point-point-distance strategy type
+ \tparam Strategy point-point-distance strategy type
     \param geometry1 first geometry
     \param geometry2 second geometry
     \param strategy strategy to calculate distance between two points
@@ -515,7 +485,7 @@
  */
 
 /*
-Note, in case of a Compilation Error:
+Note, in case of a Compilation Error:
 if you get:
  - "Failed to specialize function template ..."
  - "error: no matching function for call to ..."
@@ -563,8 +533,8 @@
     \brief Calculate distance between two geometries
     \ingroup distance
     \details The default strategy is used, belonging to the corresponding coordinate system of the geometries
- \tparam G1 first geometry type
- \tparam G2 second geometry type
+ \tparam Geometry1 first geometry type
+ \tparam Geometry2 second geometry type
     \param geometry1 first geometry
     \param geometry2 second geometry
     \return the distance (either a double or a distance result, convertable to double)

Modified: sandbox/geometry/boost/geometry/algorithms/envelope.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/envelope.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/envelope.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -19,42 +19,6 @@
 #include <boost/geometry/core/exterior_ring.hpp>
 #include <boost/geometry/geometries/concepts/check.hpp>
 
-/*!
-\defgroup envelope envelope: calculate envelope (minimum bounding rectangle) of a geometry
-\par Source descriptions:
-- OGC: Envelope (): Geometry - The minimum bounding rectangle (MBR) for this
- Geometry,
-returned as a Geometry. The polygon is defined by the corner points of the
- bounding box
- [(MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY)].
-
-\note Implemented in the Generic Geometry Library: The minimum bounding box,
- always as a box, having min <= max
-
-The envelope algorithm calculates the bounding box, or envelope, of a geometry.
-There are two versions:
-- envelope, taking a reference to a box as second parameter
-- make_envelope, returning a newly constructed box (type as a template parameter
- in the function call)
-
-\par Geometries:
-- \b point: a box with zero area, the maximum and the minimum point of the box are
-set to the point itself.
-- \b linestring, \b ring or \b range is the smallest box that contains all points of the
- specified point sequence.
-If the linestring is empty, the envelope is the inverse infinite box, that is,
- the minimum point is very large (max infinite) and the maximum point is
- very small (min infinite).
-- \b polygon, the envelope of the outer ring
-\image html envelope_polygon.png
-
-\par Example:
-Example showing envelope calculation
-\dontinclude doxygen_1.cpp
-\skip example_envelope_linestring
-\line {
-\until }
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/algorithms/equals.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/equals.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/equals.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,22 +9,6 @@
 #ifndef BOOST_GEOMETRY_ALGORITHMS_EQUALS_HPP
 #define BOOST_GEOMETRY_ALGORITHMS_EQUALS_HPP
 
-/*!
-\defgroup equals equals: detect if two geometries are spatially equal
-\details Equals returns true if geometries are spatially equal. Spatially equal
-means including the same point-set. A linestring can be spatially equal to
-another linestring, even if both do not have the same amount of points.
-A polygon can be spatially equal to a multi-polygon (which then has
-only one element).
-
-\par Geometries:
-- \b point + \b point
-- \b box + \b box
-
-\note There is a functor \ref compare "compare" as well, which can be used
-for std:: library compatibility.
-
-*/
 
 
 #include <cstddef>

Modified: sandbox/geometry/boost/geometry/algorithms/for_each.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/for_each.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/for_each.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,13 +9,6 @@
 #ifndef BOOST_GEOMETRY_ALGORITHMS_FOR_EACH_HPP
 #define BOOST_GEOMETRY_ALGORITHMS_FOR_EACH_HPP
 
-/*!
-\defgroup for_each for_each: apply a functor to each point or segment of a geometry
-\details There are two algorithms provided which walk through the points or segments
-of linestrings and polygons. They are called for_each_point, for_each_segment,
-after the standard library
-\note For both for_each algorithms there is a \b const and a non-const version provided.
-*/
 
 #include <algorithm>
 

Modified: sandbox/geometry/boost/geometry/algorithms/intersection.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/intersection.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/intersection.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -23,65 +23,9 @@
 #include <boost/geometry/ranges/segment_range.hpp>
 
 
-
-/*!
-\defgroup intersection intersection: calculate new geometry
- containing geometries A and B
-\details The intersection of two geometries A and B is the geometry containing
- all points of A also belonging to B, but no other elements. The so-called
- clip is an intersection of a geometry with a box.
-\par Source description:
-- OGC: Returns a geometric object that represents the Point set intersection of
- this geometric object with another Geometry.
-\see http://en.wikipedia.org/wiki/Intersection_(set_theory)
-\note Any intersection can result in no geometry at all
-
-\par Performance
-- 2776 counties of US are intersected with a 100-points ellipse in 1.1 seconds
-(http://trac.osgeo.org/ggl/wiki/Performance#Interesection)
-- 2776 counties of US are clipped in 0.2 seconds
-(http://trac.osgeo.org/ggl/wiki/Performance#Clip)
-
-
-\par Geometries:
-- \b polygon + \b box (clip) -> \b polygon(s)
-\image html svg_intersection_polygon_box.png
-\image html svg_intersection_countries.png
-- \b ring + \b box (clip) -> \b polygon(s)
-\image html svg_intersection_ring_box.png
-- \b ring + \b ring -> \b polygon(s)
-\image html svg_intersection_ring_ring.png
-- \b polygon + \b ring -> \b polygon(s)
-\image html svg_intersection_polygon_ring.png
-- combinations above -> \b ring(s).
- <i>If the output is an ouput iterator of rings, holes are omitted</i>
-- \b linestring + \b box (clip)
-\image html svg_intersection_roads.png
-
-\par Example:
-Example showing clipping of linestring with box
-\dontinclude doxygen_1.cpp
-\skip example_clip_linestring1
-\line {
-\until }
-\par Example:
-Example showing clipping of vector, outputting vectors, with box
-\dontinclude doxygen_1.cpp
-\skip example_clip_linestring2
-\line {
-\until }
-\par Example:
-Example showing clipping of polygon with box
-\dontinclude doxygen_1.cpp
-\skip example_intersection_polygon1
-\line {
-\until }
-*/
-
 namespace boost { namespace geometry
 {
 
-
 #ifndef DOXYGEN_NO_DISPATCH
 namespace dispatch
 {

Modified: sandbox/geometry/boost/geometry/algorithms/intersects.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/intersects.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/intersects.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -10,37 +10,13 @@
 #define BOOST_GEOMETRY_ALGORITHMS_INTERSECTS_HPP
 
 
-/*!
-\defgroup intersects intersects: detect if a geometry self-intersects or if two geometries intersect
-\par Source descriptions:
-- OGC description: Returns 1 (TRUE) if this geometric object spatially
- intersects anotherGeometry.
-- OGC: a.Intersects(b) <=> ! a.Disjoint(b)
-\note There are two overloaded versions:
-- with one geometry, detecting self-intersections
-- with two geometries, deferring to disjoint, returning !disjoint
-
-\par Geometries:
-- \b ring
-- \b polygon
-- for two geometries: same is disjoint
-
-\note if one geometry is completely within another geometry, it "intersects"
-
-*/
-
 #include <deque>
 
-
 #include <boost/geometry/geometries/concepts/check.hpp>
-
-
 #include <boost/geometry/algorithms/detail/overlay/self_turn_points.hpp>
-
 #include <boost/geometry/algorithms/disjoint.hpp>
 
 
-
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/length.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/length.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/length.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -26,25 +26,11 @@
 #include <boost/geometry/strategies/distance.hpp>
 #include <boost/geometry/strategies/length_result.hpp>
 
-/*!
-\defgroup length length: calculate length of a linear geometry
-The length algorithm is implemented for the linestring and the multi_linestring
-geometry and results in the length of the linestring. If the points of
-a linestring have coordinates expressed in kilometers,
-the length of the line is expressed in kilometers as well.
-\par Example:
-Example showing length calculation
-\dontinclude doxygen_1.cpp
-\skip example_length_linestring_iterators1
-\line {
-\until }
-*/
 
 namespace boost { namespace geometry
 {
 
 
-
 #ifndef DOXYGEN_NO_DETAIL
 namespace detail { namespace length
 {

Modified: sandbox/geometry/boost/geometry/algorithms/overlaps.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/overlaps.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/overlaps.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,16 +9,6 @@
 #ifndef BOOST_GEOMETRY_ALGORITHMS_OVERLAPS_HPP
 #define BOOST_GEOMETRY_ALGORITHMS_OVERLAPS_HPP
 
-/*!
-\defgroup overlaps overlaps: detect overlap between two geometries
-\par Source descriptions:
-- Egenhofer: Two objects overlap if they have common interior faces and the bounding faces have common parts
-with the opposite interior faces.
-
-\par Geometries:
-- \b box + \b box
-
-*/
 
 #include <cstddef>
 

Modified: sandbox/geometry/boost/geometry/algorithms/parse.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/parse.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/parse.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -20,9 +20,6 @@
 // TODO: remove used EXTENSION here (result should be part of parsing strategy)
 #include <boost/geometry/extensions/gis/geographic/strategies/dms_parser.hpp>
 
-/*!
-\defgroup parse parse and assign string values
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/algorithms/perimeter.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/perimeter.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/perimeter.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -19,15 +19,6 @@
 #include <boost/geometry/algorithms/detail/calculate_sum.hpp>
 
 
-/*!
-\defgroup perimeter perimeter: calculate perimeter of a geometry
-\par Geometries:
-- \b polygon
-- \b box
-- \b linear_ring
-- \b multi_polygon
-*/
-
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/reverse.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/reverse.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/reverse.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -16,19 +16,6 @@
 #include <boost/geometry/geometries/concepts/check.hpp>
 
 
-/*!
-\defgroup reverse reverse: reverse a geometry
- This is functionally equivalent to the std::reverse algorithm.
- For a linestring or a linear ring, it is exactly the same as calling the std::reverse algorithm.
- For a polygon or a multi-geometry, all its rings or elements are reversed.
-
- No check on order is applied. So a clockwise polygon (having positive area)
- will be made counterclockwise (having negative area).
-
- The first and last points are reversed as well, even if they are closed and the same.
-*/
-
-
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/simplify.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/simplify.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/simplify.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -27,42 +27,6 @@
 #include <boost/geometry/algorithms/clear.hpp>
 
 
-
-/*!
-\defgroup simplify simplify: remove points from a geometry, keeping shape (simplification or generalization)
-\par Source description:
-- Wikipedia: given a 'curve' composed of line segments to find a curve
- not too dissimilar but that has fewer points
-
-\see http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm
-
-\par Performance
-- Performance is measured on simplification of a collection of rings,
- such that 10% of the points is kept.
-- 2776 counties of US are simplified in 0.7 seconds
-(http://trac.osgeo.org/ggl/wiki/Performance#Simplify1)
-
-\par Geometries
-- \b linestring:
-\image html svg_simplify_road.png
-This US Road originally contained 34 points, the simplified version contains 7 points
-
-- \b polygon:
-\image html svg_simplify_country.png
-This country (Belgium) originally contained 55 points, the simplified version contains 24 points
-
-\note simplifying a valid simple polygon (which never intersects itself)
- might result in an invalid polygon, where the simplified rings intersect
- themselves or one of the other outer or inner rings.
-Efficient simplification of a ring/polygon is still an "Open Problem"
-(http://maven.smith.edu/~orourke/TOPP/P24.html#Problem.24)
-
-- \b multi_linestring
-- \b multi_polygon
-
-
-*/
-
 namespace boost { namespace geometry
 {
 
@@ -270,21 +234,22 @@
 
 
 /*!
- \brief Simplify a geometry using a specified strategy
- \ingroup simplify
- \tparam Geometry A type fulfilling any Geometry concept
- \tparam Distance A numerical distance measure
- \tparam Strategy A type fulfilling a SimplifyStrategy concept
- \param strategy A strategy to calculate simplification
- \param geometry input geometry, to be simplified
- \param out output geometry, simplified version of the input geometry
- \param max_distance distance (in units of input coordinates) of a vertex
- to other segments to be removed
- \param strategy simplify strategy to be used for simplification, might
- include point-distance strategy
+\brief Simplify a geometry using a specified strategy
+\ingroup simplify
+\tparam Geometry \geometry_concept
+\tparam Distance A numerical distance measure
+\tparam Strategy A type fulfilling a SimplifyStrategy concept
+\param strategy A strategy to calculate simplification
+\param geometry input geometry, to be simplified
+\param out output geometry, simplified version of the input geometry
+\param max_distance distance (in units of input coordinates) of a vertex
+ to other segments to be removed
+\param strategy simplify strategy to be used for simplification, might
+ include point-distance strategy
 
- \image html svg_simplify_country.png
- */
+\image html svg_simplify_country.png "The image below presents the simplified country"
+\qbk{complexity,Linear}
+*/
 template<typename Geometry, typename Distance, typename Strategy>
 inline void simplify(Geometry const& geometry, Geometry& out,
                      Distance const& max_distance, Strategy const& strategy)
@@ -307,25 +272,26 @@
 
 
 /*!
- \brief Simplify a geometry
- \ingroup simplify
- \tparam Geometry A type fulfilling any Geometry concept
- \tparam Distance A numerical distance measure
- \note This version of simplify simplifies a geometry using the default
- strategy (Douglas Peucker),
- \param geometry input geometry, to be simplified
- \param out output geometry, simplified version of the input geometry
- \param max_distance distance (in units of input coordinates) of a vertex
- to other segments to be removed
- \par Example:
- The simplify algorithm can be used as following:
- \dontinclude doxygen_1.cpp
- \skip example_simplify_linestring1
- \line {
- \until }
+\brief Simplify a geometry
+\ingroup simplify
+\tparam Geometry \geometry_concept
+\tparam Distance \template_numerical
+\note This version of simplify simplifies a geometry using the default
+ strategy (Douglas Peucker),
+\param geometry input geometry, to be simplified
+\param out output geometry, simplified version of the input geometry
+\param max_distance distance (in units of input coordinates) of a vertex
+ to other segments to be removed
+
+\par Example:
+Simplify can be used as following:
+\dontinclude doxygen_1.cpp
+\skip example_simplify_linestring1
+\line {
+\until }
 
- \xmlonly <qbk.example>simplify</qbk.example> \endxmlonly
- \image html svg_simplify_country.png
+
+\qbk{complexity,Linear}
  */
 template<typename Geometry, typename Distance>
 inline void simplify(Geometry const& geometry, Geometry& out,
@@ -349,25 +315,25 @@
 
 
 /*!
- \brief Simplify a geometry, using an output iterator
- and a specified strategy
- \ingroup simplify
- \tparam Geometry geometry_concept
- \param geometry input geometry, to be simplified
- \param out output iterator, outputs all simplified points
- \param max_distance distance (in units of input coordinates) of a vertex
- to other segments to be removed
- \param strategy simplify strategy to be used for simplification,
- might include point-distance strategy
- \par Example:
- simplify_inserter with strategy is used as following:
- \dontinclude doxygen_1.cpp
- \skip example_simplify_linestring2
- \line {
- \until }
+\brief Simplify a geometry, using an output iterator
+ and a specified strategy
+\ingroup simplify
+\tparam Geometry \geometry_concept
+\param geometry input geometry, to be simplified
+\param out output iterator, outputs all simplified points
+\param max_distance distance (in units of input coordinates) of a vertex
+ to other segments to be removed
+\param strategy simplify strategy to be used for simplification,
+ might include point-distance strategy
+\par Example:
+simplify_inserter with strategy is used as following:
+\dontinclude doxygen_1.cpp
+\skip example_simplify_linestring2
+\line {
+\until }
 
- \xmlonly <qbk.example>simplify_inserter</qbk.example> \endxmlonly
- \image html svg_simplify_country.png
+\qbk{snippet,simplify_inserter}
+\qbk{complexity,Linear}
  */
 template<typename Geometry, typename OutputIterator, typename Distance, typename Strategy>
 inline void simplify_inserter(Geometry const& geometry, OutputIterator out,
@@ -385,16 +351,16 @@
 }
 
 /*!
- \brief Simplify a geometry, using an output iterator
- \ingroup simplify
- \tparam Geometry geometry_concept
- \param geometry input geometry, to be simplified
- \param out output iterator, outputs all simplified points
- \param max_distance distance (in units of input coordinates) of a vertex
- to other segments to be removed
+\brief Simplify a geometry, using an output iterator
+\ingroup simplify
+\tparam Geometry \geometry_concept
+\param geometry input geometry, to be simplified
+\param out output iterator, outputs all simplified points
+\param max_distance distance (in units of input coordinates) of a vertex
+ to other segments to be removed
 
- \image html svg_simplify_country.png
-*/
+\qbk{complexity,Linear}
+ */
 template<typename Geometry, typename OutputIterator, typename Distance>
 inline void simplify_inserter(Geometry const& geometry, OutputIterator out,
                               Distance const& max_distance)

Modified: sandbox/geometry/boost/geometry/algorithms/sym_difference.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/sym_difference.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/sym_difference.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -15,19 +15,19 @@
 #include <boost/geometry/algorithms/reverse.hpp>
 
 
-/*!
-\defgroup sym_difference sym_difference: sym_difference of two geometries
-*/
-
-
 namespace boost { namespace geometry
 {
 
 
 /*!
     \ingroup sym_difference
- \tparam Geometry geometry type
- \param geometry the geometry to make symmetric difference
+ \tparam Geometry1 first geometry type
+ \tparam Geometry2 second geometry type
+ \tparam Collection output collection, either a multi-geometry,
+ or a std::vector<Geometry> / std::deque<Geometry> etc
+ \param geometry1 first geometry
+ \param geometry2 second geometry
+ \param output_collection the output collection
 */
 template
 <

Modified: sandbox/geometry/boost/geometry/algorithms/transform.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/transform.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/transform.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -27,40 +27,6 @@
 #include <boost/geometry/strategies/transform.hpp>
 
 
-/*!
-\defgroup transform transform: apply transformations on geometries
-\brief Transforms from one geometry to another geometry, optionally using a strategy
-\details The transform algorithm automatically transforms from one coordinate system to another coordinate system.
-If the coordinate system of both geometries are the same, the geometry is copied. All point(s of the geometry)
-are transformed.
-
-There is a version without a strategy, transforming automatically, and there is a version with a strategy.
-
-This function has a lot of appliances, for example
-- transform from spherical coordinates to cartesian coordinates, and back
-- transform from geographic coordinates to cartesian coordinates (projections) and back
-- transform from degree to radian, and back
-- transform from and to cartesian coordinates (mapping, translations, etc)
-
-The automatic transformations look to the coordinate system family, and dimensions, of the point type and by this
-apply the strategy (internally bounded by traits classes).
-
-\par Examples:
-The example below shows automatic transformations to go from one coordinate system to another one:
-\dontinclude doxygen_2.cpp
-\skip example_for_transform()
-\skipline XYZ
-\until endl;
-
-The next example takes another approach and transforms from Cartesian to Cartesian:
-\skipline XY
-\until endl;
-
-\note Not every possibility is yet worked out, e.g. polar coordinate system is ignored until now
-\note This "transform" is broader then geodetic datum transformations, those are currently not worked out
-
-*/
-
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/union.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/union.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/union.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -21,31 +21,6 @@
 #include <boost/geometry/algorithms/within.hpp>
 
 
-
-/*!
-\defgroup union union: calculate new geometry containing geometries A or B
-\details The union of two geometries A and B is the geometry containing
- all points belong to either of A or B, but no other elements.
-\par Source description:
-- OGC: Returns a geometric object that represents the Point set union of
- this geometric object with another Geometry.
-\see http://en.wikipedia.org/wiki/Union_(set_theory)
-\note A union of two rings can result in a polygon having a hole
-
-\par Geometries:
-- \b polygon + \b box -> \b polygon(s)
-\image html svg_union_polygon_box.png
-- \b ring + \b box -> \b polygon(s)
-\image html svg_union_ring_box.png
-- \b ring + \b ring -> \b polygon(s)
-\image html svg_union_ring_ring.png
-- \b polygon + \b ring -> \b polygon(s)
-\image html svg_union_polygon_ring.png
-- combinations above -> \b ring(s).
- <i>If the output is an ouput iterator of rings, holes are omitted</i>
-
-*/
-
 namespace boost { namespace geometry
 {
 
@@ -199,7 +174,7 @@
         or a std::vector<Geometry> / std::deque<Geometry> etc
     \param geometry1 first geometry
     \param geometry2 second geometry
- \param output_collection, the output collection
+ \param output_collection the output collection
     \note Called union_ because union is a reserved word.
 */
 template

Modified: sandbox/geometry/boost/geometry/algorithms/unique.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/unique.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/unique.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -17,13 +17,6 @@
 #include <boost/geometry/policies/compare.hpp>
 
 
-/*!
-\defgroup unique unique: make a geometry unique w.r.t. points,
- so no duplicate consecutive points
-
-*/
-
-
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/algorithms/within.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/algorithms/within.hpp (original)
+++ sandbox/geometry/boost/geometry/algorithms/within.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,40 +9,6 @@
 #ifndef BOOST_GEOMETRY_ALGORITHMS_WITHIN_HPP
 #define BOOST_GEOMETRY_ALGORITHMS_WITHIN_HPP
 
-/*!
-\defgroup within within: detect if a geometry is inside another geometry, a.o. point-in-polygon
-
-\par Source descriptions:
-- OGC: Returns 1 (TRUE) if this geometric object is "spatially within"
- another Geometry.
-
-\par Performance
-- 2776 within determinations using bounding box and polygon are done
- in 0.05 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Within1)
-- note that using another strategy the performance can be increased:
- - winding : 0.093 s
- - franklin : 0.062 s
- - Crossings-multiply : 0.047 s
-- but note also that the last two do not detect point-on-border cases
-
-\par Geometries:
-- \b point + \b polygon: The well-known point-in-polygon, returning true if
- a point falls within a polygon (and not
-within one of its holes) \image html within_polygon.png
-- \b point + \b ring: returns true if point is completely within
- a ring \image html within_ring.png
-- \b point + \b box
-- \b box + \b box
-
-\par Example:
-The within algorithm is used as following:
-\dontinclude doxygen_1.cpp
-\skip example_within
-\line {
-\until }
-
-*/
-
 
 #include <cstddef>
 
@@ -175,9 +141,9 @@
 
 template
 <
- typename Point,
- typename Ring,
- iterate_direction Direction,
+ typename Point,
+ typename Ring,
+ iterate_direction Direction,
     closure_selector Closure,
     typename Strategy
>
@@ -223,9 +189,9 @@
 // Polygon: in exterior ring, and if so, not within interior ring(s)
 template
 <
- typename Point,
- typename Polygon,
- iterate_direction Direction,
+ typename Point,
+ typename Polygon,
+ iterate_direction Direction,
     closure_selector Closure,
     typename Strategy
>
@@ -323,8 +289,8 @@
 struct within<point_tag, ring_tag, Point, Ring, Strategy>
     : detail::within::point_in_ring
         <
- Point,
- Ring,
+ Point,
+ Ring,
             order_as_direction<geometry::point_order<Ring>::value>::value,
             geometry::closure<Ring>::value,
             Strategy
@@ -335,8 +301,8 @@
 struct within<point_tag, polygon_tag, Point, Polygon, Strategy>
     : detail::within::point_in_polygon
         <
- Point,
- Polygon,
+ Point,
+ Polygon,
             order_as_direction<geometry::point_order<Polygon>::value>::value,
             geometry::closure<Polygon>::value,
             Strategy

Modified: sandbox/geometry/boost/geometry/arithmetic/arithmetic.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/arithmetic/arithmetic.hpp (original)
+++ sandbox/geometry/boost/geometry/arithmetic/arithmetic.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -18,9 +18,6 @@
 #include <boost/geometry/geometries/concepts/point_concept.hpp>
 #include <boost/geometry/util/for_each_coordinate.hpp>
 
-/*!
-\defgroup arithmetic arithmetic: arithmetic operations on points
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/core/access.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/core/access.hpp (original)
+++ sandbox/geometry/boost/geometry/core/access.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,29 +9,6 @@
 #ifndef BOOST_GEOMETRY_CORE_ACCESS_HPP
 #define BOOST_GEOMETRY_CORE_ACCESS_HPP
 
-/// @defgroup access access: get/set coordinate values, make objects, clear geometries, append point(s)
-/// @details There are many ways to edit geometries. It is possible to:
-///
-/// @li use the geometries themselves, so access point.x(). This is not done
-/// inside the library because it is agnostic to geometry type. However,
-/// library users can use this as it is intuitive.
-/// @li use the standard library, so use .push_back(point) or use inserters.
-/// This is also avoided inside the library. However, library users can use
-/// it if they are used to the standard library
-/// @li use the functionality provided in this geometry library. These are
-/// the functions in this module.
-///
-/// The library provides the following functions to edit geometries:
-/// @li set to set one coordinate value
-/// @li assign to set two or more coordinate values
-/// @li make to construct and return geometries with specified coordinates.
-/// @li append to append one or more points to a geometry
-/// @li clear to remove all points from a geometry
-///
-/// For getting coordinates it is similar:
-/// @li get to get a coordinate value
-/// @li or use the standard library
-/// @li or use the geometries themselves
 
 #include <cstddef>
 

Modified: sandbox/geometry/boost/geometry/core/cs.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/core/cs.hpp (original)
+++ sandbox/geometry/boost/geometry/core/cs.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -16,12 +16,6 @@
 #include <boost/geometry/core/coordinate_system.hpp>
 #include <boost/geometry/core/tags.hpp>
 
-/*!
-\defgroup cs coordinate systems
-\brief Defines coordinate systems
-\details Coordinate systems are essential for any point in the Generic Geometry Library. Many
-algorithms such as distance or transform use coordinate systems to select the strategy to use.
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/core/tag.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/core/tag.hpp (original)
+++ sandbox/geometry/boost/geometry/core/tag.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -13,9 +13,6 @@
 
 #include <boost/geometry/core/tags.hpp>
 
-/*!
-\defgroup core core: meta-functions for geometry types
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/core/tags.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/core/tags.hpp (original)
+++ sandbox/geometry/boost/geometry/core/tags.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -10,12 +10,6 @@
 #define BOOST_GEOMETRY_CORE_TAGS_HPP
 
 
-/*!
-\defgroup traits traits: adapt geometries
-\brief Traits classes are small classes or structs to adapt geometries
-such that they are recognized by the Generic Geometry Library
-*/
-
 namespace boost { namespace geometry
 {
 

Modified: sandbox/geometry/boost/geometry/extensions/algorithms/midpoints.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/algorithms/midpoints.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/algorithms/midpoints.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -19,13 +19,6 @@
 #include <boost/geometry/core/cs.hpp>
 #include <boost/geometry/geometries/concepts/check.hpp>
 
-/*!
-\defgroup midpoints midpoints calculation
-The midpoints algorithm calculate points IN BETWEEN of other points
-\par Purpose:
-- Remove corners in rectangular lines / polygons. Calling them several times will result in smooth lines
-- Creating 3D models
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/extensions/algorithms/selected.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/algorithms/selected.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/algorithms/selected.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -25,18 +25,6 @@
 #include <boost/geometry/util/math.hpp>
 #include <boost/geometry/util/select_coordinate_type.hpp>
 
-/*!
-\defgroup selected selection: check if a geometry is "selected" by a point
-
-Checks if one geometry is selected by a point lying within or in the neighborhood of that geometry
-
-\par Geometries:
-- POINT: checks if points are CLOSE TO each other (< search_radius)
-- LINESTRING: checks if selection point is CLOSE TO linestring (< search_radius)
-- RING: checks if selection point is INSIDE the ring, search radius is ignored
-- POLYGON: checks if selection point is INSIDE the polygon, but not inside any of its holes
-
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/extensions/gis/geographic/core/cs.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/gis/geographic/core/cs.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/gis/geographic/core/cs.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -10,12 +10,6 @@
 #define BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_CORE_CS_HPP
 
 
-/*!
-\defgroup cs coordinate systems
-\brief Defines coordinate systems
-\details Coordinate systems are essential for any point in the Generic Geometry Library. Many
-algorithms such as distance or transform use coordinate systems to select the strategy to use.
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/extensions/gis/io/veshape/write_veshape.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/gis/io/veshape/write_veshape.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/gis/io/veshape/write_veshape.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -24,10 +24,6 @@
 #include <boost/geometry/algorithms/convert.hpp>
 
 
-/*!
-\defgroup veshape veshape: stream VEShape (Virtual Earth shapes for in VE Ajax Control)
-\note VE assumes points in LatLong, Lat first
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/extensions/gis/io/wkt/write_wkt.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/gis/io/wkt/write_wkt.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/gis/io/wkt/write_wkt.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -25,13 +25,6 @@
 
 #include <boost/geometry/extensions/gis/io/wkt/detail/wkt.hpp>
 
-/*!
-\defgroup wkt wkt: parse and stream WKT (Well-Known Text)
-The wkt classes stream the specified geometry as \ref OGC Well Known Text (\ref WKT). It is defined for OGC geometries.
-It is therefore not defined for all geometries (e.g. not for circle)
-\note The implementation is independant from point type, point_xy and point_ll are supported,
-as well as points with more than two coordinates.
-*/
 
 namespace boost { namespace geometry
 {

Modified: sandbox/geometry/boost/geometry/extensions/io/svg/write_svg.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/extensions/io/svg/write_svg.hpp (original)
+++ sandbox/geometry/boost/geometry/extensions/io/svg/write_svg.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -23,9 +23,6 @@
 
 #include <boost/geometry/geometries/concepts/check.hpp>
 
-/*!
-\defgroup svg x Extension svg: Stream SVG (Scalable Vector Graphics)
-*/
 
 namespace boost { namespace geometry
 {
@@ -193,7 +190,7 @@
 static inline void apply(std::basic_ostream<Char, Traits>& os, G const& geometry)
 */
 template <typename GeometryTag, typename Geometry>
-struct svg
+struct svg
 {
     BOOST_MPL_ASSERT_MSG
         (

Modified: sandbox/geometry/boost/geometry/geometries/concepts/check.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/geometries/concepts/check.hpp (original)
+++ sandbox/geometry/boost/geometry/geometries/concepts/check.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,53 +9,6 @@
 #ifndef BOOST_GEOMETRY_GEOMETRIES_CONCEPTS_CHECK_HPP
 #define BOOST_GEOMETRY_GEOMETRIES_CONCEPTS_CHECK_HPP
 
-/*!
-\defgroup concepts geometry concepts: defines and checks concepts for geometries
-
-All GGL algorithms use concepts for their geometries. This means that all
-algorithms work on the GGL-provided geometries (point, linestring, etc) but
-also on custom geometries.
-
-By declaring registration macro's or by specializating traits classes it is
-possible to adapt custom or legacy geometries to fulfil the GGL geometry
-concepts.
-
-GGL algorithms check the concepts of the input geometries.
-Concept checking is done using BCCL (Boost Concept Check Library).
-
-This means that geometries provided by library users, or legacy geometries, or
-plain arrays, or boost tuples, all can be handled by the Generic Geometry
-Library. Also std::vector of points, or tuples can be handled either as a
-linestring or as a linear ring (polygon without holes).
-
-There are concepts for
-- points
-- segment
-- box
-- linestring
-- (linear) ring
-- polygon
-- multi point
-- multi linestring
-- multi polygon
-
-The Generic Geometry Library uses the Boost Range Library to iterate through
-standard containers, boost arrays, c-arrays.
-So:
-- linestring
-- (linear) ring
-
-are all just ranges. So a std::vector, std::deque, boost::array,
-iterator pair or c-array will be accepted as such.
-
-Also the multi geometries:
-- multi point
-- multi linestring
-- multi polygon
-are considered as ranges of respectively points, linestrings and polygons.
-
-*/
-
 
 #include <boost/concept_check.hpp>
 #include <boost/concept/requires.hpp>

Modified: sandbox/geometry/boost/geometry/geometries/geometries.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/geometries/geometries.hpp (original)
+++ sandbox/geometry/boost/geometry/geometries/geometries.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,17 +9,6 @@
 #ifndef BOOST_GEOMETRY_GEOMETRIES_HPP
 #define BOOST_GEOMETRY_GEOMETRIES_HPP
 
-
-/*!
-\defgroup geometries geometries: geometries provided by default
-\details The GGL can be used with the geometry classes provided by the library,
-and with custom geometries registered by traits classes or registration
-macros.
-
-This documentation page refers to the geometry classes provided by the library.
-
-*/
-
 #include <boost/geometry/geometries/adapted/c_array.hpp>
 #include <boost/geometry/geometries/adapted/tuple.hpp>
 

Modified: sandbox/geometry/boost/geometry/geometries/point.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/geometries/point.hpp (original)
+++ sandbox/geometry/boost/geometry/geometries/point.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -24,55 +24,66 @@
 {
 
 /*!
- \brief Basic point class, having coordinates defined in a neutral way
- \ingroup geometries
- \tparam T numeric type, for example double, float, int
- \tparam D coordinate dimension as number of coordinates, for example 2
- \tparam C coordinate system, for example cs::cartesian
+\brief Basic point class, having coordinates defined in a neutral way
+\ingroup geometries
+
+\tparam CoordinateType \template_numerical
+\tparam DimensionCount number of coordinates, usually 2 or 3
+\tparam CoordinateSystem coordinate system, for example cs::cartesian
+
+\qbk{snippet,point}
+
+\details Defines a neutral point class, fulfilling the Point Concept.
+ Library users can use this point class, or use their own point classes.
+ This point class is used in most of the samples and tests of Boost.Geometry
+ This point class is used occasionally within the library, where a temporary
+ point class is necessary.
 */
-template<typename T, std::size_t D, typename C>
+template
+<
+ typename CoordinateType,
+ std::size_t DimensionCount,
+ typename CoordinateSystem
+>
 class point
 {
 public:
 
- // Concept typedefs and members
- typedef T coordinate_type;
- typedef C coordinate_system;
-
- static const std::size_t coordinate_count = D;
-
- /// Default constructor, no initialization at all
+ /// @brief Default constructor, no initialization
     inline point()
     {}
 
- /// Constructs with one, or optionally two or three values
- inline point(T const& v0, T const& v1 = 0, T const& v2 = 0)
+ /// @brief Constructor to set one, two or three values
+ inline point(CoordinateType const& v0, CoordinateType const& v1 = 0, CoordinateType const& v2 = 0)
     {
- if (D >= 1) m_values[0] = v0;
- if (D >= 2) m_values[1] = v1;
- if (D >= 3) m_values[2] = v2;
+ if (DimensionCount >= 1) m_values[0] = v0;
+ if (DimensionCount >= 2) m_values[1] = v1;
+ if (DimensionCount >= 3) m_values[2] = v2;
     }
 
-
- /// Compile time access to coordinate values
+ /// @brief Get a coordinate
+ /// @tparam K coordinate to get
+ /// @return the coordinate
     template <std::size_t K>
- inline T const& get() const
+ inline CoordinateType const& get() const
     {
- BOOST_STATIC_ASSERT(K < D);
+ BOOST_STATIC_ASSERT(K < DimensionCount);
         return m_values[K];
     }
 
+ /// @brief Set a coordinate
+ /// @tparam K coordinate to set
+ /// @param value value to set
     template <std::size_t K>
- inline void set(T value)
+ inline void set(CoordinateType const& value)
     {
- BOOST_STATIC_ASSERT(K < D);
+ BOOST_STATIC_ASSERT(K < DimensionCount);
         m_values[K] = value;
     }
 
-
 private:
 
- T m_values[D];
+ CoordinateType m_values[DimensionCount];
 };
 
 

Modified: sandbox/geometry/boost/geometry/geometries/register/point.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/geometries/register/point.hpp (original)
+++ sandbox/geometry/boost/geometry/geometries/register/point.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -12,12 +12,6 @@
 
 #include <cstddef>
 
-/**
- * @file point.hpp
- * @brief Macros for registration of custom point geometry types.
- * This file implements a "macro party" for registration of custom geometry types.
- */
-
 #ifndef DOXYGEN_NO_SPECIALIZATIONS
 
 // Starting point, specialize basic traits necessary to register a point
@@ -25,7 +19,7 @@
     template<> struct tag<Point> { typedef point_tag type; }; \
     template<> struct dimension<Point> : boost::mpl::int_<Dim> {}; \
     template<> struct coordinate_type<Point> { typedef CoordinateType type; }; \
- template<> struct coordinate_system<Point> { typedef CoordinateSystem type; };
+ template<> struct coordinate_system<Point> { typedef CoordinateSystem type; };
 
 // Specialize access class per dimension
 #define BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, Dim, CoordinateType, Get, Set) \
@@ -56,7 +50,19 @@
 #endif // DOXYGEN_NO_SPECIALIZATIONS
 
 
-/// @brief Library user macro to register a custom 2D point
+/*!
+\brief Macro to register a custom 2D point
+\ingroup register
+\param Point Point type to be registered
+\param CoordinateType Type of the coordinates of the point
+\param CoordinateSystem Coordinate system (e.g. cs::cartesian)
+\param Field0 Member containing first (usually x) coordinate
+\param Field1 Member containing second (usually y) coordinate
+
+\qbk{snippet, boost_geometry_register_point_2d}
+\qbk{admonition, [caution Use the macro outside any namespace]}
+\qbk{admonition, [note A point can include a namespace]}
+*/
 #define BOOST_GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1) \
 namespace boost { namespace geometry { namespace traits { \
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
@@ -64,7 +70,10 @@
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 1, CoordinateType, Field1, Field1) \
 }}}
 
-/// @brief Library user macro to register a custom 3D point
+/*!
+\brief Macro to register a custom 3D point
+\ingroup register
+*/
 #define BOOST_GEOMETRY_REGISTER_POINT_3D(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2) \
 namespace boost { namespace geometry { namespace traits { \
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
@@ -73,7 +82,10 @@
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 2, CoordinateType, Field2, Field2) \
 }}}
 
-/// @brief Library user macro to register a custom 2D point (CONST version)
+/*!
+\brief Macro to register a custom 2D point (CONST version)
+\ingroup register
+*/
 #define BOOST_GEOMETRY_REGISTER_POINT_2D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1) \
 namespace boost { namespace geometry { namespace traits { \
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
@@ -81,7 +93,10 @@
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 1, CoordinateType, Field1) \
 }}}
 
-/// @brief Library user macro to register a custom 3D point (CONST version)
+/*!
+\brief Macro to register a custom 3D point (CONST version)
+\ingroup register
+*/
 #define BOOST_GEOMETRY_REGISTER_POINT_3D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2) \
 namespace boost { namespace geometry { namespace traits { \
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
@@ -90,7 +105,10 @@
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 2, CoordinateType, Field2) \
 }}}
 
-/// @brief Library user macro to register a custom 2D point (having separate get/set methods)
+/*!
+\brief Macro to register a custom 2D point (having separate get/set methods)
+\ingroup register
+*/
 #define BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Set0, Set1) \
 namespace boost { namespace geometry { namespace traits { \
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
@@ -98,7 +116,10 @@
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 1, CoordinateType, Get1, Set1) \
 }}}
 
-/// @brief Library user macro to register a custom 3D point (having separate get/set methods)
+/*!
+\brief Macro to register a custom 3D point (having separate get/set methods)
+\ingroup register
+*/
 #define BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Get2, Set0, Set1, Set2) \
 namespace boost { namespace geometry { namespace traits { \
     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \

Modified: sandbox/geometry/boost/geometry/iterators/closing_iterator.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/iterators/closing_iterator.hpp (original)
+++ sandbox/geometry/boost/geometry/iterators/closing_iterator.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -19,15 +19,15 @@
 {
 
 /*!
- \brief Iterator which iterates through a range, but adds first element at end of the range
- \tparam Range range on which this class is based on
- \ingroup iterators
- \note Use with "closing_iterator<Range> or "closing_iterator<Range const>
- to get non-const / const behaviour
- \note This class is normally used from "closeable_view" if Close==true
+\brief Iterator which iterates through a range, but adds first element at end of the range
+\tparam Range range on which this class is based on
+\ingroup iterators
+\note Use with "closing_iterator<Range> or "closing_iterator<Range const>
+ to get non-const / const behaviour
+\note This class is normally used from "closeable_view" if Close==true
 */
 template <typename Range>
-struct closing_iterator
+struct closing_iterator
     : public boost::iterator_adaptor
     <
         closing_iterator<Range>,
@@ -36,6 +36,7 @@
         boost::forward_traversal_tag
>
 {
+ /// Constructor including the range it is based on
     explicit inline closing_iterator(Range& range)
         : m_range(range)
         , m_beyond(false)
@@ -44,7 +45,7 @@
         this->base_reference() = boost::begin(m_range);
     }
 
- // Constructor to indicate the end of a range
+ /// Constructor to indicate the end of a range
     explicit inline closing_iterator(Range& range, bool)
         : m_range(range)
         , m_beyond(true)
@@ -58,7 +59,7 @@
 
     inline bool equal(closing_iterator<Range> const& other) const
     {
- return this->base() == other.base()
+ return this->base() == other.base()
             && this->m_beyond == other.m_beyond;
     }
 

Modified: sandbox/geometry/boost/geometry/policies/compare.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/policies/compare.hpp (original)
+++ sandbox/geometry/boost/geometry/policies/compare.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -9,41 +9,6 @@
 #define BOOST_GEOMETRY_POLICIES_COMPARE_HPP
 
 
-/*!
-\defgroup compare compare: define compare functors for points
-\details The compare policies enable to compare points in a way that they can
-be compared in many functions of the standard library.
-
-The functors do have an optional second template argument, \b dimension.
-If dimension is specified, comparison is only done on that dimension.
-
-This is useful for (a.o.):
-- std::sort (use geometry::less<P> or geometry::greater<P> or geometry::less<P, 1>)
-- std::map (use geometry::less<P>)
-- std::unique_copy (use geometry::equal_to<P>)
-
-\par Geometries:
-- \b point
-
-
-\par Example:
-Example showing how geometry::less can be used
-\dontinclude doxygen_3.cpp
-\skip example_less()
-\line {
-\until }
-
-
-\note There is a boolean function \ref equals "equals" as well, which returns
-true or false if a geometry is spatially equal to another geometry. That one
-is defined for OGC compatibility, while these ones are defined for
-compatibility with the std:: library. These ones are functors, operating on
-the same geometry type (currently only the point-type), the equals function is
-a free function operating on different point types or even different geometry
-types (a linestring can be spatially equal to a multi-linestring).
-*/
-
-
 #include <cstddef>
 
 #include <boost/geometry/strategies/compare.hpp>

Modified: sandbox/geometry/boost/geometry/util/select_coordinate_type.hpp
==============================================================================
--- sandbox/geometry/boost/geometry/util/select_coordinate_type.hpp (original)
+++ sandbox/geometry/boost/geometry/util/select_coordinate_type.hpp 2010-08-15 10:29:57 EDT (Sun, 15 Aug 2010)
@@ -14,22 +14,6 @@
 #include <boost/geometry/util/select_most_precise.hpp>
 
 
-/*!
-\defgroup utility utility: utility meta-functions and functions
-\details The utilities, mostly in folder util, contain several headerfiles
-not fitting in one of the other folders.
-
-The following meta-functions are general and do not relate to GGL:
-- add_const_if_c
-- range_iterator_const_if_c
-- select_most_precise
-
-They might fit into boost as a separate trait or utility, or there might
-be a Boost equivalent which is yet unnoticed by the authors.
-
-
-*/
-
 namespace boost { namespace geometry
 {
 


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