Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r65256 - in sandbox/geometry/libs/geometry: doc doc/doxygen_input/groups doc/doxygen_input/pages test/algorithms test/algorithms/overlay
From: barend.gehrels_at_[hidden]
Date: 2010-09-04 11:28:30


Author: barendgehrels
Date: 2010-09-04 11:28:27 EDT (Sat, 04 Sep 2010)
New Revision: 65256
URL: http://svn.boost.org/trac/boost/changeset/65256

Log:
Added testcases for intersections outputting points, disjoint segment/linestring, updated Doxygen file
Added:
   sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_geometries.hpp (contents, props changed)
   sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_interior_rings.hpp (contents, props changed)
   sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_points.hpp (contents, props changed)
Removed:
   sandbox/geometry/libs/geometry/test/algorithms/overlay/merge_intersection_points.cpp
Text files modified:
   sandbox/geometry/libs/geometry/doc/Doxyfile | 53 +++++++++++++++++++++++++++++++++++----
   sandbox/geometry/libs/geometry/doc/doxygen_input/pages/doxygen_mainpage.hpp | 16 +++++++++---
   sandbox/geometry/libs/geometry/test/algorithms/intersection.cpp | 11 +++++++
   3 files changed, 69 insertions(+), 11 deletions(-)

Modified: sandbox/geometry/libs/geometry/doc/Doxyfile
==============================================================================
--- sandbox/geometry/libs/geometry/doc/Doxyfile (original)
+++ sandbox/geometry/libs/geometry/doc/Doxyfile 2010-09-04 11:28:27 EDT (Sat, 04 Sep 2010)
@@ -25,13 +25,54 @@
 INHERIT_DOCS = YES
 SEPARATE_MEMBER_PAGES = NO
 TAB_SIZE = 8
+
+# The aliases are shortcuts for Doxygen documentation.
+# Within Boost.Geometry they are used in the top section, so for both
+# Doxygen documentation and QuickBook documentation.
+# They avoid repetations and make the documentation more structured.
+# There are also qbk expressions, which might qbk defines and templates.
+
+# There are sections for
+# \brief* for various brief descriptions
+# \tparam* for various template parameters
+# \param* for various parameters
+# \return* for various return cases
 ALIASES = qbk{2}="\xmlonly <qbk.\1>\2</qbk.\1> \endxmlonly" \
- qbk{3}="\xmlonly <qbk.\1>\2, \3</qbk.\1> \endxmlonly" \
- geometry_concept="Any type fulfilling a Geometry concept" \
- point_concept="Any type fulfilling a Point concept" \
- geometry_model="A model of the specified concept" \
- template_numerical="Numerical type (int, double, ttmath, ...)" \
- strategy_reasons="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)"
+ brief_calc{1}="Calculates the \1 of a geometry" \
+ brief_calc2{1}="Calculate the \1 of two geometries" \
+ brief_calc2{2}="Calculate the \1 \2 two geometries" \
+ brief_check{1}="Checks if a geometry \1" \
+ brief_check2{1}="Checks if two geometries \1" \
+ brief_check12{1}="Checks if the first geometry \1 the second geometry" \
+ brief_strategy="using the specified strategy" \
+ tparam_geometry="Any type fulfilling a Geometry Concept" \
+ tparam_geometry{1}="A type fulfilling a \1 Concept" \
+ tparam_point="Any type fulfilling a Point Concept" \
+ tparam_box="Any type fulfilling a Box Concept" \
+ tparam_strategy{1}="Any type fulfilling a \1 Strategy Concept" \
+ tparam_numeric="Numerical type (int, double, ttmath, ...)" \
+ tparam_out{1}="A valid output iterator type, accepting geometries of \1 Concept" \
+ param_geometry="A model of the specified concept" \
+ param_box="A model of the specified Box Concept" \
+ param_point="A model of the specified Point Concept" \
+ param_strategy{1}="The strategy which will be used for \1 calculations" \
+ param_set{1}="which is set to the \1" \
+ param_out{1}="The output iterator, to which \1 geometries are feeded" \
+ details_calc{2}="The free function \1 calculates the \2 of a geometry" \
+ details_calc{1}="The free function \1 calculates the \1 of a geometry" \
+ details_calc2{2}="The free function \1 calculates the \2 of two geometries" \
+ details_calc2{1}="The free function \1 calculates the \1 of two geometries" \
+ details_default_strategy="It uses the default strategy, based on the coordinate system of the geometry." \
+ details_strategy_reasons="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)" \
+ details_make{1}="This version with the make_ prefix returns the \1, and a template parameter must therefore be specified in the call." \
+ details_inserter{1}="This version with the _inserter suffix outputs the \1 to an output iterator, and a template parameter must therefore be specified in the call." \
+ return_calc{1}="The calculated \1" \
+ return_check{1}="Returns true if the geometry \1" \
+ return_check2{1}="Returns true if two geometries \1" \
+ return_out="The output iterator" \
+ det_envelope="envelope (also known as axis aligned bounding box, aabb, or minimum bounding rectangle, mbr)" \
+ det_buffer="buffer (a polygon being the spatial point set collection within a specified maximum distance from a geometry)" \
+ p_l_or_c="Point, LineString or Polygon"
 OPTIMIZE_OUTPUT_FOR_C = NO
 OPTIMIZE_OUTPUT_JAVA = NO
 OPTIMIZE_FOR_FORTRAN = NO

