diff --git a/doc/doxy/Doxyfile b/doc/doxy/Doxyfile index a6d75c2e1..3bdde3002 100644 --- a/doc/doxy/Doxyfile +++ b/doc/doxy/Doxyfile @@ -69,6 +69,7 @@ ALIASES = qbk{1}="\xmlonly \1 \endxmlonly" \ tparam_second_point="second point type" \ tparam_segment_point="segment point type" \ tparam_strategy{1}="Any type fulfilling a \1 Strategy Concept" \ + tparam_strategy_overlay="Compound strategy for segment intersection" \ param_box="A model of the specified Box Concept" \ param_box_or_segment="A box modelling the specified Box Concept or segment modelling the specified Segment Concept" \ param_geometry="A model of the specified concept" \ diff --git a/doc/reference/append.qbk b/doc/generated/append.qbk similarity index 100% rename from doc/reference/append.qbk rename to doc/generated/append.qbk diff --git a/doc/reference/area.qbk b/doc/generated/area.qbk similarity index 100% rename from doc/reference/area.qbk rename to doc/generated/area.qbk diff --git a/doc/reference/area_huiller.qbk b/doc/generated/area_huiller.qbk similarity index 100% rename from doc/reference/area_huiller.qbk rename to doc/generated/area_huiller.qbk diff --git a/doc/reference/area_surveyor.qbk b/doc/generated/area_surveyor.qbk similarity index 100% rename from doc/reference/area_surveyor.qbk rename to doc/generated/area_surveyor.qbk diff --git a/doc/reference/arithmetic.qbk b/doc/generated/arithmetic.qbk similarity index 100% rename from doc/reference/arithmetic.qbk rename to doc/generated/arithmetic.qbk diff --git a/doc/reference/assign.qbk b/doc/generated/assign.qbk similarity index 95% rename from doc/reference/assign.qbk rename to doc/generated/assign.qbk index 15119af86..35754dd7c 100644 --- a/doc/reference/assign.qbk +++ b/doc/generated/assign.qbk @@ -196,7 +196,7 @@ Or assign to a box inverse infinite [heading Description] -The assign_inverse function initialize a 2D or 3D box with large coordinates, the min corner is very large, the max corner is very small. This is a convenient starting point to collect the minimum bounding box of a geometry. +The assign\u005finverse function initialize a 2D or 3D box with large coordinates, the min corner is very large, the max corner is very small. This is a convenient starting point to collect the minimum bounding box of a geometry. [heading Synopsis] ``template @@ -223,7 +223,7 @@ Or [assign_inverse] [assign_inverse_output] [heading See also] -* [link geometry.reference.algorithms.make.make_inverse make] +* [link geometry.reference.algorithms.make.make_inverse make_inverse] [endsect] @@ -299,7 +299,7 @@ Or assign zero values to a box, point [heading Description] -The assign_zero function initializes a 2D or 3D point or box with coordinates of zero +The assign\u005fzero function initializes a 2D or 3D point or box with coordinates of zero [heading Synopsis] ``template diff --git a/doc/reference/box.qbk b/doc/generated/box.qbk similarity index 93% rename from doc/reference/box.qbk rename to doc/generated/box.qbk index 5d360b61d..1fe7c28a7 100644 --- a/doc/reference/box.qbk +++ b/doc/generated/box.qbk @@ -18,7 +18,7 @@ Class box: defines a box made of two describing points. [heading Description] -Box is always described by a min_corner() and a max_corner() point. If another rectangle is used, use linear_ring or polygon. +Box is always described by a min\u005fcorner() and a max\u005fcorner() point. If another rectangle is used, use linear\u005fring or polygon. [heading Synopsis] ``template diff --git a/doc/reference/box_iterator.qbk b/doc/generated/box_iterator.qbk similarity index 100% rename from doc/reference/box_iterator.qbk rename to doc/generated/box_iterator.qbk diff --git a/doc/reference/box_range.qbk b/doc/generated/box_range.qbk similarity index 100% rename from doc/reference/box_range.qbk rename to doc/generated/box_range.qbk diff --git a/doc/reference/buffer.qbk b/doc/generated/buffer.qbk similarity index 90% rename from doc/reference/buffer.qbk rename to doc/generated/buffer.qbk index 4e91b81d7..b314e0fef 100644 --- a/doc/reference/buffer.qbk +++ b/doc/generated/buffer.qbk @@ -54,7 +54,7 @@ Or 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.. +The free function make\u005fbuffer 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\u005f prefix returns the buffer, and a template parameter must therefore be specified in the call.. [heading Synopsis] ``template diff --git a/doc/reference/cartesian.qbk b/doc/generated/cartesian.qbk similarity index 100% rename from doc/reference/cartesian.qbk rename to doc/generated/cartesian.qbk diff --git a/doc/reference/centroid.qbk b/doc/generated/centroid.qbk similarity index 89% rename from doc/reference/centroid.qbk rename to doc/generated/centroid.qbk index f12050c7c..63dd52063 100644 --- a/doc/reference/centroid.qbk +++ b/doc/generated/centroid.qbk @@ -89,7 +89,7 @@ Or 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. This version with the make_ prefix returns the centroid, and a template parameter must therefore be specified in the call.. 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. +The free function centroid calculates the geometric center (or: center of mass) of a geometry. This version with the make\u005f prefix returns the centroid, and a template parameter must therefore be specified in the call.. 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. [heading Synopsis] ``template @@ -129,7 +129,7 @@ Or 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.. +The free function centroid calculates the geometric center (or: center of mass) of a geometry. This version with the make\u005f prefix returns the centroid, and a template parameter must therefore be specified in the call.. [heading Synopsis] ``template diff --git a/doc/reference/centroid_average.qbk b/doc/generated/centroid_average.qbk similarity index 100% rename from doc/reference/centroid_average.qbk rename to doc/generated/centroid_average.qbk diff --git a/doc/reference/centroid_bashein_detmer.qbk b/doc/generated/centroid_bashein_detmer.qbk similarity index 100% rename from doc/reference/centroid_bashein_detmer.qbk rename to doc/generated/centroid_bashein_detmer.qbk diff --git a/doc/reference/centroid_exception.qbk b/doc/generated/centroid_exception.qbk similarity index 85% rename from doc/reference/centroid_exception.qbk rename to doc/generated/centroid_exception.qbk index 50535b5e1..6446f9c33 100644 --- a/doc/reference/centroid_exception.qbk +++ b/doc/generated/centroid_exception.qbk @@ -18,7 +18,7 @@ Centroid Exception. [heading Description] -The centroid_exception is thrown if the free centroid function is called with geometries for which the centroid cannot be calculated. For example: a linestring without points, a polygon without points, an empty multi-geometry. +The centroid\u005fexception is thrown if the free centroid function is called with geometries for which the centroid cannot be calculated. For example: a linestring without points, a polygon without points, an empty multi-geometry. [heading Synopsis] ``class centroid_exception diff --git a/doc/reference/circular_iterator.qbk b/doc/generated/circular_iterator.qbk similarity index 100% rename from doc/reference/circular_iterator.qbk rename to doc/generated/circular_iterator.qbk diff --git a/doc/reference/clear.qbk b/doc/generated/clear.qbk similarity index 100% rename from doc/reference/clear.qbk rename to doc/generated/clear.qbk diff --git a/doc/reference/closeable_view.qbk b/doc/generated/closeable_view.qbk similarity index 100% rename from doc/reference/closeable_view.qbk rename to doc/generated/closeable_view.qbk diff --git a/doc/reference/closing_iterator.qbk b/doc/generated/closing_iterator.qbk similarity index 100% rename from doc/reference/closing_iterator.qbk rename to doc/generated/closing_iterator.qbk diff --git a/doc/reference/closure.qbk b/doc/generated/closure.qbk similarity index 100% rename from doc/reference/closure.qbk rename to doc/generated/closure.qbk diff --git a/doc/reference/combine.qbk b/doc/generated/combine.qbk similarity index 100% rename from doc/reference/combine.qbk rename to doc/generated/combine.qbk diff --git a/doc/reference/convert.qbk b/doc/generated/convert.qbk similarity index 100% rename from doc/reference/convert.qbk rename to doc/generated/convert.qbk diff --git a/doc/reference/convex_hull.qbk b/doc/generated/convex_hull.qbk similarity index 96% rename from doc/reference/convex_hull.qbk rename to doc/generated/convex_hull.qbk index a150576fa..72ad6d0d2 100644 --- a/doc/reference/convex_hull.qbk +++ b/doc/generated/convex_hull.qbk @@ -18,7 +18,7 @@ Calculates the convex hull of a geometry. [heading Description] -The free function convex_hull calculates the convex hull of a geometry. +The free function convex\u005fhull calculates the convex hull of a geometry. [heading Synopsis] ``template diff --git a/doc/reference/convex_hull_graham_andrew.qbk b/doc/generated/convex_hull_graham_andrew.qbk similarity index 100% rename from doc/reference/convex_hull_graham_andrew.qbk rename to doc/generated/convex_hull_graham_andrew.qbk diff --git a/doc/reference/coordinate_system.qbk b/doc/generated/coordinate_system.qbk similarity index 100% rename from doc/reference/coordinate_system.qbk rename to doc/generated/coordinate_system.qbk diff --git a/doc/reference/coordinate_type.qbk b/doc/generated/coordinate_type.qbk similarity index 100% rename from doc/reference/coordinate_type.qbk rename to doc/generated/coordinate_type.qbk diff --git a/doc/reference/correct.qbk b/doc/generated/correct.qbk similarity index 100% rename from doc/reference/correct.qbk rename to doc/generated/correct.qbk diff --git a/doc/reference/cs_tag.qbk b/doc/generated/cs_tag.qbk similarity index 100% rename from doc/reference/cs_tag.qbk rename to doc/generated/cs_tag.qbk diff --git a/doc/generated/difference.qbk b/doc/generated/difference.qbk new file mode 100644 index 000000000..2a62cd311 --- /dev/null +++ b/doc/generated/difference.qbk @@ -0,0 +1,134 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + +[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically] +[/ Generated from doxy/doxygen_output/xml/group__difference.xml] +[section:difference difference] + + + +[heading Description] +Calculate the difference of two geometries + +The free function difference calculates the spatial set theoretic difference of two geometries. + +[heading Synopsis] +``template +void difference(Geometry1 const & geometry1, Geometry2 const & geometry2, Collection & output_collection)`` + +[heading Parameters] + +[table +[[Type] [Concept] [Name] [Description] ] +[[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 / std::deque etc ] [output_collection] [the output collection]] +] + + +[heading Header] +Either + +`#include ` + +Or + +`#include ` + +[include ref/algorithms/difference.qbk] + + +[endsect] + +[section:difference_inserter_3 difference_inserter] + + + +[heading Description] +Calculate the difference of two geometries + +The free function difference\u005finserter calculates the spatial set theoretic difference of two geometries. details\u005finserter{difference} + +[heading Synopsis] +``template +OutputIterator difference_inserter(Geometry1 const & geometry1, Geometry2 const & geometry2, OutputIterator out)`` + +[heading Parameters] + +[table +[[Type] [Concept] [Name] [Description] ] +[[GeometryOut] [output geometry type, must be specified ] [ - ] [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] [output iterator ] [out] [The output iterator, to which difference geometries are feeded ]] +] + + +[heading Returns] +The output iterator + +[heading Header] +Either + +`#include ` + +Or + +`#include ` + +[heading Example] +[difference_inserter] [difference_inserter_output] + + +[endsect] + +[section:difference_inserter_4_with_strategy difference_inserter (with strategy)] + + + +[heading Description] +Calculate the difference of two geometries using the specified strategy + +The free function difference\u005finserter calculates the spatial set theoretic difference of two geometries using the specified strategy. details\u005finserter{difference} + +[heading Synopsis] +``template +OutputIterator difference_inserter(Geometry1 const & geometry1, Geometry2 const & geometry2, OutputIterator out, Strategy const & strategy)`` + +[heading Parameters] + +[table +[[Type] [Concept] [Name] [Description] ] +[[GeometryOut] [output geometry type, must be specified ] [ - ] [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] [output iterator ] [out] [The output iterator, to which difference geometries are feeded ]] +[[Strategy const &] [Compound strategy for segment intersection ] [strategy] [The strategy which will be used for difference calculations ]] +] + + +[heading Returns] +The output iterator + +[heading Header] +Either + +`#include ` + +Or + +`#include ` + + +[endsect] + diff --git a/doc/reference/dimension.qbk b/doc/generated/dimension.qbk similarity index 100% rename from doc/reference/dimension.qbk rename to doc/generated/dimension.qbk diff --git a/doc/reference/disjoint.qbk b/doc/generated/disjoint.qbk similarity index 100% rename from doc/reference/disjoint.qbk rename to doc/generated/disjoint.qbk diff --git a/doc/reference/distance.qbk b/doc/generated/distance.qbk similarity index 100% rename from doc/reference/distance.qbk rename to doc/generated/distance.qbk diff --git a/doc/reference/distance_cross_track.qbk b/doc/generated/distance_cross_track.qbk similarity index 100% rename from doc/reference/distance_cross_track.qbk rename to doc/generated/distance_cross_track.qbk diff --git a/doc/reference/distance_haversine.qbk b/doc/generated/distance_haversine.qbk similarity index 98% rename from doc/reference/distance_haversine.qbk rename to doc/generated/distance_haversine.qbk index 58045d71e..140565c39 100644 --- a/doc/reference/distance_haversine.qbk +++ b/doc/generated/distance_haversine.qbk @@ -28,7 +28,7 @@ class strategy::distance::haversine [heading Template parameter(s)] [table [[Parameter] [Default] [Description]] -[[typename Point1] [] [first point type ]] +[[typename Point1] [] [point type ]] [[typename Point2] [Point1] [second point type ]] [[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point ]] ] diff --git a/doc/reference/distance_projected_point.qbk b/doc/generated/distance_projected_point.qbk similarity index 97% rename from doc/reference/distance_projected_point.qbk rename to doc/generated/distance_projected_point.qbk index ba19ce735..5a74f0152 100644 --- a/doc/reference/distance_projected_point.qbk +++ b/doc/generated/distance_projected_point.qbk @@ -31,7 +31,7 @@ class strategy::distance::projected_point [heading Template parameter(s)] [table [[Parameter] [Default] [Description]] -[[typename Point] [] [point type ]] +[[typename Point] [] [Any type fulfilling a Point Concept ]] [[typename PointOfSegment] [Point] [segment point type ]] [[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point ]] [[typename Strategy] [pythagoras] [underlying point-point distance strategy ]] diff --git a/doc/reference/distance_pythagoras.qbk b/doc/generated/distance_pythagoras.qbk similarity index 97% rename from doc/reference/distance_pythagoras.qbk rename to doc/generated/distance_pythagoras.qbk index 3789167e3..eff665aeb 100644 --- a/doc/reference/distance_pythagoras.qbk +++ b/doc/generated/distance_pythagoras.qbk @@ -28,7 +28,7 @@ class strategy::distance::pythagoras [heading Template parameter(s)] [table [[Parameter] [Default] [Description]] -[[typename Point1] [] [first point type ]] +[[typename Point1] [] [point type ]] [[typename Point2] [Point1] [second point type ]] [[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point]] ] diff --git a/doc/reference/enum.qbk b/doc/generated/enum.qbk similarity index 72% rename from doc/reference/enum.qbk rename to doc/generated/enum.qbk index 2e51c0fbc..665591297 100644 --- a/doc/reference/enum.qbk +++ b/doc/generated/enum.qbk @@ -18,7 +18,7 @@ Enumerates options for defining if polygons are open or closed. [heading Description] -The enumeration closure_selector describes options for if a polygon is open or closed. In a closed polygon the very first point (per ring) should be equal to the very last point. The specific closing property of a polygon type is defined by the closure metafunction. The closure metafunction defines a value, which is one of the values enumerated in the closure_selector +The enumeration closure\u005fselector describes options for if a polygon is open or closed. In a closed polygon the very first point (per ring) should be equal to the very last point. The specific closing property of a polygon type is defined by the closure metafunction. The closure metafunction defines a value, which is one of the values enumerated in the closure\u005fselector [heading Synopsis] ``enum closure_selector {open = 0, closed = 1, closure_undertermined = -1};`` @@ -47,7 +47,7 @@ The enumeration closure_selector describes options for if a polygon is open or c Enumerates options for the order of points within polygons. [heading Description] -The enumeration order_selector describes options for the order of points within a polygon. Polygons can be ordered either clockwise or counterclockwise. The specific order of a polygon type is defined by the point_order metafunction. The point_order metafunction defines a value, which is one of the values enumerated in the order_selector +The enumeration order\u005fselector describes options for the order of points within a polygon. Polygons can be ordered either clockwise or counterclockwise. The specific order of a polygon type is defined by the point\u005forder metafunction. The point\u005forder metafunction defines a value, which is one of the values enumerated in the order\u005fselector [heading Synopsis] ``enum order_selector {clockwise = 1, counterclockwise = 2, order_undetermined = 0};`` diff --git a/doc/reference/envelope.qbk b/doc/generated/envelope.qbk similarity index 83% rename from doc/reference/envelope.qbk rename to doc/generated/envelope.qbk index 78d3eecde..d8c18ec18 100644 --- a/doc/reference/envelope.qbk +++ b/doc/generated/envelope.qbk @@ -42,6 +42,9 @@ Or `#include ` +[heading Example] +[envelope] [envelope_output] + [endsect] @@ -50,7 +53,7 @@ Or Calculates the 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. +The free function make\u005fenvelope calculates the envelope (also known as axis aligned bounding box, aabb, or minimum bounding rectangle, mbr) of a geometry. This version with the make\u005f prefix returns the envelope, and a template parameter must therefore be specified in the call. [heading Synopsis] ``template @@ -66,7 +69,7 @@ Box make_envelope(Geometry const & geometry)`` [heading Returns] -The calculated envelope +The calculated envelope [heading Header] Either @@ -77,6 +80,9 @@ Or `#include ` +[heading Example] +[make_envelope] [make_envelope_output] + [endsect] diff --git a/doc/reference/equals.qbk b/doc/generated/equals.qbk similarity index 100% rename from doc/reference/equals.qbk rename to doc/generated/equals.qbk diff --git a/doc/reference/ever_circling_iterator.qbk b/doc/generated/ever_circling_iterator.qbk similarity index 100% rename from doc/reference/ever_circling_iterator.qbk rename to doc/generated/ever_circling_iterator.qbk diff --git a/doc/reference/exception.qbk b/doc/generated/exception.qbk similarity index 100% rename from doc/reference/exception.qbk rename to doc/generated/exception.qbk diff --git a/doc/reference/exterior_ring.qbk b/doc/generated/exterior_ring.qbk similarity index 97% rename from doc/reference/exterior_ring.qbk rename to doc/generated/exterior_ring.qbk index 76c376676..53ba7bd44 100644 --- a/doc/reference/exterior_ring.qbk +++ b/doc/generated/exterior_ring.qbk @@ -46,7 +46,7 @@ Or [section:exterior_ring_1 exterior_ring] -Function to get the exterior_ring ring of a polygon. +Function to get the exterior\u005fring ring of a polygon. [heading Synopsis] ``template diff --git a/doc/reference/for_each.qbk b/doc/generated/for_each.qbk similarity index 100% rename from doc/reference/for_each.qbk rename to doc/generated/for_each.qbk diff --git a/doc/reference/geographic.qbk b/doc/generated/geographic.qbk similarity index 100% rename from doc/reference/geographic.qbk rename to doc/generated/geographic.qbk diff --git a/doc/reference/geometry_id.qbk b/doc/generated/geometry_id.qbk similarity index 100% rename from doc/reference/geometry_id.qbk rename to doc/generated/geometry_id.qbk diff --git a/doc/reference/get.qbk b/doc/generated/get.qbk similarity index 100% rename from doc/reference/get.qbk rename to doc/generated/get.qbk diff --git a/doc/reference/identity_view.qbk b/doc/generated/identity_view.qbk similarity index 100% rename from doc/reference/identity_view.qbk rename to doc/generated/identity_view.qbk diff --git a/doc/reference/interior_rings.qbk b/doc/generated/interior_rings.qbk similarity index 100% rename from doc/reference/interior_rings.qbk rename to doc/generated/interior_rings.qbk diff --git a/doc/reference/interior_type.qbk b/doc/generated/interior_type.qbk similarity index 100% rename from doc/reference/interior_type.qbk rename to doc/generated/interior_type.qbk diff --git a/doc/reference/intersection.qbk b/doc/generated/intersection.qbk similarity index 85% rename from doc/reference/intersection.qbk rename to doc/generated/intersection.qbk index 69747ddb6..2a43122dc 100644 --- a/doc/reference/intersection.qbk +++ b/doc/generated/intersection.qbk @@ -53,7 +53,7 @@ Or Calculate the intersection of two geometries. [heading Description] -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. +The free function intersection\u005finserter calculates the spatial set theoretic intersection of two geometries. This version with the \u005finserter suffix outputs the intersection to an output iterator, and a template parameter must therefore be specified in the call. [heading Synopsis] ``template @@ -86,7 +86,7 @@ The output iterator Calculate the intersection of two geometries using the specified strategy. [heading Description] -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. +The free function intersection\u005finserter calculates the spatial set theoretic intersection of two geometries using the specified strategy. This version with the \u005finserter suffix outputs the intersection to an output iterator, and a template parameter must therefore be specified in the call. [heading Synopsis] ``template @@ -100,7 +100,7 @@ OutputIterator intersection_inserter(Geometry1 const & geometry1, Geometry2 cons [[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 ]] +[[Strategy const &] [Compound strategy for segment intersection ] [strategy] [The strategy which will be used for intersection calculations ]] ] diff --git a/doc/reference/intersects.qbk b/doc/generated/intersects.qbk similarity index 100% rename from doc/reference/intersects.qbk rename to doc/generated/intersects.qbk diff --git a/doc/reference/is_radian.qbk b/doc/generated/is_radian.qbk similarity index 100% rename from doc/reference/is_radian.qbk rename to doc/generated/is_radian.qbk diff --git a/doc/reference/length.qbk b/doc/generated/length.qbk similarity index 100% rename from doc/reference/length.qbk rename to doc/generated/length.qbk diff --git a/doc/reference/linestring.qbk b/doc/generated/linestring.qbk similarity index 100% rename from doc/reference/linestring.qbk rename to doc/generated/linestring.qbk diff --git a/doc/reference/make.qbk b/doc/generated/make.qbk similarity index 93% rename from doc/reference/make.qbk rename to doc/generated/make.qbk index c4d9d4887..0b3a439e5 100644 --- a/doc/reference/make.qbk +++ b/doc/generated/make.qbk @@ -135,7 +135,7 @@ Or Construct a box with inverse infinite coordinates. [heading Description] -The make_inverse function initializes a 2D or 3D box with large coordinates, the min corner is very large, the max corner is very small. This is useful e.g. in combination with the combine function, to determine the bounding box of a series of geometries. +The make\u005finverse function initializes a 2D or 3D box with large coordinates, the min corner is very large, the max corner is very small. This is useful e.g. in combination with the combine function, to determine the bounding box of a series of geometries. [heading Synopsis] ``template @@ -165,7 +165,7 @@ Or [make_inverse] [make_inverse_output] [heading See also] -* [link geometry.reference.algorithms.assign.assign_inverse assign] +* [link geometry.reference.algorithms.assign.assign_inverse assign_inverse] [endsect] @@ -175,7 +175,7 @@ Or Construct a geometry with its coordinates initialized to zero. [heading Description] -The make_zero function initializes a 2D or 3D point or box with coordinates of zero +The make\u005fzero function initializes a 2D or 3D point or box with coordinates of zero [heading Synopsis] ``template diff --git a/doc/reference/multi_linestring.qbk b/doc/generated/multi_linestring.qbk similarity index 100% rename from doc/reference/multi_linestring.qbk rename to doc/generated/multi_linestring.qbk diff --git a/doc/reference/multi_point.qbk b/doc/generated/multi_point.qbk similarity index 100% rename from doc/reference/multi_point.qbk rename to doc/generated/multi_point.qbk diff --git a/doc/reference/multi_polygon.qbk b/doc/generated/multi_polygon.qbk similarity index 100% rename from doc/reference/multi_polygon.qbk rename to doc/generated/multi_polygon.qbk diff --git a/doc/reference/num_geometries.qbk b/doc/generated/num_geometries.qbk similarity index 93% rename from doc/reference/num_geometries.qbk rename to doc/generated/num_geometries.qbk index 2341af91c..747705e6f 100644 --- a/doc/reference/num_geometries.qbk +++ b/doc/generated/num_geometries.qbk @@ -18,7 +18,7 @@ Calculates the number of geometries of a geometry. [heading Description] -The free function num_geometries calculates the number of geometries of a geometry. +The free function num\u005fgeometries calculates the number of geometries of a geometry. [heading Synopsis] ``template diff --git a/doc/reference/num_interior_rings.qbk b/doc/generated/num_interior_rings.qbk similarity index 93% rename from doc/reference/num_interior_rings.qbk rename to doc/generated/num_interior_rings.qbk index a9c7e4a8c..df21cb9b1 100644 --- a/doc/reference/num_interior_rings.qbk +++ b/doc/generated/num_interior_rings.qbk @@ -18,7 +18,7 @@ Calculates the number of interior rings of a geometry. [heading Description] -The free function num_interior_rings calculates the number of interior rings of a geometry. +The free function num\u005finterior\u005frings calculates the number of interior rings of a geometry. [heading Synopsis] ``template diff --git a/doc/reference/num_points.qbk b/doc/generated/num_points.qbk similarity index 94% rename from doc/reference/num_points.qbk rename to doc/generated/num_points.qbk index 8d312b22b..c616eb87e 100644 --- a/doc/reference/num_points.qbk +++ b/doc/generated/num_points.qbk @@ -18,7 +18,7 @@ Calculates the number of points of a geometry. [heading Description] -The free function num_points calculates the number of points of a geometry. +The free function num\u005fpoints calculates the number of points of a geometry. [heading Synopsis] ``template diff --git a/doc/reference/overlaps.qbk b/doc/generated/overlaps.qbk similarity index 100% rename from doc/reference/overlaps.qbk rename to doc/generated/overlaps.qbk diff --git a/doc/reference/perimeter.qbk b/doc/generated/perimeter.qbk similarity index 100% rename from doc/reference/perimeter.qbk rename to doc/generated/perimeter.qbk diff --git a/doc/reference/point.qbk b/doc/generated/point.qbk similarity index 100% rename from doc/reference/point.qbk rename to doc/generated/point.qbk diff --git a/doc/reference/point_order.qbk b/doc/generated/point_order.qbk similarity index 100% rename from doc/reference/point_order.qbk rename to doc/generated/point_order.qbk diff --git a/doc/reference/point_type.qbk b/doc/generated/point_type.qbk similarity index 100% rename from doc/reference/point_type.qbk rename to doc/generated/point_type.qbk diff --git a/doc/reference/point_xy.qbk b/doc/generated/point_xy.qbk similarity index 100% rename from doc/reference/point_xy.qbk rename to doc/generated/point_xy.qbk diff --git a/doc/reference/polar.qbk b/doc/generated/polar.qbk similarity index 100% rename from doc/reference/polar.qbk rename to doc/generated/polar.qbk diff --git a/doc/reference/polygon.qbk b/doc/generated/polygon.qbk similarity index 100% rename from doc/reference/polygon.qbk rename to doc/generated/polygon.qbk diff --git a/doc/reference/referring_segment.qbk b/doc/generated/referring_segment.qbk similarity index 100% rename from doc/reference/referring_segment.qbk rename to doc/generated/referring_segment.qbk diff --git a/doc/reference/register.qbk b/doc/generated/register.qbk similarity index 74% rename from doc/reference/register.qbk rename to doc/generated/register.qbk index 195bc5f35..c64237789 100644 --- a/doc/reference/register.qbk +++ b/doc/generated/register.qbk @@ -18,7 +18,7 @@ Macro to register a 2D point type. [heading Description] -The macro BOOST_GEOMETRY_REGISTER_POINT_2D registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type +The macro BOOST\u005fGEOMETRY\u005fREGISTER\u005fPOINT\u005f2D registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type [heading Synopsis] ``#define BOOST_GEOMETRY_REGISTER_POINT_2D(Point, CoordinateType, CoordinateSystem, Field0, Field1)`` @@ -48,7 +48,7 @@ The macro BOOST_GEOMETRY_REGISTER_POINT_2D registers a two-dimensional point typ Macro to register a 2D point type (const version). [heading Description] -The macro BOOST_GEOMETRY_REGISTER_POINT_2D_CONST registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type. The const version registers only read access to the fields, the point type is therefore read-only +The macro BOOST\u005fGEOMETRY\u005fREGISTER\u005fPOINT\u005f2D\u005fCONST registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type. The const version registers only read access to the fields, the point type is therefore read-only [heading Synopsis] ``#define BOOST_GEOMETRY_REGISTER_POINT_2D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1)`` @@ -76,7 +76,7 @@ The macro BOOST_GEOMETRY_REGISTER_POINT_2D_CONST registers a two-dimensional poi Macro to register a 2D point type (having separate get/set methods). [heading Description] -The macro BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type. The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates +The macro BOOST\u005fGEOMETRY\u005fREGISTER\u005fPOINT\u005f2D\u005fGET\u005fSET registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type. The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates [heading Synopsis] ``#define BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Set0, Set1)`` @@ -106,7 +106,7 @@ The macro BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET registers a two-dimensional p Macro to register a 3D point type. [heading Description] -The macro BOOST_GEOMETRY_REGISTER_POINT_3D registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type +The macro BOOST\u005fGEOMETRY\u005fREGISTER\u005fPOINT\u005f3D registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type [heading Synopsis] ``#define BOOST_GEOMETRY_REGISTER_POINT_3D(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2)`` @@ -135,7 +135,7 @@ The macro BOOST_GEOMETRY_REGISTER_POINT_3D registers a three-dimensional point t Macro to register a 3D point type (const version). [heading Description] -The macro BOOST_GEOMETRY_REGISTER_POINT_3D_CONST registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type. The const version registers only read access to the fields, the point type is therefore read-only +The macro BOOST\u005fGEOMETRY\u005fREGISTER\u005fPOINT\u005f3D\u005fCONST registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type. The const version registers only read access to the fields, the point type is therefore read-only [heading Synopsis] ``#define BOOST_GEOMETRY_REGISTER_POINT_3D_CONST(Point, CoordinateType, CoordinateSystem, Field0, Field1, Field2)`` @@ -164,7 +164,7 @@ The macro BOOST_GEOMETRY_REGISTER_POINT_3D_CONST registers a three-dimensional p Macro to register a 3D point type (having separate get/set methods). [heading Description] -The macro BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type. The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates +The macro BOOST\u005fGEOMETRY\u005fREGISTER\u005fPOINT\u005f3D\u005fGET\u005fSET registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified point type. The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates [heading Synopsis] ``#define BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET(Point, CoordinateType, CoordinateSystem, Get0, Get1, Get2, Set0, Set1, Set2)`` diff --git a/doc/reference/reverse.qbk b/doc/generated/reverse.qbk similarity index 100% rename from doc/reference/reverse.qbk rename to doc/generated/reverse.qbk diff --git a/doc/reference/reversible_view.qbk b/doc/generated/reversible_view.qbk similarity index 100% rename from doc/reference/reversible_view.qbk rename to doc/generated/reversible_view.qbk diff --git a/doc/reference/ring.qbk b/doc/generated/ring.qbk similarity index 100% rename from doc/reference/ring.qbk rename to doc/generated/ring.qbk diff --git a/doc/reference/ring_type.qbk b/doc/generated/ring_type.qbk similarity index 100% rename from doc/reference/ring_type.qbk rename to doc/generated/ring_type.qbk diff --git a/doc/reference/segment.qbk b/doc/generated/segment.qbk similarity index 100% rename from doc/reference/segment.qbk rename to doc/generated/segment.qbk diff --git a/doc/reference/segment_range.qbk b/doc/generated/segment_range.qbk similarity index 100% rename from doc/reference/segment_range.qbk rename to doc/generated/segment_range.qbk diff --git a/doc/reference/segment_range_iterator.qbk b/doc/generated/segment_range_iterator.qbk similarity index 100% rename from doc/reference/segment_range_iterator.qbk rename to doc/generated/segment_range_iterator.qbk diff --git a/doc/reference/set.qbk b/doc/generated/set.qbk similarity index 100% rename from doc/reference/set.qbk rename to doc/generated/set.qbk diff --git a/doc/reference/side_side_by_cross_track.qbk b/doc/generated/side_side_by_cross_track.qbk similarity index 100% rename from doc/reference/side_side_by_cross_track.qbk rename to doc/generated/side_side_by_cross_track.qbk diff --git a/doc/reference/side_side_by_triangle.qbk b/doc/generated/side_side_by_triangle.qbk similarity index 100% rename from doc/reference/side_side_by_triangle.qbk rename to doc/generated/side_side_by_triangle.qbk diff --git a/doc/reference/simplify.qbk b/doc/generated/simplify.qbk similarity index 100% rename from doc/reference/simplify.qbk rename to doc/generated/simplify.qbk diff --git a/doc/reference/simplify_douglas_peucker.qbk b/doc/generated/simplify_douglas_peucker.qbk similarity index 90% rename from doc/reference/simplify_douglas_peucker.qbk rename to doc/generated/simplify_douglas_peucker.qbk index cdd20fd77..13041f3ee 100644 --- a/doc/reference/simplify_douglas_peucker.qbk +++ b/doc/generated/simplify_douglas_peucker.qbk @@ -18,7 +18,7 @@ Implements the simplify algorithm. [heading Description] -The douglas_peucker strategy simplifies a linestring, ring or vector of points using the well-known Douglas-Peucker algorithm. For the algorithm, see for example: +The douglas\u005fpeucker strategy simplifies a linestring, ring or vector of points using the well-known Douglas-Peucker algorithm. For the algorithm, see for example: [heading Synopsis] ``template diff --git a/doc/reference/spherical.qbk b/doc/generated/spherical.qbk similarity index 100% rename from doc/reference/spherical.qbk rename to doc/generated/spherical.qbk diff --git a/doc/generated/sym_difference.qbk b/doc/generated/sym_difference.qbk new file mode 100644 index 000000000..dc81ea172 --- /dev/null +++ b/doc/generated/sym_difference.qbk @@ -0,0 +1,125 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + +[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically] +[/ Generated from doxy/doxygen_output/xml/group__sym__difference.xml] +[section:sym_difference sym_difference] + +Calculate the symmetric difference of two geometries. + +[heading Description] +The free function symmetric difference calculates the spatial set theoretic symmetric difference (XOR) of two geometries. + +[heading Synopsis] +``template +void sym_difference(Geometry1 const & geometry1, Geometry2 const & geometry2, Collection & output_collection)`` + +[heading Parameters] + +[table +[[Type] [Concept] [Name] [Description] ] +[[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 / std::deque etc ] [output_collection] [the output collection]] +] + + +[heading Header] +Either + +`#include ` + +Or + +`#include ` + +[include ref/algorithms/sym_difference.qbk] + + +[endsect] + +[section:sym_difference_inserter_3 sym_difference_inserter] + +Calculate the symmetric difference of two geometries. + +[heading Description] +The free function symmetric difference calculates the spatial set theoretic symmetric difference (XOR) of two geometries This version with the \u005finserter suffix outputs the sym\u005fdifference to an output iterator, and a template parameter must therefore be specified in the call. + +[heading Synopsis] +``template +OutputIterator sym_difference_inserter(Geometry1 const & geometry1, Geometry2 const & geometry2, OutputIterator out)`` + +[heading Parameters] + +[table +[[Type] [Concept] [Name] [Description] ] +[[GeometryOut] [output geometry type, must be specified ] [ - ] [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] [] [out] [The output iterator, to which difference geometries are feeded ]] +] + + +[heading Returns] +The output iterator + +[heading Header] +Either + +`#include ` + +Or + +`#include ` + + +[endsect] + +[section:sym_difference_inserter_4_with_strategy sym_difference_inserter (with strategy)] + +Calculate the symmetric difference of two geometries using the specified strategy. + +[heading Description] +The free function symmetric difference calculates the spatial set theoretic symmetric difference (XOR) of two geometries using the specified strategy. details\u005finserter{sym\u005fdifference} + +[heading Synopsis] +``template +OutputIterator sym_difference_inserter(Geometry1 const & geometry1, Geometry2 const & geometry2, OutputIterator out, Strategy const & strategy)`` + +[heading Parameters] + +[table +[[Type] [Concept] [Name] [Description] ] +[[GeometryOut] [output geometry type, must be specified ] [ - ] [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] [] [out] [The output iterator, to which difference geometries are feeded ]] +[[Strategy const &] [Compound strategy for segment intersection ] [strategy] [The strategy which will be used for difference calculations ]] +] + + +[heading Returns] +The output iterator + +[heading Header] +Either + +`#include ` + +Or + +`#include ` + + +[endsect] + diff --git a/doc/reference/tag.qbk b/doc/generated/tag.qbk similarity index 100% rename from doc/reference/tag.qbk rename to doc/generated/tag.qbk diff --git a/doc/reference/topological_dimension.qbk b/doc/generated/topological_dimension.qbk similarity index 100% rename from doc/reference/topological_dimension.qbk rename to doc/generated/topological_dimension.qbk diff --git a/doc/reference/transform.qbk b/doc/generated/transform.qbk similarity index 100% rename from doc/reference/transform.qbk rename to doc/generated/transform.qbk diff --git a/doc/reference/transform_inverse_transformer.qbk b/doc/generated/transform_inverse_transformer.qbk similarity index 100% rename from doc/reference/transform_inverse_transformer.qbk rename to doc/generated/transform_inverse_transformer.qbk diff --git a/doc/reference/transform_map_transformer.qbk b/doc/generated/transform_map_transformer.qbk similarity index 100% rename from doc/reference/transform_map_transformer.qbk rename to doc/generated/transform_map_transformer.qbk diff --git a/doc/reference/transform_rotate_transformer.qbk b/doc/generated/transform_rotate_transformer.qbk similarity index 100% rename from doc/reference/transform_rotate_transformer.qbk rename to doc/generated/transform_rotate_transformer.qbk diff --git a/doc/reference/transform_scale_transformer.qbk b/doc/generated/transform_scale_transformer.qbk similarity index 100% rename from doc/reference/transform_scale_transformer.qbk rename to doc/generated/transform_scale_transformer.qbk diff --git a/doc/reference/transform_translate_transformer.qbk b/doc/generated/transform_translate_transformer.qbk similarity index 100% rename from doc/reference/transform_translate_transformer.qbk rename to doc/generated/transform_translate_transformer.qbk diff --git a/doc/reference/transform_ublas_transformer.qbk b/doc/generated/transform_ublas_transformer.qbk similarity index 100% rename from doc/reference/transform_ublas_transformer.qbk rename to doc/generated/transform_ublas_transformer.qbk diff --git a/doc/reference/union.qbk b/doc/generated/union.qbk similarity index 74% rename from doc/reference/union.qbk rename to doc/generated/union.qbk index a08f5fe37..3d3ae1ea2 100644 --- a/doc/reference/union.qbk +++ b/doc/generated/union.qbk @@ -17,6 +17,9 @@ Combines two geometries which each other. +[heading Description] +The free function union calculates the spatial set theoretic union of two geometries. + [heading Synopsis] ``template void union_(Geometry1 const & geometry1, Geometry2 const & geometry2, Collection & output_collection)`` @@ -47,7 +50,12 @@ Or [section:union_inserter_3 union_inserter] -Combines two geometries which each other. + + +[heading Description] +Calculate the union of two geometries + +The free function union\u005finserter calculates the spatial set theoretic union of two geometries. This version with the \u005finserter suffix outputs the union to an output iterator, and a template parameter must therefore be specified in the call. [heading Synopsis] ``template @@ -60,12 +68,12 @@ OutputIterator union_inserter(Geometry1 const & geometry1, Geometry2 const & geo [[GeometryOut] [output geometry type, must be specified ] [ - ] [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] [output iterator ] [out] [the output iterator, outputting polygons ]] +[[OutputIterator] [output iterator ] [out] [The output iterator, to which union geometries are feeded ]] ] [heading Returns] -the output iterator +The output iterator [heading Header] Either @@ -79,9 +87,14 @@ Or [endsect] -[section:union_inserter_4 union_inserter] +[section:union_inserter_4_with_strategy union_inserter (with strategy)] -Combines two geometries which each other. + + +[heading Description] +Calculate the union of two geometries using the specified strategy + +The free function union\u005finserter calculates the spatial set theoretic union of two geometries using the specified strategy. details\u005finserter{union} [heading Synopsis] ``template @@ -94,13 +107,13 @@ OutputIterator union_inserter(Geometry1 const & geometry1, Geometry2 const & geo [[GeometryOut] [output geometry type, must be specified ] [ - ] [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] [output iterator ] [out] [the output iterator, outputting polygons ]] -[[Strategy const &] [compound strategy for intersection ] [strategy] [the strategy ]] +[[OutputIterator] [output iterator ] [out] [The output iterator, to which union geometries are feeded ]] +[[Strategy const &] [Compound strategy for segment intersection ] [strategy] [The strategy which will be used for union calculations ]] ] [heading Returns] -the output iterator +The output iterator [heading Header] Either diff --git a/doc/reference/unique.qbk b/doc/generated/unique.qbk similarity index 100% rename from doc/reference/unique.qbk rename to doc/generated/unique.qbk diff --git a/doc/reference/within.qbk b/doc/generated/within.qbk similarity index 100% rename from doc/reference/within.qbk rename to doc/generated/within.qbk diff --git a/doc/reference/within_crossings_multiply.qbk b/doc/generated/within_crossings_multiply.qbk similarity index 96% rename from doc/reference/within_crossings_multiply.qbk rename to doc/generated/within_crossings_multiply.qbk index 4ac124b90..69d3e05a5 100644 --- a/doc/reference/within_crossings_multiply.qbk +++ b/doc/generated/within_crossings_multiply.qbk @@ -28,7 +28,7 @@ class strategy::within::crossings_multiply [heading Template parameter(s)] [table [[Parameter] [Default] [Description]] -[[typename Point] [] [point type ]] +[[typename Point] [] [Any type fulfilling a Point Concept ]] [[typename PointOfSegment] [Point] [segment point type ]] [[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point ]] ] diff --git a/doc/reference/within_franklin.qbk b/doc/generated/within_franklin.qbk similarity index 97% rename from doc/reference/within_franklin.qbk rename to doc/generated/within_franklin.qbk index 1d37dd7c1..2228fb4f7 100644 --- a/doc/reference/within_franklin.qbk +++ b/doc/generated/within_franklin.qbk @@ -28,7 +28,7 @@ class strategy::within::franklin [heading Template parameter(s)] [table [[Parameter] [Default] [Description]] -[[typename Point] [] [point type ]] +[[typename Point] [] [Any type fulfilling a Point Concept ]] [[typename PointOfSegment] [Point] [segment point type ]] [[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point ]] ] diff --git a/doc/reference/within_winding.qbk b/doc/generated/within_winding.qbk similarity index 97% rename from doc/reference/within_winding.qbk rename to doc/generated/within_winding.qbk index 72b20d06a..9c53d6ba0 100644 --- a/doc/reference/within_winding.qbk +++ b/doc/generated/within_winding.qbk @@ -28,7 +28,7 @@ class strategy::within::winding [heading Template parameter(s)] [table [[Parameter] [Default] [Description]] -[[typename Point] [] [point type ]] +[[typename Point] [] [Any type fulfilling a Point Concept ]] [[typename PointOfSegment] [Point] [segment point type ]] [[typename CalculationType] [void] [numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point ]] ] diff --git a/doc/geometry.qbk b/doc/geometry.qbk index 4415d1497..02d21ebc2 100644 --- a/doc/geometry.qbk +++ b/doc/geometry.qbk @@ -29,7 +29,6 @@ [def __0dim__ pointlike (e.g. point)] [def __1dim__ linear (e.g. linestring)] [def __2dim__ areal (e.g. polygon)] -[def DIM2 areal (e.g. polygon)] [def __single__ single (e.g. point, polygon)] [def __multi__ multiple (e.g. multi_point, multi_polygon)] [def __cart__ Cartesian] @@ -47,6 +46,7 @@ [def __multi_polygon__ Multi Polygon] [def __range__ Rangelike (linestring, ring)] [def __other__ Other geometries] +[def __nyiversion__ Not yet supported in this version] [/Parts] [def __ret_zero__ Returns zero] @@ -82,6 +82,8 @@ Simplify algorithm [link geometry.reference.algorithms.simplify.simplify_3 here] [import src/examples/algorithms/assign_point_to_index.cpp] [import src/examples/algorithms/assign_point_from_index.cpp] [import src/examples/algorithms/difference.cpp] +[import src/examples/algorithms/difference_inserter.cpp] +[import src/examples/algorithms/envelope.cpp] [import src/examples/algorithms/for_each_point.cpp] [import src/examples/algorithms/for_each_point_const.cpp] [import src/examples/algorithms/for_each_segment_const.cpp] @@ -89,6 +91,7 @@ Simplify algorithm [link geometry.reference.algorithms.simplify.simplify_3 here] [import src/examples/algorithms/length_with_strategy.cpp] [import src/examples/algorithms/make_2d_point.cpp] [import src/examples/algorithms/make_3d_point.cpp] +[import src/examples/algorithms/make_envelope.cpp] [import src/examples/algorithms/make_inverse.cpp] [import src/examples/algorithms/make_with_range.cpp] [import src/examples/algorithms/intersection_ls_ls_point.cpp] diff --git a/doc/make_qbk.py b/doc/make_qbk.py index dca33bf19..56d5029bb 100755 --- a/doc/make_qbk.py +++ b/doc/make_qbk.py @@ -19,7 +19,7 @@ cmd = cmd + " --convenience_header_path ../../../boost/geometry/" cmd = cmd + " --convenience_headers geometry.hpp,geometries/geometries.hpp,multi/multi.hpp" cmd = cmd + " --skip_namespace boost::geometry::" cmd = cmd + " --copyright src/copyright_block.qbk" -cmd = cmd + " > reference/%s.qbk" +cmd = cmd + " > generated/%s.qbk" def call_doxygen(): os.chdir("doxy"); @@ -70,7 +70,7 @@ coordinate_systems = ["cartesian", "geographic", "polar", "spherical"] core = ["closure", "coordinate_system", "coordinate_type", "cs_tag" , "dimension", "exception", "geometry_id", "interior_type" - , "is_areal", "is_linear", "is_multi", "is_radian", "point_order" + , "is_areal", "is_linear", "is_radian", "point_order" , "point_type", "ring_type", "tag", "topological_dimension" ] exceptions = ["exception", "centroid_exception"]; diff --git a/doc/readme.txt b/doc/readme.txt index ac980a7fa..dce7e74fb 100644 --- a/doc/readme.txt +++ b/doc/readme.txt @@ -26,5 +26,7 @@ html: contains generated HTML files other: older documentation (subject to update or deletion) ref: manually written documentation QBK files, included from .hpp files reference: generated documentation QBK files (by doxygen_xml2qbk) + [note: this book cannot be called "generated" or something like that, + because it is used in the final URL and we want to have "reference" in it] src: examples used in documentation and tools (doxygen_xml2qbk) diff --git a/doc/reference.qbk b/doc/reference.qbk index e53633121..988f1ea88 100644 --- a/doc/reference.qbk +++ b/doc/reference.qbk @@ -19,19 +19,19 @@ to have get/set first and then the rings] [section:get get] -[include reference/get.qbk] +[include generated/get.qbk] [endsect] [section:set set] -[include reference/set.qbk] +[include generated/set.qbk] [endsect] [section:exterior_ring exterior_ring] -[include reference/exterior_ring.qbk] +[include generated/exterior_ring.qbk] [endsect] [section:interior_rings interior_rings] -[include reference/interior_rings.qbk] +[include generated/interior_rings.qbk] [endsect] @@ -40,134 +40,134 @@ [section:register Adaption and adapted models] -[include reference/register.qbk] +[include generated/register.qbk] [endsect] [section:algorithms Algorithms] [section:area area] -[include reference/area.qbk] +[include generated/area.qbk] [endsect] [section:assign assign] -[include reference/assign.qbk] +[include generated/assign.qbk] [endsect] [section:append append] -[include reference/append.qbk] +[include generated/append.qbk] [endsect] [section:buffer buffer] -[include reference/buffer.qbk] +[include generated/buffer.qbk] [endsect] [section:centroid centroid] -[include reference/centroid.qbk] +[include generated/centroid.qbk] [endsect] [section:clear clear] -[include reference/clear.qbk] +[include generated/clear.qbk] [endsect] [section:combine combine] -[include reference/combine.qbk] +[include generated/combine.qbk] [endsect] [section:convert convert] -[include reference/convert.qbk] +[include generated/convert.qbk] [endsect] [section:convex_hull convex_hull] -[include reference/convex_hull.qbk] +[include generated/convex_hull.qbk] [endsect] -[include reference/correct.qbk] +[include generated/correct.qbk] [section:difference difference] -[include reference/difference.qbk] +[include generated/difference.qbk] [endsect] [section:disjoint disjoint] -[include reference/disjoint.qbk] +[include generated/disjoint.qbk] [endsect] [section:distance distance] -[include reference/distance.qbk] +[include generated/distance.qbk] [endsect] [section:envelope envelope] -[include reference/envelope.qbk] +[include generated/envelope.qbk] [endsect] [section:equals equals] -[include reference/equals.qbk] +[include generated/equals.qbk] [endsect] [section:for_each for_each] -[include reference/for_each.qbk] +[include generated/for_each.qbk] [endsect] [section:intersection intersection] -[include reference/intersection.qbk] +[include generated/intersection.qbk] [endsect] [section:intersects intersects] -[include reference/intersects.qbk] +[include generated/intersects.qbk] [endsect] [section:length length] -[include reference/length.qbk] +[include generated/length.qbk] [endsect] [section:make make] -[include reference/make.qbk] +[include generated/make.qbk] [endsect] -[include reference/num_geometries.qbk] -[include reference/num_interior_rings.qbk] -[include reference/num_points.qbk] +[include generated/num_geometries.qbk] +[include generated/num_interior_rings.qbk] +[include generated/num_points.qbk] [section:overlaps overlaps] -[include reference/overlaps.qbk] +[include generated/overlaps.qbk] [endsect] [section:perimeter perimeter] -[include reference/perimeter.qbk] +[include generated/perimeter.qbk] [endsect] -[include reference/reverse.qbk] +[include generated/reverse.qbk] [section:simplify simplify] -[include reference/simplify.qbk] +[include generated/simplify.qbk] [endsect] [section:sym_difference sym_difference] -[include reference/sym_difference.qbk] +[include generated/sym_difference.qbk] [endsect] [section:transform transform] -[include reference/transform.qbk] +[include generated/transform.qbk] [endsect] [section:union union] -[include reference/union.qbk] +[include generated/union.qbk] [endsect] -[include reference/unique.qbk] +[include generated/unique.qbk] [section:within within] -[include reference/within.qbk] +[include generated/within.qbk] [endsect] [endsect] [/algorithms] [section:arithmetic Arithmetic] -[include reference/arithmetic.qbk] +[include generated/arithmetic.qbk] [endsect] @@ -185,100 +185,100 @@ [endsect] [/concepts] [section:cs Coordinate Systems] -[include reference/cartesian.qbk] -[include reference/spherical.qbk] -[include reference/geographic.qbk] +[include generated/cartesian.qbk] +[include generated/spherical.qbk] +[include generated/geographic.qbk] [endsect] [/coordinate systems] [section:core Core Metafunctions] -[include reference/closure.qbk] -[include reference/coordinate_system.qbk] -[include reference/coordinate_type.qbk] -[include reference/cs_tag.qbk] -[include reference/dimension.qbk] -[include reference/exception.qbk] -[include reference/geometry_id.qbk] -[include reference/interior_type.qbk] -[include reference/is_areal.qbk] -[include reference/is_linear.qbk] -[include reference/is_multi.qbk] -[include reference/is_radian.qbk] -[include reference/point_order.qbk] -[include reference/point_type.qbk] -[include reference/ring_type.qbk] -[include reference/tag.qbk] -[include reference/topological_dimension.qbk] +[include generated/closure.qbk] +[include generated/coordinate_system.qbk] +[include generated/coordinate_type.qbk] +[include generated/cs_tag.qbk] +[include generated/dimension.qbk] +[include generated/exception.qbk] +[include generated/geometry_id.qbk] +[include generated/interior_type.qbk] +[include generated/is_areal.qbk] +[include generated/is_linear.qbk] +[include generated/is_multi.qbk] +[include generated/is_radian.qbk] +[include generated/point_order.qbk] +[include generated/point_type.qbk] +[include generated/ring_type.qbk] +[include generated/tag.qbk] +[include generated/topological_dimension.qbk] [endsect] [/core metafunctions] [section:enumerations Enumerations] -[include reference/enum.qbk] +[include generated/enum.qbk] [endsect] [section:exceptions Exceptions] -[include reference/exception.qbk] -[include reference/centroid_exception.qbk] +[include generated/exception.qbk] +[include generated/centroid_exception.qbk] [endsect] [section:iterators Iterators] -[include reference/closing_iterator.qbk] -[include reference/box_iterator.qbk] -[include reference/circular_iterator.qbk] -[include reference/ever_circling_iterator.qbk] -[include reference/segment_range_iterator.qbk] +[include generated/closing_iterator.qbk] +[include generated/box_iterator.qbk] +[include generated/circular_iterator.qbk] +[include generated/ever_circling_iterator.qbk] +[include generated/segment_range_iterator.qbk] [endsect] [section:models Models] -[include reference/point.qbk] -[include reference/point_xy.qbk] -[include reference/linestring.qbk] -[include reference/polygon.qbk] -[include reference/multi_point.qbk] -[include reference/multi_linestring.qbk] -[include reference/multi_polygon.qbk] -[include reference/box.qbk] -[include reference/ring.qbk] -[include reference/segment.qbk] -[include reference/referring_segment.qbk] +[include generated/point.qbk] +[include generated/point_xy.qbk] +[include generated/linestring.qbk] +[include generated/polygon.qbk] +[include generated/multi_point.qbk] +[include generated/multi_linestring.qbk] +[include generated/multi_polygon.qbk] +[include generated/box.qbk] +[include generated/ring.qbk] +[include generated/segment.qbk] +[include generated/referring_segment.qbk] [endsect] [section:strategies Strategies] -[include reference/distance_pythagoras.qbk] -[include reference/distance_haversine.qbk] -[include reference/distance_projected_point.qbk] -[include reference/distance_cross_track.qbk] -[include reference/area_surveyor.qbk] -[include reference/area_huiller.qbk] -[include reference/centroid_average.qbk] -[include reference/centroid_bashein_detmer.qbk] -[include reference/convex_hull_graham_andrew.qbk] -[include reference/side_side_by_triangle.qbk] -[include reference/side_side_by_cross_track.qbk] -[include reference/simplify_douglas_peucker.qbk] -[include reference/transform_inverse_transformer.qbk] -[include reference/transform_map_transformer.qbk] -[include reference/transform_rotate_transformer.qbk] -[include reference/transform_scale_transformer.qbk] -[include reference/transform_translate_transformer.qbk] -[include reference/transform_ublas_transformer.qbk] -[include reference/within_winding.qbk] -[include reference/within_franklin.qbk] -[include reference/within_crossings_multiply.qbk] +[include generated/distance_pythagoras.qbk] +[include generated/distance_haversine.qbk] +[include generated/distance_projected_point.qbk] +[include generated/distance_cross_track.qbk] +[include generated/area_surveyor.qbk] +[include generated/area_huiller.qbk] +[include generated/centroid_average.qbk] +[include generated/centroid_bashein_detmer.qbk] +[include generated/convex_hull_graham_andrew.qbk] +[include generated/side_side_by_triangle.qbk] +[include generated/side_side_by_cross_track.qbk] +[include generated/simplify_douglas_peucker.qbk] +[include generated/transform_inverse_transformer.qbk] +[include generated/transform_map_transformer.qbk] +[include generated/transform_rotate_transformer.qbk] +[include generated/transform_scale_transformer.qbk] +[include generated/transform_translate_transformer.qbk] +[include generated/transform_ublas_transformer.qbk] +[include generated/within_winding.qbk] +[include generated/within_franklin.qbk] +[include generated/within_crossings_multiply.qbk] [endsect] [section:ranges Ranges] -[include reference/box_range.qbk] -[include reference/segment_range.qbk] -[include reference/closeable_view.qbk] -[include reference/reversible_view.qbk] -[include reference/identity_view.qbk] +[include generated/box_range.qbk] +[include generated/segment_range.qbk] +[include generated/closeable_view.qbk] +[include generated/reversible_view.qbk] +[include generated/identity_view.qbk] [endsect] diff --git a/doc/ref/algorithms/append.qbk b/doc/reference/algorithms/append.qbk similarity index 100% rename from doc/ref/algorithms/append.qbk rename to doc/reference/algorithms/append.qbk diff --git a/doc/ref/algorithms/area.qbk b/doc/reference/algorithms/area.qbk similarity index 100% rename from doc/ref/algorithms/area.qbk rename to doc/reference/algorithms/area.qbk diff --git a/doc/ref/algorithms/buffer.qbk b/doc/reference/algorithms/buffer.qbk similarity index 100% rename from doc/ref/algorithms/buffer.qbk rename to doc/reference/algorithms/buffer.qbk diff --git a/doc/ref/algorithms/centroid.qbk b/doc/reference/algorithms/centroid.qbk similarity index 100% rename from doc/ref/algorithms/centroid.qbk rename to doc/reference/algorithms/centroid.qbk diff --git a/doc/ref/algorithms/intersection.qbk b/doc/reference/algorithms/intersection.qbk similarity index 100% rename from doc/ref/algorithms/intersection.qbk rename to doc/reference/algorithms/intersection.qbk diff --git a/doc/ref/algorithms/intersects.qbk b/doc/reference/algorithms/intersects.qbk similarity index 100% rename from doc/ref/algorithms/intersects.qbk rename to doc/reference/algorithms/intersects.qbk diff --git a/doc/ref/algorithms/length.qbk b/doc/reference/algorithms/length.qbk similarity index 100% rename from doc/ref/algorithms/length.qbk rename to doc/reference/algorithms/length.qbk diff --git a/doc/ref/algorithms/num_geometries.qbk b/doc/reference/algorithms/num_geometries.qbk similarity index 100% rename from doc/ref/algorithms/num_geometries.qbk rename to doc/reference/algorithms/num_geometries.qbk diff --git a/doc/ref/algorithms/num_interior_rings.qbk b/doc/reference/algorithms/num_interior_rings.qbk similarity index 100% rename from doc/ref/algorithms/num_interior_rings.qbk rename to doc/reference/algorithms/num_interior_rings.qbk diff --git a/doc/ref/algorithms/num_points.qbk b/doc/reference/algorithms/num_points.qbk similarity index 100% rename from doc/ref/algorithms/num_points.qbk rename to doc/reference/algorithms/num_points.qbk diff --git a/doc/ref/algorithms/perimeter.qbk b/doc/reference/algorithms/perimeter.qbk similarity index 100% rename from doc/ref/algorithms/perimeter.qbk rename to doc/reference/algorithms/perimeter.qbk diff --git a/doc/ref/algorithms/simplify.qbk b/doc/reference/algorithms/simplify.qbk similarity index 100% rename from doc/ref/algorithms/simplify.qbk rename to doc/reference/algorithms/simplify.qbk diff --git a/doc/ref/algorithms/simplify_inserter.qbk b/doc/reference/algorithms/simplify_inserter.qbk similarity index 100% rename from doc/ref/algorithms/simplify_inserter.qbk rename to doc/reference/algorithms/simplify_inserter.qbk diff --git a/doc/ref/algorithms/sym_difference.qbk b/doc/reference/algorithms/sym_difference.qbk similarity index 100% rename from doc/ref/algorithms/sym_difference.qbk rename to doc/reference/algorithms/sym_difference.qbk diff --git a/doc/ref/algorithms/union.qbk b/doc/reference/algorithms/union.qbk similarity index 100% rename from doc/ref/algorithms/union.qbk rename to doc/reference/algorithms/union.qbk diff --git a/doc/ref/core/get_box.qbk b/doc/reference/core/get_box.qbk similarity index 100% rename from doc/ref/core/get_box.qbk rename to doc/reference/core/get_box.qbk diff --git a/doc/ref/core/get_point.qbk b/doc/reference/core/get_point.qbk similarity index 100% rename from doc/ref/core/get_point.qbk rename to doc/reference/core/get_point.qbk diff --git a/doc/ref/core/set_box.qbk b/doc/reference/core/set_box.qbk similarity index 100% rename from doc/ref/core/set_box.qbk rename to doc/reference/core/set_box.qbk diff --git a/doc/ref/core/set_point.qbk b/doc/reference/core/set_point.qbk similarity index 100% rename from doc/ref/core/set_point.qbk rename to doc/reference/core/set_point.qbk diff --git a/doc/reference/difference.qbk b/doc/reference/difference.qbk deleted file mode 100644 index 3ea6f5950..000000000 --- a/doc/reference/difference.qbk +++ /dev/null @@ -1,50 +0,0 @@ -[/============================================================================ - Boost.Geometry (aka GGL, Generic Geometry Library) - - Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. - Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) - Copyright (c) 2009-2011 Bruno Lalande, Paris, France. - - Use, modification and distribution is subject to the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -=============================================================================/] - - -[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically] -[/ Generated from doxy/doxygen_output/xml/group__difference.xml] -[section:difference difference] - - - -[heading Description] -Calculate the difference of two geometries - -[heading Synopsis] -``template -void difference(Geometry1 const & geometry1, Geometry2 const & geometry2, Collection & output_collection)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[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 / std::deque etc ] [output_collection] [the output collection]] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - -[include ref/algorithms/difference.qbk] - - -[endsect] - diff --git a/doc/ref/geometries/point.qbk b/doc/reference/geometries/point.qbk similarity index 100% rename from doc/ref/geometries/point.qbk rename to doc/reference/geometries/point.qbk diff --git a/doc/ref/geometries/register/point.qbk b/doc/reference/geometries/register/point.qbk similarity index 100% rename from doc/ref/geometries/register/point.qbk rename to doc/reference/geometries/register/point.qbk diff --git a/doc/reference/sym_difference.qbk b/doc/reference/sym_difference.qbk deleted file mode 100644 index cf597a1ac..000000000 --- a/doc/reference/sym_difference.qbk +++ /dev/null @@ -1,47 +0,0 @@ -[/============================================================================ - Boost.Geometry (aka GGL, Generic Geometry Library) - - Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. - Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) - Copyright (c) 2009-2011 Bruno Lalande, Paris, France. - - Use, modification and distribution is subject to the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) -=============================================================================/] - - -[/ Generated by doxygen_xml2qbk, don't change, will be overwritten automatically] -[/ Generated from doxy/doxygen_output/xml/group__sym__difference.xml] -[section:sym_difference sym_difference] - -Calculate the symmetric difference of two geometries. - -[heading Synopsis] -``template -void sym_difference(Geometry1 const & geometry1, Geometry2 const & geometry2, Collection & output_collection)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[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 / std::deque etc ] [output_collection] [the output collection]] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - -[include ref/algorithms/sym_difference.qbk] - - -[endsect] - diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini b/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini index 099ed3d38..e225e2e5c 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini +++ b/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini @@ -1,7 +1,11 @@ # xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1d2_1_1point__xy.xml # xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1polygon.xml # xml=../../../../doxy/doxygen_output/xml/group__area.xml -xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1pythagoras.xml +# xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1pythagoras.xml +# xml=../../../../doxy/doxygen_output/xml/group__get.xml + +xml=../../../../doxy/doxygen_output/xml/group__num__points.xml + start_include=boost/geometry/ convenience_header_path=../../../../../../../boost/geometry/ convenience_headers=geometry.hpp,geometries/geometries.hpp,multi/multi.hpp diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp index d539fb2d5..e3953b459 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp @@ -18,6 +18,45 @@ #include #include +std::string qbk_escaped(std::string const& s) +{ + // Replace _ by unicode to avoid accidental quickbook underlining. + // 1) do NOT do this in quickbook markup, so not within [] + // (e.g. to avoid [include get_point.qbk] having unicoded) + // 2) \[ and \] should not count as [] + std::size_t const len = s.length(); + int counter = 0; + std::string result = ""; + for (std::size_t i = 0; i < len; i++) + { + switch(s[i]) + { + case '[' : counter++; break; + case ']' : counter--; break; + case '\\' : + { + result += s[i]; + if (i + 1 < len) + { + result += s[i + 1]; + } + i++; + continue; + } + case '_' : + if (counter == 0) + { + result += "\\u005f"; + continue; + } + } + result += s[i]; + } + + return result; +} + + void quickbook_template_parameter_list(std::vector const& parameters, std::ostream& out, bool name = false) { @@ -195,7 +234,7 @@ void quickbook_string_with_heading_if_present(std::string const& heading, if (! contents.empty()) { out << "[heading " << heading << "]" << std::endl - << contents << std::endl + << qbk_escaped(contents) << std::endl << std::endl; } } @@ -276,7 +315,7 @@ void quickbook_output(function const& f, configuration const& config, std::ostre << "]" << std::endl << std::endl; - out << f.brief_description << std::endl; + out << qbk_escaped(f.brief_description) << std::endl; out << std::endl; quickbook_string_with_heading_if_present("Description", f.detailed_description, out); diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/Jamfile.v2 b/doc/src/docutils/tools/doxygen_xml2qbk/sample/Jamfile.v2 index 9b9e54871..6fca69f6e 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/Jamfile.v2 +++ b/doc/src/docutils/tools/doxygen_xml2qbk/sample/Jamfile.v2 @@ -15,8 +15,9 @@ import quickbook ; boostbook fruit : fruit.qbk : Jamfile.v2 - apple.qbk - eat.qbk + generated/apple.qbk + generated/rose.qbk + generated/grouped.qbk : chunk.section.depth=4 chunk.first.sections=1 toc.section.depth=3 diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/fruit.dox b/doc/src/docutils/tools/doxygen_xml2qbk/sample/fruit.dox index 53a2d3bca..3efb039b8 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/fruit.dox +++ b/doc/src/docutils/tools/doxygen_xml2qbk/sample/fruit.dox @@ -124,7 +124,7 @@ IGNORE_PREFIX = # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES -HTML_OUTPUT = html +HTML_OUTPUT = html_by_doxygen HTML_FILE_EXTENSION = .html HTML_HEADER = HTML_FOOTER = diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/fruit.qbk b/doc/src/docutils/tools/doxygen_xml2qbk/sample/fruit.qbk index f38cd1f01..4145bb8ec 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/fruit.qbk +++ b/doc/src/docutils/tools/doxygen_xml2qbk/sample/fruit.qbk @@ -26,8 +26,10 @@ This is the fruit documentation (just a foo sample of the doxygen_xml2qbk doc to [import src/examples/apple_example.cpp] -[include rose.qbk] -[include apple.qbk] -[include eat.qbk] +[include generated/rose.qbk] +[include generated/apple.qbk] +[include generated/grouped.qbk] +[include generated/fruit_type.qbk] +[include generated/fruit_value.qbk] Hope you enjoyed your fruit diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/make_qbk.py b/doc/src/docutils/tools/doxygen_xml2qbk/sample/make_qbk.py index 76c5f4247..1424e1970 100755 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/make_qbk.py +++ b/doc/src/docutils/tools/doxygen_xml2qbk/sample/make_qbk.py @@ -13,12 +13,14 @@ import os, sys cmd = "doxygen_xml2qbk" cmd = cmd + " --xml xml/%s.xml" cmd = cmd + " --start_include sample/" -cmd = cmd + " > %s.qbk" +cmd = cmd + " > generated\%s.qbk" os.system("doxygen fruit.dox") -os.system(cmd % ("group__eat", "eat")) +os.system(cmd % ("group__fruit", "grouped")) os.system(cmd % ("classfruit_1_1apple", "apple")) os.system(cmd % ("classfruit_1_1rose", "rose")) +os.system(cmd % ("structfruit_1_1fruit__value", "fruit_value")) +os.system(cmd % ("structfruit_1_1fruit__type", "fruit_type")) os.system("bjam") diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.hpp index 223aec2cb..3ba752764 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.hpp @@ -6,12 +6,49 @@ #include /*! -\defgroup eat eat: Eating function +\defgroup fruit fruit: Fruit group */ namespace fruit { +/*! +\brief Enumeration to select color +\ingroup fruit +*/ +enum fruit_color +{ + /// A yellow or yellowish color + yellow = 1, + /// A green or greeny color + green = 2, + /// An orange color + orange = 3 +}; + + +/*! +\brief Any metafunction (with type) +\ingroup fruit +*/ +struct fruit_type +{ + /// the type + typedef int type; +}; + +/*! +\brief Any metafunction (with value) +\ingroup fruit +*/ +struct fruit_value +{ + /// the value + static const fruit_color value = yellow; +}; + + + /// Rose (Rosaceae) class rose {}; @@ -43,7 +80,7 @@ public : /*! \brief Eat it -\ingroup eat +\ingroup fruit \details Eat the fruit \param fruit the fruit \tparam T the fruit type diff --git a/doc/src/examples/algorithms/create_svg.hpp b/doc/src/examples/algorithms/create_svg_overlay.hpp similarity index 94% rename from doc/src/examples/algorithms/create_svg.hpp rename to doc/src/examples/algorithms/create_svg_overlay.hpp index 189ddab64..3b99a9c97 100644 --- a/doc/src/examples/algorithms/create_svg.hpp +++ b/doc/src/examples/algorithms/create_svg_overlay.hpp @@ -6,8 +6,8 @@ // http://www.boost.org/LICENSE_1_0.txt) // // Code to create SVG for examples -#ifndef CREATE_SVG_HPP -#define CREATE_SVG_HPP +#ifndef CREATE_SVG_OVERLAY_HPP +#define CREATE_SVG_OVERLAY_HPP #include #include @@ -42,5 +42,5 @@ void create_svg(std::string const& filename, Geometry const& a, Geometry const& // and copy png to html/img/algorithms/ -#endif // CREATE_SVG_HPP +#endif // CREATE_SVG_OVERLAY_HPP diff --git a/doc/src/examples/algorithms/create_svg_two.hpp b/doc/src/examples/algorithms/create_svg_two.hpp new file mode 100644 index 000000000..e69effa49 --- /dev/null +++ b/doc/src/examples/algorithms/create_svg_two.hpp @@ -0,0 +1,37 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Code to create SVG for examples +#ifndef CREATE_SVG_TWO_HPP +#define CREATE_SVG_TWO_HPP + +#include +#include +#include + +template +void create_svg(std::string const& filename, Geometry1 const& a, Geometry2 const& b) +{ + std::cout << std::endl << "[$img/algorithms/" << boost::replace_all_copy(filename, ".svg", ".png") << "]" << std::endl << std::endl; + + typedef typename boost::geometry::point_type::type point_type; + std::ofstream svg(filename.c_str()); + + boost::geometry::svg_mapper mapper(svg, 400, 400); + mapper.add(a); + mapper.add(b); + + mapper.map(a, "fill-opacity:0.5;fill:rgb(153,204,0);stroke:rgb(153,204,0);stroke-width:2"); + mapper.map(b, "opacity:0.8;fill:none;stroke:rgb(255,128,0);stroke-width:4;stroke-dasharray:1,7;stroke-linecap:round"); +} + +// NOTE: convert manually from svg to png using Inkscape ctrl-shift-E +// and copy png to html/img/algorithms/ + + +#endif // CREATE_SVG_TWO_HPP + diff --git a/doc/src/examples/algorithms/difference.cpp b/doc/src/examples/algorithms/difference.cpp index 61f31e3a2..0d1112fdd 100644 --- a/doc/src/examples/algorithms/difference.cpp +++ b/doc/src/examples/algorithms/difference.cpp @@ -18,7 +18,7 @@ #include #include -/*<-*/ #include "create_svg.hpp" /*->*/ +/*<-*/ #include "create_svg_overlay.hpp" /*->*/ int main() { diff --git a/doc/src/examples/algorithms/difference_inserter.cpp b/doc/src/examples/algorithms/difference_inserter.cpp new file mode 100644 index 000000000..8928b3951 --- /dev/null +++ b/doc/src/examples/algorithms/difference_inserter.cpp @@ -0,0 +1,87 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Quickbook Example + +//[difference_inserter +//` Shows how the difference_inserter function can be used + +#include +#include + +#include +#include +#include + +#include +/*<-*/ #include "create_svg_overlay.hpp" /*->*/ + +int main() +{ + typedef boost::geometry::model::polygon > polygon; + + polygon green, blue; + + boost::geometry::read_wkt( + "POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3)" + "(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", green); + + boost::geometry::read_wkt( + "POLYGON((4.0 -0.5 , 3.5 1.0 , 2.0 1.5 , 3.5 2.0 , 4.0 3.5 , 4.5 2.0 , 6.0 1.5 , 4.5 1.0 , 4.0 -0.5))", blue); + + std::vector output; + + // Note that this sample simulates the symmetric difference, + // which is also available as a separate algorithm. + // It chains the output iterator returned by the function to the second instance. + boost::geometry::difference_inserter + ( + green, blue, + boost::geometry::difference_inserter + ( + blue, green, + std::back_inserter(output) + ) + ); + + + int i = 0; + std::cout << "(blue \ green) u (green \ blue):" << std::endl; + BOOST_FOREACH(polygon const& p, output) + { + std::cout << i++ << ": " << boost::geometry::area(p) << std::endl; + } + + /*<-*/ create_svg("difference_inserter.svg", green, blue, output); /*->*/ + return 0; +} + +//] + + +//[difference_inserter_output +/*` +Output: +[pre +(blue \\ green) u (green \\ blue): +0: 0.525154 +1: 0.015 +2: 0.181136 +3: 0.128798 +4: 0.340083 +5: 0.307778 +6: 0.02375 +7: 0.542951 +8: 0.0149697 +9: 0.226855 +10: 0.839424 + +[$img/algorithms/sym_difference.png] + +] +*/ +//] diff --git a/doc/src/examples/algorithms/envelope.cpp b/doc/src/examples/algorithms/envelope.cpp new file mode 100644 index 000000000..74730c9e3 --- /dev/null +++ b/doc/src/examples/algorithms/envelope.cpp @@ -0,0 +1,53 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Quickbook Example + +//[envelope +//` Shows how to calculate the bounding box of a polygon + +#include + +#include +#include +#include + +/*<-*/ #include "create_svg_two.hpp" /*->*/ + +int main() +{ + typedef boost::geometry::model::d2::point_xy point; + + boost::geometry::model::polygon polygon; + + boost::geometry::read_wkt( + "POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3)" + "(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", polygon); + + boost::geometry::model::box box; + boost::geometry::envelope(polygon, box); + + std::cout << "envelope:" << boost::geometry::dsv(box) << std::endl; + + /*<-*/ create_svg("envelope.svg", polygon, box); /*->*/ + return 0; +} + +//] + + +//[envelope_output +/*` +Output: +[pre +envelope:((2, 0.7), (5.4, 3)) + +[$img/algorithms/envelope.png] +] +*/ +//] + diff --git a/doc/src/examples/algorithms/intersection_poly_poly.cpp b/doc/src/examples/algorithms/intersection_poly_poly.cpp index 87e4ec2cf..c4e09d206 100644 --- a/doc/src/examples/algorithms/intersection_poly_poly.cpp +++ b/doc/src/examples/algorithms/intersection_poly_poly.cpp @@ -18,7 +18,7 @@ #include #include -/*<-*/ #include "create_svg.hpp" /*->*/ +/*<-*/ #include "create_svg_overlay.hpp" /*->*/ int main() { diff --git a/doc/src/examples/algorithms/make_envelope.cpp b/doc/src/examples/algorithms/make_envelope.cpp new file mode 100644 index 000000000..f51511eb3 --- /dev/null +++ b/doc/src/examples/algorithms/make_envelope.cpp @@ -0,0 +1,61 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) +// +// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands +// Use, modification and distribution is subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Quickbook Example + +//[make_envelope +//` Shows how to return the envelope of a ring + +#include + + +#include +#include + +#include + +/*<-*/ #include "create_svg_two.hpp" /*->*/ + +int main() +{ + using namespace boost::assign; + + typedef boost::geometry::model::d2::point_xy point; + + boost::geometry::model::ring ring; + ring += + point(4.0, -0.5), point(3.5, 1.0), + point(2.0, 1.5), point(3.5, 2.0), + point(4.0, 3.5), point(4.5, 2.0), + point(6.0, 1.5), point(4.5, 1.0), + point(4.0, -0.5); + + typedef boost::geometry::model::box box; + + std::cout + << "make_envelope:" + << boost::geometry::dsv(boost::geometry::make_envelope(ring)) + << std::endl; + + /*<-*/ create_svg("make_envelope.svg", ring, boost::geometry::make_envelope(ring)); /*->*/ + return 0; +} + +//] + + +//[make_envelope_output +/*` +Output: +[pre +make_envelope:((2, -0.5), (6, 3.5)) + +[$img/algorithms/make_envelope.png] +] +*/ +//] + diff --git a/doc/src/examples/algorithms/sym_difference.cpp b/doc/src/examples/algorithms/sym_difference.cpp index d6cb94106..09fb7359f 100644 --- a/doc/src/examples/algorithms/sym_difference.cpp +++ b/doc/src/examples/algorithms/sym_difference.cpp @@ -8,17 +8,17 @@ // Quickbook Example //[sym_difference -//` Shows how to calculate the symmetric difference (XOR) geometry of two polygons +//` Shows how to calculate the symmetric difference (XOR) of two polygons #include -#include #include #include +#include #include #include -/*<-*/ #include "create_svg.hpp" /*->*/ +/*<-*/ #include "create_svg_overlay.hpp" /*->*/ int main() { @@ -33,17 +33,20 @@ int main() boost::geometry::read_wkt( "POLYGON((4.0 -0.5 , 3.5 1.0 , 2.0 1.5 , 3.5 2.0 , 4.0 3.5 , 4.5 2.0 , 6.0 1.5 , 4.5 1.0 , 4.0 -0.5))", blue); - std::vector output; - boost::geometry::sym_difference(green, blue, output); + boost::geometry::model::multi_polygon multi; + boost::geometry::sym_difference(green, blue, multi); + + std::cout + << "green XOR blue:" << std::endl + << "total: " << boost::geometry::area(multi) << std::endl; int i = 0; - std::cout << "green XOR blue:" << std::endl; - BOOST_FOREACH(polygon const& p, output) + BOOST_FOREACH(polygon const& p, multi) { std::cout << i++ << ": " << boost::geometry::area(p) << std::endl; } - /*<-*/ create_svg("sym_difference.svg", green, blue, output); /*->*/ + /*<-*/ create_svg("sym_difference.svg", green, blue, multi); /*->*/ return 0; } @@ -55,6 +58,7 @@ int main() Output: [pre green XOR blue: +total: 3.1459 0: 0.02375 1: 0.542951 2: 0.0149697 diff --git a/doc/src/examples/algorithms/union.cpp b/doc/src/examples/algorithms/union.cpp index 5e06c20d9..460b53082 100644 --- a/doc/src/examples/algorithms/union.cpp +++ b/doc/src/examples/algorithms/union.cpp @@ -18,7 +18,7 @@ #include #include -/*<-*/ #include "create_svg.hpp" /*->*/ +/*<-*/ #include "create_svg_overlay.hpp" /*->*/ int main() {