Added: sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_geometries.hpp
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_geometries.hpp 2010-09-04 11:28:27 EDT (Sat, 04 Sep 2010)
@@ -0,0 +1,4 @@
+/*!
+\defgroup num_geometries number of geometries: calculate the number of geometries in a multi-geometry
+
+*/

Added: sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_interior_rings.hpp
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_interior_rings.hpp 2010-09-04 11:28:27 EDT (Sat, 04 Sep 2010)
@@ -0,0 +1,5 @@
+/*!
+\defgroup num_interior_rings number of interior rings: calculate the number of interior rings
+
+
+*/

Added: sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_points.hpp
==============================================================================
--- (empty file)
+++ sandbox/geometry/libs/geometry/doc/doxygen_input/groups/num_points.hpp 2010-09-04 11:28:27 EDT (Sat, 04 Sep 2010)
@@ -0,0 +1,4 @@
+/*!
+\defgroup num_points number of points: calculate number of points of a geometry
+
+*/

Modified: sandbox/geometry/libs/geometry/doc/doxygen_input/pages/doxygen_mainpage.hpp
==============================================================================
--- sandbox/geometry/libs/geometry/doc/doxygen_input/pages/doxygen_mainpage.hpp (original)
+++ sandbox/geometry/libs/geometry/doc/doxygen_input/pages/doxygen_mainpage.hpp 2010-09-04 11:28:27 EDT (Sat, 04 Sep 2010)
@@ -10,6 +10,9 @@
 #define _DOXYGEN_MAINPAGE_HPP
 
 
+// -> introduction.qbk
+// -> quickstart.qbk
+
 /*!
 \mainpage Boost.Geometry
 
@@ -23,12 +26,17 @@
 </em>
 
 \section intro Introduction
-Boost.Geometry, formally accepted by Boost, defines \ref concepts "concepts" for geometries and implements some algorithms on such geometries. Before acceptance by Boost it was known as GGL (Generic Geometry Library)
-and this documentation still contains that name on various places.
+Boost.Geometry, formally accepted by Boost, defines \ref concepts "concepts" for geometries and
+implements some algorithms on such geometries. Before acceptance by Boost it was known as GGL
+(Generic Geometry Library) and this documentation still contains that name on various places.
 
 
-Boost.Geometry contains a dimension-agnostic, coordinate-system-agnostic and scalable kernel, based on concepts, meta-functions and tag- dispatching.
-On top of that kernel, algorithms are built: area, length, perimeter, centroid, convex hull, intersection (clipping), within (point in polygon), distance, envelope (bounding box), simplify, transform, convert, and more. The library is also designed to support high precision arithmetic numbers, such as GMP.
+Boost.Geometry contains a dimension-agnostic, coordinate-system-agnostic and
+scalable kernel, based on concepts, meta-functions and tag- dispatching. On top
+of that kernel, algorithms are built: area, length, perimeter, centroid, convex
+hull, intersection (clipping), within (point in polygon), distance, envelope
+(bounding box), simplify, transform, convert, and more. The library is also
+designed to support high precision arithmetic numbers, such as GMP.
 
 Boost.Geometry contains instantiable geometry classes, but library users can also use their own. Using registration macros or traits classes their geometries can be adapted to fulfil the Boost.Geometry Concepts.
 

Modified: sandbox/geometry/libs/geometry/test/algorithms/intersection.cpp
==============================================================================
--- sandbox/geometry/libs/geometry/test/algorithms/intersection.cpp (original)
+++ sandbox/geometry/libs/geometry/test/algorithms/intersection.cpp 2010-09-04 11:28:27 EDT (Sat, 04 Sep 2010)
@@ -27,7 +27,7 @@
     typedef boost::geometry::linestring<P> linestring;
     typedef boost::geometry::polygon<P> polygon;
     typedef boost::geometry::box<P> box;
- typedef test::custom_segment_of<P> segment;
+ typedef boost::geometry::model::segment<P> segment;
 
     std::string clip = "box(2 2,8 8)";
 
@@ -184,6 +184,15 @@
         intersect_exterior_and_interiors_winded[0], intersect_exterior_and_interiors_winded[1],
         1, 14, 25.2166667);
 
+ // linear
+ test_one<P, linestring, linestring>("llp1", "LINESTRING(0 0,1 1)", "LINESTRING(0 1,1 0)", 1, 1, 0);
+ test_one<P, segment, segment>("ssp1", "LINESTRING(0 0,1 1)", "LINESTRING(0 1,1 0)", 1, 1, 0);
+ test_one<P, linestring, linestring>("llp2", "LINESTRING(0 0,1 1)", "LINESTRING(0 0,2 2)", 2, 2, 0);
+
+ // polygons outputing points
+ //test_one<P, polygon, polygon>("ppp1", simplex_normal[0], simplex_normal[1], 1, 7, 5.47363293);
+
+
     return;
 
 

Deleted: sandbox/geometry/libs/geometry/test/algorithms/overlay/merge_intersection_points.cpp
==============================================================================
--- sandbox/geometry/libs/geometry/test/algorithms/overlay/merge_intersection_points.cpp 2010-09-04 11:28:27 EDT (Sat, 04 Sep 2010)
+++ (empty file)
@@ -1 +0,0 @@
-// obsolete
\ No newline at end of file


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