diff --git a/doc/doxy/doxygen_enhance.py b/doc/doxy/doxygen_enhance.py index f256d698b..69ce6067a 100755 --- a/doc/doxy/doxygen_enhance.py +++ b/doc/doxy/doxygen_enhance.py @@ -1,8 +1,18 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- +# =========================================================================== +# Copyright (c) 2010 Barend Gehrels, 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)9 +# ============================================================================ + import sys args = sys.argv[1:] if len(args) != 1: - raise SystemExit("Usage: doxygen_enhance ") + raise SystemExit("Usage: doxygen_enhance ") # 1) set variable for doxygen_contents to be posted diff --git a/doc/doxy/doxygen_input/groups/access.hpp b/doc/doxy/doxygen_input/groups/access.hpp deleted file mode 100644 index 2252a7c05..000000000 --- a/doc/doxy/doxygen_input/groups/access.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/*! -\defgroup access access: get/set coordinate values, make objects, clear geometries, append point(s) -\details There are many ways to edit geometries. It is possible to: - -\li use the geometries themselves, so access point.x(). This is not done -inside the library because it is agnostic to geometry type. However, -library users can use this as it is intuitive. -\li use the standard library, so use .push_back(point) or use inserters. -This is also avoided inside the library. However, library users can use -it if they are used to the standard library -\li use the functionality provided in this geometry library. These are -the functions in this module. - -The library provides the following functions to edit geometries: -\li set to set one coordinate value -\li assign to set two or more coordinate values -\li make to construct and return geometries with specified coordinates. -\li append to append one or more points to a geometry -\li clear to remove all points from a geometry - -For getting coordinates it is similar: -\li get to get a coordinate value -\li or use the standard library -\li or use the geometries themselves -*/ - - diff --git a/doc/doxy/doxygen_input/groups/area.hpp b/doc/doxy/doxygen_input/groups/area.hpp deleted file mode 100644 index d7e277114..000000000 --- a/doc/doxy/doxygen_input/groups/area.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/*! -\defgroup area area: calculate area of a Geometry - -\par Performance -2776 * 1000 area calculations are done in 0.11 seconds -(http://trac.osgeo.org/ggl/wiki/Performance#Area1) - -\par Coordinate systems and strategies -Area calculation can be done in Cartesian and in spherical/geographic -coordinate systems. - -\par Geometries -The area algorithm calculates the surface area of all geometries -having a surface: box, polygon, multi_polygon. The units are the square of -the units used for the points defining the surface. If the polygon is defined -in meters, the area is in square meters. - -\par Example: -Example showing area calculation of polygons built -\dontinclude doxygen_1.cpp -\skip example_area_polygon() -\line { -\until } - -*/ diff --git a/doc/doxy/doxygen_input/groups/arithmetic.hpp b/doc/doxy/doxygen_input/groups/arithmetic.hpp deleted file mode 100644 index eb91cd05d..000000000 --- a/doc/doxy/doxygen_input/groups/arithmetic.hpp +++ /dev/null @@ -1,3 +0,0 @@ -/*! -\defgroup arithmetic arithmetic: arithmetic operations on points -*/ diff --git a/doc/doxy/doxygen_input/groups/buffer.hpp b/doc/doxy/doxygen_input/groups/buffer.hpp deleted file mode 100644 index 09eb4d769..000000000 --- a/doc/doxy/doxygen_input/groups/buffer.hpp +++ /dev/null @@ -1,9 +0,0 @@ -/*! -\defgroup buffer buffer: calculate buffer of a geometry -\par Source description: -- OGC: Returns a geometric object that represents all Points whose distance -from this geometric object is less than or equal to distance. Calculations are in the spatial reference system of -this geometric object. Because of the limitations of linear interpolation, there will often be some relatively -small error in this distance, but it should be near the resolution of the coordinates used -\see http://en.wikipedia.org/wiki/Buffer_(GIS) -*/ diff --git a/doc/doxy/doxygen_input/groups/centroid.hpp b/doc/doxy/doxygen_input/groups/centroid.hpp deleted file mode 100644 index 39cbd9539..000000000 --- a/doc/doxy/doxygen_input/groups/centroid.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*! -\defgroup centroid centroid: calculate centroid (center of gravity) of a geometry -\par Source descriptions: -- OGC description: The mathematical centroid for this Surface as a Point. The - result is not guaranteed to be on this Surface. -- From Wikipedia: Informally, it is the "average" of all points -\see http://en.wikipedia.org/wiki/Centroid -\note Polygon should be closed, and can be orientated either way -\note The "centroid" functions are taking a non const reference to the centroid. - The "make_centroid" functions return the centroid, the type has to be - specified. -\note Both of them have an overloaded version where - a centroid calculation strategy can be specified -\exception centroid_exception if calculation is not successful, - e.g. because polygon didn't contain points - -\par Example: -Example showing centroid calculation -\dontinclude doxygen_1.cpp -\skip example_centroid_polygon -\line { -\until } - -\par Performance -2776 * 1000 centroid calculations are done in 0.16 seconds -(http://trac.osgeo.org/ggl/wiki/Performance#Centroid1) - -\par Geometries: -- RING: \image html centroid_ring.png -- BOX: the centroid of a 2D or 3D box is the center of the box -- POLYGON \image html centroid_polygon.png -- POINT: the point is the centroid -- LINESTRING: the average of the centers of its segments -- MULTIPOINT: the average of the points -*/ diff --git a/doc/doxy/doxygen_input/groups/combine.hpp b/doc/doxy/doxygen_input/groups/combine.hpp deleted file mode 100644 index 92bb65048..000000000 --- a/doc/doxy/doxygen_input/groups/combine.hpp +++ /dev/null @@ -1,10 +0,0 @@ -/*! -\defgroup combine combine: add a geometry to a bounding box -\par Geometries: -- \b box + \b box -> \b box: the box will be combined with the other box - \image html combine_box_box.png - \note Also if the input box is incorrect, the box will correctly updated -- \b box + \b point -> \b box: the box will combined with the point - \image html combine_box_point.png -- \b box + \b segment -> \b box -*/ diff --git a/doc/doxy/doxygen_input/groups/compare.hpp b/doc/doxy/doxygen_input/groups/compare.hpp deleted file mode 100644 index 4c1d7f49a..000000000 --- a/doc/doxy/doxygen_input/groups/compare.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*! -\defgroup compare compare: define compare functors for points -\details The compare policies enable to compare points in a way that they can -be compared in many functions of the standard library. - -The functors do have an optional second template argument, \b dimension. -If dimension is specified, comparison is only done on that dimension. - -This is useful for (a.o.): -- std::sort (use geometry::less

or geometry::greater

or geometry::less) -- std::map (use geometry::less

) -- std::unique_copy (use geometry::equal_to

) - -\par Geometries: -- \b point - - -\par Example: -Example showing how geometry::less can be used -\dontinclude doxygen_3.cpp -\skip example_less() -\line { -\until } - - -\note There is a boolean function \ref equals "equals" as well, which returns -true or false if a geometry is spatially equal to another geometry. That one -is defined for OGC compatibility, while these ones are defined for -compatibility with the std:: library. These ones are functors, operating on -the same geometry type (currently only the point-type), the equals function is -a free function operating on different point types or even different geometry -types (a linestring can be spatially equal to a multi-linestring). -*/ diff --git a/doc/doxy/doxygen_input/groups/concepts.hpp b/doc/doxy/doxygen_input/groups/concepts.hpp deleted file mode 100644 index 554d43858..000000000 --- a/doc/doxy/doxygen_input/groups/concepts.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*! -\defgroup concepts geometry concepts: defines and checks concepts for geometries - -All GGL algorithms use concepts for their geometries. This means that all -algorithms work on the GGL-provided geometries (point, linestring, etc) but -also on custom geometries. - -By declaring registration macro's or by specializating traits classes it is -possible to adapt custom or legacy geometries to fulfil the GGL geometry -concepts. - -GGL algorithms check the concepts of the input geometries. -Concept checking is done using BCCL (Boost Concept Check Library). - -This means that geometries provided by library users, or legacy geometries, or -plain arrays, or boost tuples, all can be handled by the Generic Geometry -Library. Also std::vector of points, or tuples can be handled either as a -linestring or as a linear ring (polygon without holes). - -There are concepts for -- points -- segment -- box -- linestring -- (linear) ring -- polygon -- multi point -- multi linestring -- multi polygon - -The Generic Geometry Library uses the Boost Range Library to iterate through -standard containers, boost arrays, c-arrays. -So: -- linestring -- (linear) ring - -are all just ranges. So a std::vector, std::deque, boost::array, -iterator pair or c-array will be accepted as such. - -Also the multi geometries: -- multi point -- multi linestring -- multi polygon -are considered as ranges of respectively points, linestrings and polygons. - -*/ diff --git a/doc/doxy/doxygen_input/groups/convert.hpp b/doc/doxy/doxygen_input/groups/convert.hpp deleted file mode 100644 index 3796edbcc..000000000 --- a/doc/doxy/doxygen_input/groups/convert.hpp +++ /dev/null @@ -1,12 +0,0 @@ -/*! -\defgroup convert convert: convert geometries from one type to another -\details Convert from one geometry type to another type, - for example from BOX to POLYGON -\par Geometries: -- \b point to \b box -> a zero-area box of a point -- \b box to \b ring -> a rectangular ring -- \b box to \b polygon -> a rectangular polygon -- \b ring to \b polygon -> polygon with an exterior ring (the input ring) -- \b polygon to \b ring -> ring, interior rings (if any) are ignored -*/ - diff --git a/doc/doxy/doxygen_input/groups/convex_hull.hpp b/doc/doxy/doxygen_input/groups/convex_hull.hpp deleted file mode 100644 index 26ee2ca65..000000000 --- a/doc/doxy/doxygen_input/groups/convex_hull.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*! -\defgroup convex_hull convex hull: calculate the convex hull of a geometry -\par Source descriptions: -- OGC description: Returns a geometric object that represents the convex hull of - this geometric object. Convex hulls, being dependent on straight lines, can - be accurately represented in linear interpolations - for any geometry restricted to linear interpolations. -\see http://en.wikipedia.org/wiki/Convex_hull - -\par Performance -2776 counties of US are "hulled" in 0.9 seconds -(http://trac.osgeo.org/ggl/wiki/Performance#Convexhull1) - -\note The convex hull is always a ring, holes are not possible. Therefore it is - can also be used in combination with an output iterator. - -\par Geometries supported: -In the images below the convex hull is painted in red. - -- \b point: will not compile - -- \b linestring: - -- \b polygon: will deliver a polygon without holes - \image html svg_convex_hull_country.png - -- \b multi_point: - \image html svg_convex_hull_cities.png - -- \b multi_linestring: - -- \b multi_polygon: - -\par Output geometries supported: - -- \b polygon - -- \b ring - -- inserter version (with output iterator) can output to any array supporting - points of same type as the input geometry type - -*/ diff --git a/doc/doxy/doxygen_input/groups/core.hpp b/doc/doxy/doxygen_input/groups/core.hpp deleted file mode 100644 index e6b635fa5..000000000 --- a/doc/doxy/doxygen_input/groups/core.hpp +++ /dev/null @@ -1,3 +0,0 @@ -/*! -\defgroup core core: meta-functions for geometry types -*/ diff --git a/doc/doxy/doxygen_input/groups/cs.hpp b/doc/doxy/doxygen_input/groups/cs.hpp deleted file mode 100644 index e70dd1b0c..000000000 --- a/doc/doxy/doxygen_input/groups/cs.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*! -\defgroup cs coordinate systems -\brief Defines coordinate systems -\details Coordinate systems are essential for any point in the Generic Geometry Library. Many -algorithms such as distance or transform use coordinate systems to select the strategy to use. -*/ - - -/*! -\defgroup cs coordinate systems -\brief Defines coordinate systems -\details Coordinate systems are essential for any point in the Generic Geometry Library. Many -algorithms such as distance or transform use coordinate systems to select the strategy to use. -*/ diff --git a/doc/doxy/doxygen_input/groups/difference.hpp b/doc/doxy/doxygen_input/groups/difference.hpp deleted file mode 100644 index adb624287..000000000 --- a/doc/doxy/doxygen_input/groups/difference.hpp +++ /dev/null @@ -1,4 +0,0 @@ -/*! -\defgroup difference difference: difference of two geometries -*/ - diff --git a/doc/doxy/doxygen_input/groups/disjoint.hpp b/doc/doxy/doxygen_input/groups/disjoint.hpp deleted file mode 100644 index d8cc11d41..000000000 --- a/doc/doxy/doxygen_input/groups/disjoint.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*! -\defgroup disjoint disjoint: detect if geometries are not spatially related -\details disjoint means spatially disjoint, there is no overlap of interiors - and boundaries, the intersection of interiors or boundaries is empty. - -\par Geometries: -- \b point + \b point (= ! equals) -- \b point + \b box (= not within or on border) -- \b box + \b box -- \b ring + \b box -- \b polygon + \b box -- \b polygon + \b ring -- \b polygon + \b polygon - -*/ diff --git a/doc/doxy/doxygen_input/groups/distance.hpp b/doc/doxy/doxygen_input/groups/distance.hpp deleted file mode 100644 index 5f68f42ac..000000000 --- a/doc/doxy/doxygen_input/groups/distance.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/*! -\defgroup distance distance: calculate distance between two geometries -The distance algorithm returns the distance between two geometries. -\par Coordinate systems and strategies: -With help of strategies the distance function returns the appropriate distance. -If the input is in cartesian coordinates, the Euclidian distance (Pythagoras) is calculated. -If the input is in spherical coordinates (either degree or radian), the distance over the sphere is returned. -If the input is in geographic coordinates, distance is calculated over the globe and returned in meters. - -\par Distance result: -Depending on calculation type the distance result is either a structure, convertable -to a double, or a double value. In case of Pythagoras it makes sense to not draw the square root in the -strategy itself. Taking a square root is relative expensive and is not necessary when comparing distances. - -\par Geometries: -Currently implemented, for both cartesian and spherical/geographic: -- POINT - POINT -- POINT - SEGMENT and v.v. -- POINT - LINESTRING and v.v. - -Not yet implemented: -- POINT - RING etc, note that it will return a zero if the point is anywhere within the ring - -\par Example: -Example showing distance calculation of two points, in xy and in latlong coordinates -\dontinclude doxygen_1.cpp -\skip example_distance_point_point -\line { -\until } -*/ diff --git a/doc/doxy/doxygen_input/groups/envelope.hpp b/doc/doxy/doxygen_input/groups/envelope.hpp deleted file mode 100644 index 4e8f8791f..000000000 --- a/doc/doxy/doxygen_input/groups/envelope.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/*! -\defgroup envelope envelope: calculate envelope (minimum bounding rectangle) of a geometry -\par Source descriptions: -- OGC: Envelope (): Geometry - The minimum bounding rectangle (MBR) for this - Geometry, -returned as a Geometry. The polygon is defined by the corner points of the - bounding box - [(MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY)]. - -\note Implemented in the Generic Geometry Library: The minimum bounding box, - always as a box, having min <= max - -The envelope algorithm calculates the bounding box, or envelope, of a geometry. -There are two versions: -- envelope, taking a reference to a box as second parameter -- make_envelope, returning a newly constructed box (type as a template parameter - in the function call) - -\par Geometries: -- \b point: a box with zero area, the maximum and the minimum point of the box are -set to the point itself. -- \b linestring, \b ring or \b range is the smallest box that contains all points of the - specified point sequence. -If the linestring is empty, the envelope is the inverse infinite box, that is, - the minimum point is very large (max infinite) and the maximum point is - very small (min infinite). -- \b polygon, the envelope of the outer ring -\image html envelope_polygon.png - -\par Example: -Example showing envelope calculation -\dontinclude doxygen_1.cpp -\skip example_envelope_linestring -\line { -\until } -*/ - diff --git a/doc/doxy/doxygen_input/groups/equals.hpp b/doc/doxy/doxygen_input/groups/equals.hpp deleted file mode 100644 index d0faf33ff..000000000 --- a/doc/doxy/doxygen_input/groups/equals.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*! -\defgroup equals equals: detect if two geometries are spatially equal -\details Equals returns true if geometries are spatially equal. Spatially equal -means including the same point-set. A linestring can be spatially equal to -another linestring, even if both do not have the same amount of points. -A polygon can be spatially equal to a multi-polygon (which then has -only one element). - -\par Geometries: -- \b point + \b point -- \b box + \b box - -\note There is a functor \ref compare "compare" as well, which can be used -for std:: library compatibility. - -*/ diff --git a/doc/doxy/doxygen_input/groups/for_each.hpp b/doc/doxy/doxygen_input/groups/for_each.hpp deleted file mode 100644 index 9965d5fc1..000000000 --- a/doc/doxy/doxygen_input/groups/for_each.hpp +++ /dev/null @@ -1,7 +0,0 @@ -/*! -\defgroup for_each for_each: apply a functor to each point or segment of a geometry -\details There are two algorithms provided which walk through the points or segments -of linestrings and polygons. They are called for_each_point, for_each_segment, -after the standard library -\note For both for_each algorithms there is a \b const and a non-const version provided. -*/ diff --git a/doc/doxy/doxygen_input/groups/geometries.hpp b/doc/doxy/doxygen_input/groups/geometries.hpp deleted file mode 100644 index d9a932a57..000000000 --- a/doc/doxy/doxygen_input/groups/geometries.hpp +++ /dev/null @@ -1,9 +0,0 @@ -/*! -\defgroup geometries geometries: geometries provided by default -\details The GGL can be used with the geometry classes provided by the library, -and with custom geometries registered by traits classes or registration -macros. - -This documentation page refers to the geometry classes provided by the library. - -*/ diff --git a/doc/doxy/doxygen_input/groups/groups.hpp b/doc/doxy/doxygen_input/groups/groups.hpp index 331ccd502..f4cf2e426 100644 --- a/doc/doxy/doxygen_input/groups/groups.hpp +++ b/doc/doxy/doxygen_input/groups/groups.hpp @@ -1,3 +1,10 @@ +// 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) + // File defining groups for Doxygen. // Note that group descriptions are (currently) not used. @@ -57,3 +64,828 @@ /*! \defgroup strategies strategies: strategies */ + +// ------------------------------------------------------- +// Former algorithms +// ------------------------------------------------------- + +/*! +\defgroup area area: calculate area of a Geometry + +\par Performance +2776 * 1000 area calculations are done in 0.11 seconds +(http://trac.osgeo.org/ggl/wiki/Performance#Area1) + +\par Coordinate systems and strategies +Area calculation can be done in Cartesian and in spherical/geographic +coordinate systems. + +\par Geometries +The area algorithm calculates the surface area of all geometries +having a surface: box, polygon, multi_polygon. The units are the square of +the units used for the points defining the surface. If the polygon is defined +in meters, the area is in square meters. + +\par Example: +Example showing area calculation of polygons built +\dontinclude doxygen_1.cpp +\skip example_area_polygon() +\line { +\until } + +*/ + + +/*! +\defgroup buffer buffer: calculate buffer of a geometry +\par Source description: +- OGC: Returns a geometric object that represents all Points whose distance +from this geometric object is less than or equal to distance. Calculations are in the spatial reference system of +this geometric object. Because of the limitations of linear interpolation, there will often be some relatively +small error in this distance, but it should be near the resolution of the coordinates used +\see http://en.wikipedia.org/wiki/Buffer_(GIS) +*/ + + +/*! +\defgroup centroid centroid: calculate centroid (center of gravity) of a geometry +\par Source descriptions: +- OGC description: The mathematical centroid for this Surface as a Point. The + result is not guaranteed to be on this Surface. +- From Wikipedia: Informally, it is the "average" of all points +\see http://en.wikipedia.org/wiki/Centroid +\note Polygon should be closed, and can be orientated either way +\note The "centroid" functions are taking a non const reference to the centroid. + The "make_centroid" functions return the centroid, the type has to be + specified. +\note Both of them have an overloaded version where + a centroid calculation strategy can be specified +\exception centroid_exception if calculation is not successful, + e.g. because polygon didn't contain points + +\par Example: +Example showing centroid calculation +\dontinclude doxygen_1.cpp +\skip example_centroid_polygon +\line { +\until } + +\par Performance +2776 * 1000 centroid calculations are done in 0.16 seconds +(http://trac.osgeo.org/ggl/wiki/Performance#Centroid1) + +\par Geometries: +- RING: \image html centroid_ring.png +- BOX: the centroid of a 2D or 3D box is the center of the box +- POLYGON \image html centroid_polygon.png +- POINT: the point is the centroid +- LINESTRING: the average of the centers of its segments +- MULTIPOINT: the average of the points +*/ + + +/*! +\defgroup combine combine: add a geometry to a bounding box +\par Geometries: +- \b box + \b box -> \b box: the box will be combined with the other box + \image html combine_box_box.png + \note Also if the input box is incorrect, the box will correctly updated +- \b box + \b point -> \b box: the box will combined with the point + \image html combine_box_point.png +- \b box + \b segment -> \b box +*/ + +/*! +\defgroup convert convert: convert geometries from one type to another +\details Convert from one geometry type to another type, + for example from BOX to POLYGON +\par Geometries: +- \b point to \b box -> a zero-area box of a point +- \b box to \b ring -> a rectangular ring +- \b box to \b polygon -> a rectangular polygon +- \b ring to \b polygon -> polygon with an exterior ring (the input ring) +- \b polygon to \b ring -> ring, interior rings (if any) are ignored +*/ + + +/*! +\defgroup difference difference: difference of two geometries +*/ + + +/*! +\defgroup disjoint disjoint: detect if geometries are not spatially related +\details disjoint means spatially disjoint, there is no overlap of interiors + and boundaries, the intersection of interiors or boundaries is empty. + +\par Geometries: +- \b point + \b point (= ! equals) +- \b point + \b box (= not within or on border) +- \b box + \b box +- \b ring + \b box +- \b polygon + \b box +- \b polygon + \b ring +- \b polygon + \b polygon + +*/ + + +/*! +\defgroup distance distance: calculate distance between two geometries +The distance algorithm returns the distance between two geometries. +\par Coordinate systems and strategies: +With help of strategies the distance function returns the appropriate distance. +If the input is in cartesian coordinates, the Euclidian distance (Pythagoras) is calculated. +If the input is in spherical coordinates (either degree or radian), the distance over the sphere is returned. +If the input is in geographic coordinates, distance is calculated over the globe and returned in meters. + +\par Distance result: +Depending on calculation type the distance result is either a structure, convertable +to a double, or a double value. In case of Pythagoras it makes sense to not draw the square root in the +strategy itself. Taking a square root is relative expensive and is not necessary when comparing distances. + +\par Geometries: +Currently implemented, for both cartesian and spherical/geographic: +- POINT - POINT +- POINT - SEGMENT and v.v. +- POINT - LINESTRING and v.v. + +Not yet implemented: +- POINT - RING etc, note that it will return a zero if the point is anywhere within the ring + +\par Example: +Example showing distance calculation of two points, in xy and in latlong coordinates +\dontinclude doxygen_1.cpp +\skip example_distance_point_point +\line { +\until } +*/ + + +/*! +\defgroup envelope envelope: calculate envelope (minimum bounding rectangle) of a geometry +\par Source descriptions: +- OGC: Envelope (): Geometry - The minimum bounding rectangle (MBR) for this + Geometry, +returned as a Geometry. The polygon is defined by the corner points of the + bounding box + [(MINX, MINY), (MAXX, MINY), (MAXX, MAXY), (MINX, MAXY), (MINX, MINY)]. + +\note Implemented in the Generic Geometry Library: The minimum bounding box, + always as a box, having min <= max + +The envelope algorithm calculates the bounding box, or envelope, of a geometry. +There are two versions: +- envelope, taking a reference to a box as second parameter +- make_envelope, returning a newly constructed box (type as a template parameter + in the function call) + +\par Geometries: +- \b point: a box with zero area, the maximum and the minimum point of the box are +set to the point itself. +- \b linestring, \b ring or \b range is the smallest box that contains all points of the + specified point sequence. +If the linestring is empty, the envelope is the inverse infinite box, that is, + the minimum point is very large (max infinite) and the maximum point is + very small (min infinite). +- \b polygon, the envelope of the outer ring +\image html envelope_polygon.png + +\par Example: +Example showing envelope calculation +\dontinclude doxygen_1.cpp +\skip example_envelope_linestring +\line { +\until } +*/ + + + +/*! +\defgroup equals equals: detect if two geometries are spatially equal +\details Equals returns true if geometries are spatially equal. Spatially equal +means including the same point-set. A linestring can be spatially equal to +another linestring, even if both do not have the same amount of points. +A polygon can be spatially equal to a multi-polygon (which then has +only one element). + +\par Geometries: +- \b point + \b point +- \b box + \b box + +\note There is a functor \ref compare "compare" as well, which can be used +for std:: library compatibility. + +*/ + +/*! +\defgroup for_each for_each: apply a functor to each point or segment of a geometry +\details There are two algorithms provided which walk through the points or segments +of linestrings and polygons. They are called for_each_point, for_each_segment, +after the standard library +\note For both for_each algorithms there is a \b const and a non-const version provided. +*/ + + +/*! +\defgroup intersection intersection: calculate new geometry + containing geometries A and B +\details The intersection of two geometries A and B is the geometry containing + all points of A also belonging to B, but no other elements. The so-called + clip is an intersection of a geometry with a box. +\par Source description: +- OGC: Returns a geometric object that represents the Point set intersection of + this geometric object with another Geometry. +\see http://en.wikipedia.org/wiki/Intersection_(set_theory) +\note Any intersection can result in no geometry at all + +\par Performance +- 2776 counties of US are intersected with a 100-points ellipse in 1.1 seconds +(http://trac.osgeo.org/ggl/wiki/Performance#Interesection) +- 2776 counties of US are clipped in 0.2 seconds +(http://trac.osgeo.org/ggl/wiki/Performance#Clip) + + +\par Geometries: +- \b polygon + \b box (clip) -> \b polygon(s) +\image html svg_intersection_polygon_box.png +\image html svg_intersection_countries.png +- \b ring + \b box (clip) -> \b polygon(s) +\image html svg_intersection_ring_box.png +- \b ring + \b ring -> \b polygon(s) +\image html svg_intersection_ring_ring.png +- \b polygon + \b ring -> \b polygon(s) +\image html svg_intersection_polygon_ring.png +- combinations above -> \b ring(s). + If the output is an ouput iterator of rings, holes are omitted +- \b linestring + \b box (clip) +\image html svg_intersection_roads.png + +\par Example: +Example showing clipping of linestring with box +\dontinclude doxygen_1.cpp +\skip example_clip_linestring1 +\line { +\until } +\par Example: +Example showing clipping of vector, outputting vectors, with box +\dontinclude doxygen_1.cpp +\skip example_clip_linestring2 +\line { +\until } +\par Example: +Example showing clipping of polygon with box +\dontinclude doxygen_1.cpp +\skip example_intersection_polygon1 +\line { +\until } +*/ + + +/*! +\defgroup intersects intersects: detect if a geometry self-intersects or if two geometries intersect +\par Source descriptions: +- OGC description: Returns 1 (TRUE) if this geometric object spatially + intersects anotherGeometry. +- OGC: a.Intersects(b) <=> ! a.Disjoint(b) +\note There are two overloaded versions: +- with one geometry, detecting self-intersections +- with two geometries, deferring to disjoint, returning !disjoint + +\par Geometries: +- \b ring +- \b polygon +- for two geometries: same is disjoint + +\note if one geometry is completely within another geometry, it "intersects" + +*/ + +/*! +\defgroup length length: calculate length of a linear geometry +The length algorithm is implemented for the linestring and the multi_linestring +geometry and results in the length of the linestring. If the points of +a linestring have coordinates expressed in kilometers, +the length of the line is expressed in kilometers as well. +\par Example: +Example showing length calculation +\dontinclude doxygen_1.cpp +\skip example_length_linestring_iterators1 +\line { +\until } +*/ + + + + + +/*! +\defgroup overlaps overlaps: detect overlap between two geometries +\par Source descriptions: +- Egenhofer: Two objects overlap if they have common interior faces and the bounding faces have common parts +with the opposite interior faces. + +\par Geometries: +- \b box + \b box + +*/ + + +/*! +\defgroup perimeter perimeter: calculate perimeter of a geometry +\par Geometries: +- \b polygon +- \b box +- \b linear_ring +- \b multi_polygon +*/ + +/*! +\defgroup reverse reverse: reverse a geometry + This is functionally equivalent to the std::reverse algorithm. + For a linestring or a linear ring, it is exactly the same as calling the std::reverse algorithm. + For a polygon or a multi-geometry, all its rings or elements are reversed. + + No check on order is applied. So a clockwise polygon (having positive area) + will be made counterclockwise (having negative area). + + The first and last points are reversed as well, even if they are closed and the same. +*/ + + + +/*! +\defgroup simplify simplify: remove points from a geometry, keeping shape (simplification or generalization) +\par Source description: +- Wikipedia: given a 'curve' composed of line segments to find a curve + not too dissimilar but that has fewer points + +\see http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm + +\par Performance +- Performance is measured on simplification of a collection of rings, + such that 10% of the points is kept. +- 2776 counties of US are simplified in 0.7 seconds +(http://trac.osgeo.org/ggl/wiki/Performance#Simplify1) + +\par Geometries +- \b linestring: +\image html svg_simplify_road.png +This US Road originally contained 34 points, the simplified version contains 7 points + +- \b polygon: +\image html svg_simplify_country.png +This country (Belgium) originally contained 55 points, the simplified version contains 24 points + +\note simplifying a valid simple polygon (which never intersects itself) + might result in an invalid polygon, where the simplified rings intersect + themselves or one of the other outer or inner rings. +Efficient simplification of a ring/polygon is still an "Open Problem" +(http://maven.smith.edu/~orourke/TOPP/P24.html#Problem.24) + +- \b multi_linestring +- \b multi_polygon + + +*/ + + + +/*! +\defgroup sym_difference sym_difference: sym_difference of two geometries +*/ +/*! +\defgroup transform transform: apply transformations on geometries +\brief Transforms from one geometry to another geometry, optionally using a strategy +\details The transform algorithm automatically transforms from one coordinate system to another coordinate system. +If the coordinate system of both geometries are the same, the geometry is copied. All point(s of the geometry) +are transformed. + +There is a version without a strategy, transforming automatically, and there is a version with a strategy. + +This function has a lot of appliances, for example +- transform from spherical coordinates to cartesian coordinates, and back +- transform from geographic coordinates to cartesian coordinates (projections) and back +- transform from degree to radian, and back +- transform from and to cartesian coordinates (mapping, translations, etc) + +The automatic transformations look to the coordinate system family, and dimensions, of the point type and by this +apply the strategy (internally bounded by traits classes). + +\par Examples: +The example below shows automatic transformations to go from one coordinate system to another one: +\dontinclude doxygen_2.cpp +\skip example_for_transform() +\skipline XYZ +\until endl; + +The next example takes another approach and transforms from Cartesian to Cartesian: +\skipline XY +\until endl; + +\note Not every possibility is yet worked out, e.g. polar coordinate system is ignored until now +\note This "transform" is broader then geodetic datum transformations, those are currently not worked out + +*/ + + +/*! +\defgroup union union: calculate new geometry containing geometries A or B +\details The union of two geometries A and B is the geometry containing + all points belong to either of A or B, but no other elements. +\par Source description: +- OGC: Returns a geometric object that represents the Point set union of + this geometric object with another Geometry. +\see http://en.wikipedia.org/wiki/Union_(set_theory) +\note A union of two rings can result in a polygon having a hole + +\par Geometries: +- \b polygon + \b box -> \b polygon(s) +\image html svg_union_polygon_box.png +- \b ring + \b box -> \b polygon(s) +\image html svg_union_ring_box.png +- \b ring + \b ring -> \b polygon(s) +\image html svg_union_ring_ring.png +- \b polygon + \b ring -> \b polygon(s) +\image html svg_union_polygon_ring.png +- combinations above -> \b ring(s). + If the output is an ouput iterator of rings, holes are omitted + +*/ + +/*! +\defgroup unique unique: make a geometry unique w.r.t. points, + so no duplicate consecutive points + +*/ + + + +/*! +\defgroup within within: detect if a geometry is inside another geometry, a.o. point-in-polygon + +\par Source descriptions: +- OGC: Returns 1 (TRUE) if this geometric object is "spatially within" + another Geometry. + +\par Performance +- 2776 within determinations using bounding box and polygon are done + in 0.05 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Within1) +- note that using another strategy the performance can be increased: + - winding : 0.093 s + - franklin : 0.062 s + - Crossings-multiply : 0.047 s +- but note also that the last two do not detect point-on-border cases + +\par Geometries: +- \b point + \b polygon: The well-known point-in-polygon, returning true if + a point falls within a polygon (and not +within one of its holes) \image html within_polygon.png +- \b point + \b ring: returns true if point is completely within + a ring \image html within_ring.png +- \b point + \b box +- \b box + \b box + +\par Example: +The within algorithm is used as following: +\dontinclude doxygen_1.cpp +\skip example_within +\line { +\until } + +*/ + + + + + + + + + + + +/*! +\defgroup iterators iterators: iterators +*/ + +/*! +\defgroup core core: meta-functions for geometry types +*/ +/*! +\defgroup arithmetic arithmetic: arithmetic operations on points +*/ + +/*! +\defgroup svg x Extension svg: Stream SVG (Scalable Vector Graphics) +*/ + + +/*! +\defgroup register register: Macros for registration +\details Registration of custom geometry types. +*/ + +/*! +\defgroup traits traits: adapt geometries +\brief Traits classes are small classes or structs to adapt geometries +such that they are recognized by the Generic Geometry Library +*/ + +/*! +\defgroup geometries geometries: geometries provided by default +\details The GGL can be used with the geometry classes provided by the library, +and with custom geometries registered by traits classes or registration +macros. + +This documentation page refers to the geometry classes provided by the library. + +*/ + +/*! +\defgroup wkt wkt: parse and stream WKT (Well-Known Text) +The wkt classes stream the specified geometry as \ref OGC Well Known Text (\ref WKT). It is defined for OGC geometries. +It is therefore not defined for all geometries (e.g. not for circle) +\note The implementation is independant from point type, point_xy and point_ll are supported, +as well as points with more than two coordinates. +*/ + +/*! +\defgroup utility utility: utility meta-functions and functions +\details The utilities, mostly in folder util, contain several headerfiles +not fitting in one of the other folders. + +The following meta-functions are general and do not relate to GGL: +- add_const_if_c +- select_most_precise + +They might fit into boost as a separate trait or utility, or there might +be a Boost equivalent which is yet unnoticed by the authors. + + +*/ + +/*! +\defgroup selected selection: check if a geometry is "selected" by a point + +Checks if one geometry is selected by a point lying within or in the neighborhood of that geometry + +\par Geometries: +- POINT: checks if points are CLOSE TO each other (< search_radius) +- LINESTRING: checks if selection point is CLOSE TO linestring (< search_radius) +- RING: checks if selection point is INSIDE the ring, search radius is ignored +- POLYGON: checks if selection point is INSIDE the polygon, but not inside any of its holes + +*/ + + +/*! +\defgroup cs coordinate systems +\brief Defines coordinate systems +\details Coordinate systems are essential for any point in the Generic Geometry Library. Many +algorithms such as distance or transform use coordinate systems to select the strategy to use. +*/ + + + + +/*! +\defgroup access access: get/set coordinate values, make objects, clear geometries, append point(s) +\details There are many ways to edit geometries. It is possible to: + +\li use the geometries themselves, so access point.x(). This is not done +inside the library because it is agnostic to geometry type. However, +library users can use this as it is intuitive. +\li use the standard library, so use .push_back(point) or use inserters. +This is also avoided inside the library. However, library users can use +it if they are used to the standard library +\li use the functionality provided in this geometry library. These are +the functions in this module. + +The library provides the following functions to edit geometries: +\li set to set one coordinate value +\li assign to set two or more coordinate values +\li make to construct and return geometries with specified coordinates. +\li append to append one or more points to a geometry +\li clear to remove all points from a geometry + +For getting coordinates it is similar: +\li get to get a coordinate value +\li or use the standard library +\li or use the geometries themselves +*/ + + + +/*! +\defgroup compare compare: define compare functors for points +\details The compare policies enable to compare points in a way that they can +be compared in many functions of the standard library. + +The functors do have an optional second template argument, \b dimension. +If dimension is specified, comparison is only done on that dimension. + +This is useful for (a.o.): +- std::sort (use geometry::less

or geometry::greater

or geometry::less) +- std::map (use geometry::less

) +- std::unique_copy (use geometry::equal_to

) + +\par Geometries: +- \b point + + +\par Example: +Example showing how geometry::less can be used +\dontinclude doxygen_3.cpp +\skip example_less() +\line { +\until } + + +\note There is a boolean function \ref equals "equals" as well, which returns +true or false if a geometry is spatially equal to another geometry. That one +is defined for OGC compatibility, while these ones are defined for +compatibility with the std:: library. These ones are functors, operating on +the same geometry type (currently only the point-type), the equals function is +a free function operating on different point types or even different geometry +types (a linestring can be spatially equal to a multi-linestring). +*/ + + +/*! +\defgroup convex_hull convex hull: calculate the convex hull of a geometry +\par Source descriptions: +- OGC description: Returns a geometric object that represents the convex hull of + this geometric object. Convex hulls, being dependent on straight lines, can + be accurately represented in linear interpolations + for any geometry restricted to linear interpolations. +\see http://en.wikipedia.org/wiki/Convex_hull + +\par Performance +2776 counties of US are "hulled" in 0.9 seconds +(http://trac.osgeo.org/ggl/wiki/Performance#Convexhull1) + +\note The convex hull is always a ring, holes are not possible. Therefore it is + can also be used in combination with an output iterator. + +\par Geometries supported: +In the images below the convex hull is painted in red. + +- \b point: will not compile + +- \b linestring: + +- \b polygon: will deliver a polygon without holes + \image html svg_convex_hull_country.png + +- \b multi_point: + \image html svg_convex_hull_cities.png + +- \b multi_linestring: + +- \b multi_polygon: + +\par Output geometries supported: + +- \b polygon + +- \b ring + +- inserter version (with output iterator) can output to any array supporting + points of same type as the input geometry type + +*/ + + +/*! +\defgroup concepts geometry concepts: defines and checks concepts for geometries + +All GGL algorithms use concepts for their geometries. This means that all +algorithms work on the GGL-provided geometries (point, linestring, etc) but +also on custom geometries. + +By declaring registration macro's or by specializating traits classes it is +possible to adapt custom or legacy geometries to fulfil the GGL geometry +concepts. + +GGL algorithms check the concepts of the input geometries. +Concept checking is done using BCCL (Boost Concept Check Library). + +This means that geometries provided by library users, or legacy geometries, or +plain arrays, or boost tuples, all can be handled by the Generic Geometry +Library. Also std::vector of points, or tuples can be handled either as a +linestring or as a linear ring (polygon without holes). + +There are concepts for +- points +- segment +- box +- linestring +- (linear) ring +- polygon +- multi point +- multi linestring +- multi polygon + +The Generic Geometry Library uses the Boost Range Library to iterate through +standard containers, boost arrays, c-arrays. +So: +- linestring +- (linear) ring + +are all just ranges. So a std::vector, std::deque, boost::array, +iterator pair or c-array will be accepted as such. + +Also the multi geometries: +- multi point +- multi linestring +- multi polygon +are considered as ranges of respectively points, linestrings and polygons. + +*/ + + + + + +/*! +\defgroup projections projections: Projections +\brief Projections are algorithms to transform earth coordinates (latlong coordinates, sphere coordinates, +coordinates in latitude longitude) to a cartesian system. Algorithms here are converted from PROJ4 (http://trac.osgeo.org/proj) + +\details Almost all projection sources are converted from PROJ4, from C to a C++ template structure. +PROJ4 is originally written by Gerald Evenden (then of the USGS). + +Projections can be used in combination with the Generic Geometry Library. +Because it does not use the Generic Geometry Library, +it might also be used as a standalone map projection library. +\par Projection parameters +(This list is adapted from the PROJ4 documentation.) +- \b proj is required for selection of the cartographic transformation +function and where name is an acronym for the desired projection. +- \b R specifies that the projection should be computed as a spherical Earth +with radius R. +- \b ellps The \b ellps option allows selection of standard, predefined +ellipsoid figures. For spherical only projections, the major axis is used as the +radius. +- \b a specifies an elliptical Earth's major axis a. +- \b es defines the elliptical Earth's squared eccentricity. Optionally, + either \b b, \b e, \b rf or \b f may be used where \b b, \b e and \b f are respective minor axis, + eccentricity and flattening and \b rf = 1/f +- \b R_A must be used with elliptical Earth parameters. It determines that spherical +computations be used with the radius of a sphere that has a surface area +equivalent to the selected ellipsoid. +- \b R_V can be used in a similar manner for sphere radius of an ellipse with equivalent volume. +- \b R_a must be used with elliptical Earth parameters. Spherical radius of the +arithmetic mean of the major and minor axis is used. +- \b R_g and \b R_h can be used for equivalent geometric and harmonic means of major and minor axis. +- \b R_lat_a must be used with elliptical Earth parameters. Spherical radius +of the arithmetic mean of the principle radii of the ellipsoid at latitude is used. +- \b R_lat_g can be used for equivalent geometric mean of the principle radii. +- \b x_0 false easting; added to x value of the cartesian coordinate. Used in +grid systems to avoid negative grid coordinates. +- \b y_0 false northing; added to y value of the cartesian coordinate. See x_0. +- \b lon_0 central meridian. Along with lat_0, normally determines the +geographic origin of the projection. +- \b lat_0 central parallel. See lon_0. +- \b units selects conversion of cartesian values to units specified by name. +When used, other + metric parameters must be in meters. +- \b geoc data geographic coordinates are to be treated as geocentric when this +option specified. +- \b over inhibit reduction of input longitude values to a range within ca. 180 of the central meridian. + +\note +- Note that many projections have also their own parameters, additionally to the list above +- Note also that some of the parameters above are required for some projections, others are always optionally + +\par Original copyright of PROJ4: +- Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: +- The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +*/ + + +/*! +\defgroup projection projection: Projection struct's, classes +\brief Projection struct's, classes + +\details +*/ + + +/* +- +init=file:key names a file containing cartographic control parameters associated +with the keyword key. +*/ diff --git a/doc/doxy/doxygen_input/groups/intersection.hpp b/doc/doxy/doxygen_input/groups/intersection.hpp deleted file mode 100644 index ba54df3a6..000000000 --- a/doc/doxy/doxygen_input/groups/intersection.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*! -\defgroup intersection intersection: calculate new geometry - containing geometries A and B -\details The intersection of two geometries A and B is the geometry containing - all points of A also belonging to B, but no other elements. The so-called - clip is an intersection of a geometry with a box. -\par Source description: -- OGC: Returns a geometric object that represents the Point set intersection of - this geometric object with another Geometry. -\see http://en.wikipedia.org/wiki/Intersection_(set_theory) -\note Any intersection can result in no geometry at all - -\par Performance -- 2776 counties of US are intersected with a 100-points ellipse in 1.1 seconds -(http://trac.osgeo.org/ggl/wiki/Performance#Interesection) -- 2776 counties of US are clipped in 0.2 seconds -(http://trac.osgeo.org/ggl/wiki/Performance#Clip) - - -\par Geometries: -- \b polygon + \b box (clip) -> \b polygon(s) -\image html svg_intersection_polygon_box.png -\image html svg_intersection_countries.png -- \b ring + \b box (clip) -> \b polygon(s) -\image html svg_intersection_ring_box.png -- \b ring + \b ring -> \b polygon(s) -\image html svg_intersection_ring_ring.png -- \b polygon + \b ring -> \b polygon(s) -\image html svg_intersection_polygon_ring.png -- combinations above -> \b ring(s). - If the output is an ouput iterator of rings, holes are omitted -- \b linestring + \b box (clip) -\image html svg_intersection_roads.png - -\par Example: -Example showing clipping of linestring with box -\dontinclude doxygen_1.cpp -\skip example_clip_linestring1 -\line { -\until } -\par Example: -Example showing clipping of vector, outputting vectors, with box -\dontinclude doxygen_1.cpp -\skip example_clip_linestring2 -\line { -\until } -\par Example: -Example showing clipping of polygon with box -\dontinclude doxygen_1.cpp -\skip example_intersection_polygon1 -\line { -\until } -*/ diff --git a/doc/doxy/doxygen_input/groups/intersects.hpp b/doc/doxy/doxygen_input/groups/intersects.hpp deleted file mode 100644 index c671c0605..000000000 --- a/doc/doxy/doxygen_input/groups/intersects.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*! -\defgroup intersects intersects: detect if a geometry self-intersects or if two geometries intersect -\par Source descriptions: -- OGC description: Returns 1 (TRUE) if this geometric object spatially - intersects anotherGeometry. -- OGC: a.Intersects(b) <=> ! a.Disjoint(b) -\note There are two overloaded versions: -- with one geometry, detecting self-intersections -- with two geometries, deferring to disjoint, returning !disjoint - -\par Geometries: -- \b ring -- \b polygon -- for two geometries: same is disjoint - -\note if one geometry is completely within another geometry, it "intersects" - -*/ diff --git a/doc/doxy/doxygen_input/groups/iterators.hpp b/doc/doxy/doxygen_input/groups/iterators.hpp deleted file mode 100644 index d16691854..000000000 --- a/doc/doxy/doxygen_input/groups/iterators.hpp +++ /dev/null @@ -1,3 +0,0 @@ -/*! -\defgroup iterators iterators: iterators -*/ diff --git a/doc/doxy/doxygen_input/groups/length.hpp b/doc/doxy/doxygen_input/groups/length.hpp deleted file mode 100644 index a961b6ad6..000000000 --- a/doc/doxy/doxygen_input/groups/length.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*! -\defgroup length length: calculate length of a linear geometry -The length algorithm is implemented for the linestring and the multi_linestring -geometry and results in the length of the linestring. If the points of -a linestring have coordinates expressed in kilometers, -the length of the line is expressed in kilometers as well. -\par Example: -Example showing length calculation -\dontinclude doxygen_1.cpp -\skip example_length_linestring_iterators1 -\line { -\until } -*/ - diff --git a/doc/doxy/doxygen_input/groups/midpoints.hpp b/doc/doxy/doxygen_input/groups/midpoints.hpp deleted file mode 100644 index bc7c0f611..000000000 --- a/doc/doxy/doxygen_input/groups/midpoints.hpp +++ /dev/null @@ -1,7 +0,0 @@ -/*! -\defgroup midpoints midpoints calculation -The midpoints algorithm calculate points IN BETWEEN of other points -\par Purpose: -- Remove corners in rectangular lines / polygons. Calling them several times will result in smooth lines -- Creating 3D models -*/ diff --git a/doc/doxy/doxygen_input/groups/overlaps.hpp b/doc/doxy/doxygen_input/groups/overlaps.hpp deleted file mode 100644 index 281a67727..000000000 --- a/doc/doxy/doxygen_input/groups/overlaps.hpp +++ /dev/null @@ -1,10 +0,0 @@ -/*! -\defgroup overlaps overlaps: detect overlap between two geometries -\par Source descriptions: -- Egenhofer: Two objects overlap if they have common interior faces and the bounding faces have common parts -with the opposite interior faces. - -\par Geometries: -- \b box + \b box - -*/ diff --git a/doc/doxy/doxygen_input/groups/parse.hpp b/doc/doxy/doxygen_input/groups/parse.hpp deleted file mode 100644 index 46f5f3c6a..000000000 --- a/doc/doxy/doxygen_input/groups/parse.hpp +++ /dev/null @@ -1,4 +0,0 @@ -/*! -\defgroup parse parse and assign string values -*/ - diff --git a/doc/doxy/doxygen_input/groups/perimeter.hpp b/doc/doxy/doxygen_input/groups/perimeter.hpp deleted file mode 100644 index 9404eb58d..000000000 --- a/doc/doxy/doxygen_input/groups/perimeter.hpp +++ /dev/null @@ -1,8 +0,0 @@ -/*! -\defgroup perimeter perimeter: calculate perimeter of a geometry -\par Geometries: -- \b polygon -- \b box -- \b linear_ring -- \b multi_polygon -*/ diff --git a/doc/doxy/doxygen_input/groups/register.hpp b/doc/doxy/doxygen_input/groups/register.hpp deleted file mode 100644 index e0efcd2c6..000000000 --- a/doc/doxy/doxygen_input/groups/register.hpp +++ /dev/null @@ -1,5 +0,0 @@ - -/*! -\defgroup register register: Macros for registration -\details Registration of custom geometry types. -*/ diff --git a/doc/doxy/doxygen_input/groups/reverse.hpp b/doc/doxy/doxygen_input/groups/reverse.hpp deleted file mode 100644 index 95ad6c0f3..000000000 --- a/doc/doxy/doxygen_input/groups/reverse.hpp +++ /dev/null @@ -1,12 +0,0 @@ -/*! -\defgroup reverse reverse: reverse a geometry - This is functionally equivalent to the std::reverse algorithm. - For a linestring or a linear ring, it is exactly the same as calling the std::reverse algorithm. - For a polygon or a multi-geometry, all its rings or elements are reversed. - - No check on order is applied. So a clockwise polygon (having positive area) - will be made counterclockwise (having negative area). - - The first and last points are reversed as well, even if they are closed and the same. -*/ - diff --git a/doc/doxy/doxygen_input/groups/sectionalize.hpp b/doc/doxy/doxygen_input/groups/sectionalize.hpp deleted file mode 100644 index fc2d7305f..000000000 --- a/doc/doxy/doxygen_input/groups/sectionalize.hpp +++ /dev/null @@ -1,10 +0,0 @@ -/*! -\defgroup sectionalize sectionalize: split a geometry (polygon, linestring, etc) - into monotonic sections - -\par Geometries: -- LINESTRING: -- RING: -- POLYGON: -- BOX -*/ diff --git a/doc/doxy/doxygen_input/groups/selected.hpp b/doc/doxy/doxygen_input/groups/selected.hpp deleted file mode 100644 index 9cba27aa8..000000000 --- a/doc/doxy/doxygen_input/groups/selected.hpp +++ /dev/null @@ -1,12 +0,0 @@ -/*! -\defgroup selected selection: check if a geometry is "selected" by a point - -Checks if one geometry is selected by a point lying within or in the neighborhood of that geometry - -\par Geometries: -- POINT: checks if points are CLOSE TO each other (< search_radius) -- LINESTRING: checks if selection point is CLOSE TO linestring (< search_radius) -- RING: checks if selection point is INSIDE the ring, search radius is ignored -- POLYGON: checks if selection point is INSIDE the polygon, but not inside any of its holes - -*/ diff --git a/doc/doxy/doxygen_input/groups/simplify.hpp b/doc/doxy/doxygen_input/groups/simplify.hpp deleted file mode 100644 index 960b6f97f..000000000 --- a/doc/doxy/doxygen_input/groups/simplify.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*! -\defgroup simplify simplify: remove points from a geometry, keeping shape (simplification or generalization) -\par Source description: -- Wikipedia: given a 'curve' composed of line segments to find a curve - not too dissimilar but that has fewer points - -\see http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm - -\par Performance -- Performance is measured on simplification of a collection of rings, - such that 10% of the points is kept. -- 2776 counties of US are simplified in 0.7 seconds -(http://trac.osgeo.org/ggl/wiki/Performance#Simplify1) - -\par Geometries -- \b linestring: -\image html svg_simplify_road.png -This US Road originally contained 34 points, the simplified version contains 7 points - -- \b polygon: -\image html svg_simplify_country.png -This country (Belgium) originally contained 55 points, the simplified version contains 24 points - -\note simplifying a valid simple polygon (which never intersects itself) - might result in an invalid polygon, where the simplified rings intersect - themselves or one of the other outer or inner rings. -Efficient simplification of a ring/polygon is still an "Open Problem" -(http://maven.smith.edu/~orourke/TOPP/P24.html#Problem.24) - -- \b multi_linestring -- \b multi_polygon - - -*/ - - diff --git a/doc/doxy/doxygen_input/groups/svg.hpp b/doc/doxy/doxygen_input/groups/svg.hpp deleted file mode 100644 index e92102b1e..000000000 --- a/doc/doxy/doxygen_input/groups/svg.hpp +++ /dev/null @@ -1,3 +0,0 @@ -/*! -\defgroup svg x Extension svg: Stream SVG (Scalable Vector Graphics) -*/ diff --git a/doc/doxy/doxygen_input/groups/sym_difference.hpp b/doc/doxy/doxygen_input/groups/sym_difference.hpp deleted file mode 100644 index 1f749ba12..000000000 --- a/doc/doxy/doxygen_input/groups/sym_difference.hpp +++ /dev/null @@ -1,3 +0,0 @@ -/*! -\defgroup sym_difference sym_difference: sym_difference of two geometries -*/ diff --git a/doc/doxy/doxygen_input/groups/traits.hpp b/doc/doxy/doxygen_input/groups/traits.hpp deleted file mode 100644 index 5baf1ca73..000000000 --- a/doc/doxy/doxygen_input/groups/traits.hpp +++ /dev/null @@ -1,5 +0,0 @@ -/*! -\defgroup traits traits: adapt geometries -\brief Traits classes are small classes or structs to adapt geometries -such that they are recognized by the Generic Geometry Library -*/ diff --git a/doc/doxy/doxygen_input/groups/transform.hpp b/doc/doxy/doxygen_input/groups/transform.hpp deleted file mode 100644 index 3c2c63d59..000000000 --- a/doc/doxy/doxygen_input/groups/transform.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*! -\defgroup transform transform: apply transformations on geometries -\brief Transforms from one geometry to another geometry, optionally using a strategy -\details The transform algorithm automatically transforms from one coordinate system to another coordinate system. -If the coordinate system of both geometries are the same, the geometry is copied. All point(s of the geometry) -are transformed. - -There is a version without a strategy, transforming automatically, and there is a version with a strategy. - -This function has a lot of appliances, for example -- transform from spherical coordinates to cartesian coordinates, and back -- transform from geographic coordinates to cartesian coordinates (projections) and back -- transform from degree to radian, and back -- transform from and to cartesian coordinates (mapping, translations, etc) - -The automatic transformations look to the coordinate system family, and dimensions, of the point type and by this -apply the strategy (internally bounded by traits classes). - -\par Examples: -The example below shows automatic transformations to go from one coordinate system to another one: -\dontinclude doxygen_2.cpp -\skip example_for_transform() -\skipline XYZ -\until endl; - -The next example takes another approach and transforms from Cartesian to Cartesian: -\skipline XY -\until endl; - -\note Not every possibility is yet worked out, e.g. polar coordinate system is ignored until now -\note This "transform" is broader then geodetic datum transformations, those are currently not worked out - -*/ diff --git a/doc/doxy/doxygen_input/groups/union.hpp b/doc/doxy/doxygen_input/groups/union.hpp deleted file mode 100644 index bdba93a03..000000000 --- a/doc/doxy/doxygen_input/groups/union.hpp +++ /dev/null @@ -1,24 +0,0 @@ - -/*! -\defgroup union union: calculate new geometry containing geometries A or B -\details The union of two geometries A and B is the geometry containing - all points belong to either of A or B, but no other elements. -\par Source description: -- OGC: Returns a geometric object that represents the Point set union of - this geometric object with another Geometry. -\see http://en.wikipedia.org/wiki/Union_(set_theory) -\note A union of two rings can result in a polygon having a hole - -\par Geometries: -- \b polygon + \b box -> \b polygon(s) -\image html svg_union_polygon_box.png -- \b ring + \b box -> \b polygon(s) -\image html svg_union_ring_box.png -- \b ring + \b ring -> \b polygon(s) -\image html svg_union_ring_ring.png -- \b polygon + \b ring -> \b polygon(s) -\image html svg_union_polygon_ring.png -- combinations above -> \b ring(s). - If the output is an ouput iterator of rings, holes are omitted - -*/ diff --git a/doc/doxy/doxygen_input/groups/unique.hpp b/doc/doxy/doxygen_input/groups/unique.hpp deleted file mode 100644 index d0c921092..000000000 --- a/doc/doxy/doxygen_input/groups/unique.hpp +++ /dev/null @@ -1,6 +0,0 @@ -/*! -\defgroup unique unique: make a geometry unique w.r.t. points, - so no duplicate consecutive points - -*/ - diff --git a/doc/doxy/doxygen_input/groups/utility.hpp b/doc/doxy/doxygen_input/groups/utility.hpp deleted file mode 100644 index eb1a38370..000000000 --- a/doc/doxy/doxygen_input/groups/utility.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*! -\defgroup utility utility: utility meta-functions and functions -\details The utilities, mostly in folder util, contain several headerfiles -not fitting in one of the other folders. - -The following meta-functions are general and do not relate to GGL: -- add_const_if_c -- select_most_precise - -They might fit into boost as a separate trait or utility, or there might -be a Boost equivalent which is yet unnoticed by the authors. - - -*/ diff --git a/doc/doxy/doxygen_input/groups/veshape.hpp b/doc/doxy/doxygen_input/groups/veshape.hpp deleted file mode 100644 index c3f7af6f4..000000000 --- a/doc/doxy/doxygen_input/groups/veshape.hpp +++ /dev/null @@ -1,4 +0,0 @@ -/*! -\defgroup veshape veshape: stream VEShape (Virtual Earth shapes for in VE Ajax Control) -\note VE assumes points in LatLong, Lat first -*/ diff --git a/doc/doxy/doxygen_input/groups/within.hpp b/doc/doxy/doxygen_input/groups/within.hpp deleted file mode 100644 index dc3fa43d8..000000000 --- a/doc/doxy/doxygen_input/groups/within.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*! -\defgroup within within: detect if a geometry is inside another geometry, a.o. point-in-polygon - -\par Source descriptions: -- OGC: Returns 1 (TRUE) if this geometric object is "spatially within" - another Geometry. - -\par Performance -- 2776 within determinations using bounding box and polygon are done - in 0.05 seconds (http://trac.osgeo.org/ggl/wiki/Performance#Within1) -- note that using another strategy the performance can be increased: - - winding : 0.093 s - - franklin : 0.062 s - - Crossings-multiply : 0.047 s -- but note also that the last two do not detect point-on-border cases - -\par Geometries: -- \b point + \b polygon: The well-known point-in-polygon, returning true if - a point falls within a polygon (and not -within one of its holes) \image html within_polygon.png -- \b point + \b ring: returns true if point is completely within - a ring \image html within_ring.png -- \b point + \b box -- \b box + \b box - -\par Example: -The within algorithm is used as following: -\dontinclude doxygen_1.cpp -\skip example_within -\line { -\until } - -*/ diff --git a/doc/doxy/doxygen_input/groups/wkt.hpp b/doc/doxy/doxygen_input/groups/wkt.hpp deleted file mode 100644 index ecd6573c4..000000000 --- a/doc/doxy/doxygen_input/groups/wkt.hpp +++ /dev/null @@ -1,7 +0,0 @@ -/*! -\defgroup wkt wkt: parse and stream WKT (Well-Known Text) -The wkt classes stream the specified geometry as \ref OGC Well Known Text (\ref WKT). It is defined for OGC geometries. -It is therefore not defined for all geometries (e.g. not for circle) -\note The implementation is independant from point type, point_xy and point_ll are supported, -as well as points with more than two coordinates. -*/ diff --git a/doc/doxy/doxygen_input/pages/doxygen_a_design_rationale.hpp b/doc/doxy/doxygen_input/pages/doxygen_a_design_rationale.hpp deleted file mode 100644 index 16d67796b..000000000 --- a/doc/doxy/doxygen_input/pages/doxygen_a_design_rationale.hpp +++ /dev/null @@ -1,809 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// -// Copyright Barend Gehrels 2007-2009, Geodan, Amsterdam, the Netherlands -// Copyright Bruno Lalande 2008, 2009 -// 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) - -#ifndef _DOXYGEN_DESIGN_RATIONALE_HPP -#define _DOXYGEN_DESIGN_RATIONALE_HPP - - -//--------------------------------------------------------------------------------------------------- - -/*! -\page design Design rationale - - - - -\section par1 Introduction - -Suppose you need C++ software to calculate the distance between two points. You might define a struct: - -\code -struct mypoint -{ - double x, y; -}; -\endcode - -And a function, containing the algorithm: -\code -double distance(mypoint const& a, mypoint const& b) -{ - double dx = a.x - b.x; - double dy = a.y - b.y; - return sqrt(dx * dx + dy * dy); -} -\endcode - -Quite simple, and it is usable, but not generic. For a library it has to be designed way further. The design above can only be used for 2D points, for the struct \b mypoint (and no other struct), in a Cartesian coordinate system. -A generic library should be able to calculate the distance: -- for any point class or struct, not on just this \b mypoint type -- in more than two dimensions -- for other coordinate systems, e.g. over the earth or on a sphere -- between a point and a line or between other geometry combinations -- in other (e.g. higher) precision than ‘double’ -- avoiding the square root: often we don’t want to calculate the square because it is a relatively expensive function, and for comparing distances it is not necessary - -In this page we will make the design step by step more generic. - - - - -\section par2 Using templates -The distance function can be changed into a template function. This is trivial and allows calculating the distance between other point types than just \b mypoint. We add two template parameters, allowing input of two different point types. - -\code -template -double distance(P1 const& a, P2 const& b) -{ - double dx = a.x - b.x; - double dy = a.y - b.y; - return sqrt(dx * dx + dy * dy); -} -\endcode - -This template version is slightly better, but not much. Consider a C++ class where member variables are protected… Such a class does not allow to access .x and .y directly. So this paragraph is short and we just go on. - - - - -\section par3 Using traits -We need to take a generic approach, to allow any point type as input to the distance function. Instead of accessing .x and .y, we will add a few levels of indirection, using a traits system. -The distance function then becomes: -\code -template -double distance(P1 const& a, P2 const& b) -{ - double dx = get<0>(a) - get<0>(b); - double dy = get<1>(a) - get<1>(b); - return sqrt(dx * dx + dy * dy); -} -\endcode - -This adapted distance function uses a generic get-function, with dimension as a template parameter, to access the coordinates of a point. This get-function forwards to a traits system, defined as following: -\code -namespace traits -{ - template - struct access {}; -} -\endcode - -which is then specialized for our \b mypoint type, implementing a static method called ‘get’: -\code -namespace traits -{ - template <> - struct access - { - static double get(mypoint const& p) - { - return p.x; - } - }; - // same for 1: p.y - ... -} -\endcode - -Calling traits::access::get(a) now returns us our x-coordinate. Nice? It is quite verbose for a function like this, used so often in the library. We can shorten the syntax by adding an extra \b free \b function: -\code -template -inline double get(P const& p) -{ - return traits::access::get(p); -} -\endcode - -This enables us to call get<0>(a), for any point having the traits::access specialization, as shown in the distance algorithm at the start of this paragraph. -So we wanted to enable classes with methods like .x(), and they are supported as long as there is a specialization of the access struct with a static get function returning .x() for dimension 0, and similar for 1 and .y(). - -Alternatively we could implement, in the traits class, the dimension as a template parameter in a member template function: - -\code -template <> -struct access -{ - template - static double get(mypoint const& p) - // either return x/y using an if-clause - // or call a detail-struct specialized - // per dimension -}; -\endcode - -This alternative gives in the end the same functionality. It however is either using an if-clause (which is not compile-time, so not preferred; it is slightly slower), or adding another level of indirection (a sub-structure specialized on dimension). Therefore the form with the dimension as a template parameter of the struct is preferred. - - - - - - -\section par4 Dimension agnosticism -Now we can calculate the distance between points in 2D, points of any structure or class. However, we wanted to have 3D as well. So we have to make it dimension agnostic. -This complicates our distance function. We can use a for-loop to walk through dimensions, but for loops have another performance than the straightforward coordinate addition which was there originally. However, we can make more usage of templates and implement the distance algorithm as following; it is more complex but attractive for template fans: -\code -template -struct pythagoras -{ - static double apply(P1 const& a, P2 const& b) - { - double d = get(a) - get(b); - return d * d + pythagoras::apply(a, b); - } -}; - -template -struct pythagoras -{ - static double apply(P1 const&, P2 const&) - { - return 0; - } -}; -\endcode - -The distance function is calling that pythagoras struct, specifying the number of dimensions: -\code -template -double distance(P1 const& a, P2 const& b) -{ - BOOST_STATIC_ASSERT(( dimension::value == dimension::value )); - - return sqrt(pythagoras::value>::apply(a, b)); -} -\endcode - -The dimension which is referred to is defined using another traits class: -\code -namespace traits -{ - template - struct dimension {}; -} -\endcode - -which has to be specialized again for the struct \b mypoint. Because it only has to publish a value, it can be conveniently derived from the Boost Meta-Programming Library (MPL) class boost::mpl::int_: -\code -namespace traits -{ - template <> - struct dimension - : boost::mpl::int_<2> - {}; -} -\endcode - -Like the free function \b get, the library also contains a metafunction \b dimension. -\code -template -struct dimension : traits::dimension

-{}; -\endcode - -The extra declaration is convenient to not call the traits namespace. But there is a more important reason why it is useful. This is explained below. -Now we have agnosticism in the number of dimensions. Our more generic distance function now accepts points of three or more dimensions. The compile-time assertion will prevent point \b a having two dimension and point \b b having three dimensions. - - - - - - - -\section par5 Coordinate type -We assumed double above. What if our points are in integer? We can easily add a traits class, and we will do that. However, the distance between two integer coordinates can still be an irrational value. Besides that, a design goal was to avoid square roots. We handle these cases below, in another paragraph. For the moment we keep returning double, but we allow integer coordinates for our point types. -To define the coordinate type, we add another traits class, coordinate_type, which should be specialized by the library user: -\code -namespace traits -{ - template - struct coordinate_type{}; - - // specialization for our mypoint - template <> - struct coordinate_type - { - typedef double type; - }; -} -\endcode - -Like the access function, where we had a free get function, we add a proxy here as well. A longer version is presented later on, the short function would look like this: - -\code -template -struct coordinate_type : traits::coordinate_type

{}; -\endcode - -We now can modify our distance algorithm again. Because it still returns double, we only modify the Pythagoras computation class. It should return the coordinate type of its input. But... it has two, possibly different, input point types. They might also differ in their coordinate types. Not that that is very likely, but we’re designing a generic library and we should handle those strange cases. -We have to choose one of the coordinate types and of course we select the one with the highest precision. This is not worked out here, it would be too long, and it is not related to geometry. -We just assume that there is a metafunction \b select_most_precise selecting the best type. -So our computation class becomes: -\code -template -struct pythagoras -{ - typedef typename select_most_precise - < - typename coordinate_type::type, - typename coordinate_type::type - >::type computation_type; - - static computation_type apply(P1 const& a, P2 const& b) - { - computation_type d = get(a) - get(b); - return d * d + pythagoras ::apply(a, b); - } -}; -\endcode - - - - - -\section par6 Different geometries -At this point, we’ve designed a dimension agnostic system supporting any point type of any coordinate type. There are still some tweaks but they will be worked out later. -Now we will see how we calculate the distance between a point and a polygon, or between a point and a line-segment. These formulae are more complex, and the influence on design is even larger. -We don’t want to add a function with another name: -\code -template -double distance_point_segment(P const& p, S const& s) -\endcode - -We want to be generic, the distance function has to be called from code not knowing the type of geometry it handles, so it has to be named distance. We also cannot create an overload because that would be ambiguous, having the same template signature. -There are two solutions to avoid this ambiguity: -- tag dispatching -- SFINAE - -We select tag dispatching because it fits into the traits system, and also because SFINAE has several drawbacks, listed in another paragraph. -With tag dispatching the distance algorithm inspects the type of geometry of the input parameters. The distance function is changed into: -\code -template -double distance(G1 const& g1, G2 const& g2) -{ - return dispatch::distance - < - typename tag::type, - typename tag::type, - G1, G2 - >::apply(g1, g2); -} -\endcode - -It is referring to a metafunction called \b tag and forwarding the call to the method \b apply of a dispatch::distance structure. The tag metafunction is another traits class, and should be specialized for per point type, both shown here: -\code -namespace traits -{ - template - struct tag {}; - - // specialization - template <> - struct tag - { - typedef point_tag type; - }; -} -\endcode - -There is again a free metafunction, like we did for \b coordinate_system and \b get: -\code -template -struct tag : traits::tag {}; -\endcode - -Tags (point_tag, segment_tag, etc) are empty structures with the sole purpose to specialize a dispatch class. -The dispatch class for distance, and its specializations, are all defined in a separate namespace and look like the following: - -\code -namespace dispatch { -template < typename Tag1, typename Tag2, typename G1, typename G2 > -struct distance -{}; - -template -struct distance < point_tag, point_tag, P1, P2 > -{ - static double apply(P1 const& a, P2 const& b) - { - // here we call pythagoras - // exactly like we did before - ... - } -}; - -template -struct distance -< - point_tag, segment_tag, P, S -> -{ - static double apply(P const& p, S const& s) - { - // here we refer to another function - // implementing point-segment - // calculations in 2 or 3 - // dimensions... - ... - } -}; -// here we might have many more -// specializations, -// for point-polygon, box-circle, etc. - -} // namespace -\endcode - -So yes, it is possible; the distance algorithm is generic now in the sense that it also supports different geometry types. One drawback: we have to define two dispatch specializations for point - segment and for segment - point separately. That will also be solved, in the paragraph reversibility below. -The example below shows where we are now: different point types, geometry types, dimensions. -\code -point a(1,1); -point b(2,2); -std::cout << distance(a,b) << std::endl; -segment s1(0,0,5,3); -std::cout << distance(a, s1) << std::endl; -rgb red(255, 0, 0); -rbc orange(255, 128, 0); -std::cout << "color distance: " << distance(red, orange) << std::endl; -\endcode - - - - - -\section par7 Kernel revisited - -We described above that we had a traits class coordinate_type, defined in namespace traits, and defined a separate coordinate_type class as well. This was actually not really necessary before, because the only difference was the namespace clause. But now that we have another geometry type, a segment in this case, it is essential. We can call the coordinate_type metafunction for any geometry type, point, segment, polygon, etc, implemented again by tag dispatching: - -\code -template -struct coordinate_type -{ - typedef typename dispatch::coordinate_type - < - typename tag::type, G - >::type type; -}; -\endcode - -Inside the dispatch namespace this metafunction is implemented twice: a generic version and one specialization for points. The specialization for points calls the traits class. The generic version calls the point specialization, as a sort of recursive metafunction definition: - -\code -namespace dispatch -{ - -// Version for any geometry: -template -struct coordinate_type -{ - typedef typename point_type - < - GeometryTag, G - >::type point_type; - - // Call specialization on point-tag - typedef typename coordinate_type < point_tag, point_type >::type type; -}; - -// Specialization for point-type: -template -struct coordinate_type -{ - typedef typename - traits::coordinate_type

::type - type; -}; -\endcode - - -So it calls another metafunction point_type. This is not elaborated in here but realize that it is available for all geometry types, and typedefs the point type which makes up the geometry, calling it type. - -The same applies for the metafunction dimension and for the upcoming metafunction coordinate_system. - - - - - -\section par8 Coordinate system -Until here we assumed a Cartesian system. But we know that the Earth is not flat. Calculating a distance between two GPS-points with the system above would result in nonsense. So we again extend our design. We define for each point type a coordinate system type, using the traits system again. Then we make the calculation dependant on that coordinate system. - -Coordinate system is similar to coordinate type, a metafunction, calling a dispatch function to have it for any geometry-type, forwarding to its point specialization, and finally calling a traits class, defining a typedef type with a coordinate system. We don’t show that all here again. We only show the definition of a few coordinate systems: -\code -struct cartesian {}; - -template -struct geographic -{ - typedef DegreeOrRadian units; -}; -\endcode - -So Cartesian is simple; for geographic we can also select if its coordinates are stored in degrees or in radians. - -The distance function will now change: it will select the computation method for the corresponding coordinate system and then call the dispatch struct for distance. We call the computation method specialized for coordinate systems a \b strategy. So the new version of the distance function is: - -\code -template -double distance(G1 const& g1, G2 const& g2) -{ - typedef typename default_distance_strategy - < - typename point_type::type, - typename point_type::type, - typename coordinate_system::type, - typename coordinate_system::type, - dimension::value - >::type strategy; - - return dispatch::distance - < - typename tag::type, - typename tag::type, - G1, G2, strategy - >::apply(g1, g2, strategy()); -} -\endcode - -The default_distance_strategy mentioned here is a metafunction with specializations for different coordinate systems. - -\code -template -struct default_distance_strategy -{ - // undefined; type is not defined -}; - -template -struct default_distance_strategy -{ - typedef pythagoras type; -}; -\endcode - -So here is our Pythagoras again, now defined as a strategy. The distance dispatch function just calls its apply method. - -So this is an important step: for spherical or geographical coordinate systems, another strategy (computation method) can be implemented. For spherical coordinate systems we have the haversine formula. So the dispatching traits struct is specialized like this: -\code -template -struct default_distance_strategy -{ - typedef haversine type; -}; - -// struct haversine with apply function -// is omitted here -\endcode - -For geography, we have some alternatives for distance calculation. There is the Andoyer method, fast and precise, and there is the Vincenty method, slower and more precise, and there are some less precise approaches as well. - -Per coordinate system, one strategy is defined as the default strategy. -To be able to use another strategy as well, we modify our design again and add an overload for the distance algorithm, taking a strategy object as a third parameter. - -This new overload distance function also has the advantage that the strategy can be constructed outside the distance function. Because it was constructed inside above, it could not have construction parameters. But for Andoyer or Vincenty, or the haversine formula, it certainly makes sense to have a constructor taking the radius of the earth as a parameter. -So the distance overloaded function is: - -\code -template -double distance(G1 const& g1, G2 const& g2, S const& strategy) -{ - return dispatch::distance - < - typename tag::type, - typename tag::type, - G1, G2, S - >::apply(g1, g2, strategy); -} -\endcode - -The strategy has to have a method \b apply taking two points as arguments (for points). It is not required that it is a static method. A strategy -might define a constructor, where a configuration value is passed and stored as a member variable. In those cases a static -method would be inconvenient. It can be implemented as a normal method (with the const qualifier). - -We do not list all implementations here, Vincenty would cover half a page of mathematics, but you will understand the idea. We can call distance like this: -\code -distance(c1, c2) -\endcode - -where c1,c2 are Cartesian points, or like this: - -\code -distance(g1, g2) -\endcode - -where g1,g2 are Geographic points, calling the default strategy for Geographic points (e.g. Andoyer), and like this: - -\code -distance(g1, g2, vincenty(6275)) -\endcode - -where a strategy is specified explicitly and constructed with a radius. - - - - - - - - - - -\section par9 Point concept -The five traits classes mentioned in the paragraphs above form together the Point Concept. Any point type for which specializations are implemented in the traits namespace should be handled correctly by the library. So the Point concept consists of: -- a specialization for traits::tag -- a specialization for traits::coordinate_system -- a specialization for traits::coordinate_type -- a specialization for traits::dimension -- a specialization for traits::access - -The last one is a class, containing the method \b get and the (optional) method \b set, the first four are metafunctions, either defining \b type or declaring \b value (conform MPL conventions). -So we now have agnosticism for the number of dimensions, agnosticism for coordinate systems, our design can handle any coordinate type, and it can handle different geometry types. -Furthermore we can specify our own strategies, the code will not compile in case of two points with different dimensions (because of the assertion), and it will not compile for two points with different coordinate systems (because there is no specialization). -We still have the distance function returning double. Next paragraph will solve that. - - - -\section par10 Return type -We promised that calling sqrt was not always necessary. So we define a distance result struct that contains the squared value and is convertible to a double value. -This, however, only has to be done for Pythagoras. The spherical distance functions do not take the square root so for them it is not necessary to avoid the expensive square root call; they can just return their distance. -So the distance result struct is dependant on strategy, therefore made a member type of the strategy. The result struct looks like this: -\code -template -struct cartesian_distance -{ - T sq; - explicit cartesian_distance(T const& v) : sq (v) {} - - inline operator T() const - { - return std::sqrt(sq); - } -}; -\endcode - -It also has operators defined to compare itself to other results without taking the square root. - -Each strategy should define its return type, within the strategy class, e.g.: - -\code - typedef cartesian_distance return_type; -\endcode -or: - -\code - typedef double return_type -\endcode - -for Pythagoras and spherical, respectively. - -Again our distance function will be modified, as expected, to reflect the new return type. For the overload with a strategy it is not complex: -\code -template < typename G1, typename G2, typename Strategy > -typename Strategy::return_type distance( G1 const& G1 , G2 const& G2 , S const& strategy) -\endcode - -But for the one without strategy we have to select strategy, coordinate type, etc. It would be spacious to do it in one line so we add a separate metafunction: -\code -template -struct distance_result -{ - typedef typename point_type::type P1; - typedef typename point_type::type P2; - typedef typename default_distance_strategy - < - P1, P2, - typename cs_tag::type, - typename cs_tag::type - >::type S; - - typedef typename S::return_type type; -}; -\endcode - -and modify our distance function: -\code -template -inline typename distance_result::type distance(G1 const& g1, G2 const& g2) -{ ... } -\endcode - -Of course also the apply functions in the dispatch specializations will return a result like this. They have a strategy as a template parameter everywhere, making the less verbose version possible. - - - - -\section par11 Reversibility -Our dispatch::distance class was specialized for pairs of geometries, like or . But library users can also call the distance function with a segment and a point, in that order. Actually, there are many geometry types (polygon, box, linestring), how to implement all combinations without duplicating all tag dispatching functions? -The answer is that we automatically reverse the arguments, if appropriate. For distance it is appropriate because distance is a commutative function. -We add a metafunction geometry_id, which has specializations for each geometry type, just derived from boost::mpl::int_, such that it can be ordered. Point is 1, segment is e.g. 2. - -Then we add a metafunction reverse_dispatch: -\code -template -struct reverse_dispatch : detail::reverse_dispatch - < - geometry_id::type::value, - geometry_id::type::value - > -{}; -\endcode - -Because of the order in geometry_id, we can arrange (template) parameters in that order, in specializations. So the detail structure looks like: -\code -namespace detail -{ - template - struct reverse_dispatch : boost::mpl::if_c - < - (Id1 > Id2), - boost::true_type, - boost::false_type - > - {}; -\endcode - -And our distance function will be modified again with some template meta-programming: - -\code -return boost::mpl::if_c - < - boost::geometry::reverse_dispatch ::type::value, - detail::distance_reversed - < - typename tag::type, - typename tag::type, - G1, G2, - // strategy - >, - dispatch::distance - < - typename tag::type, - typename tag::type, - G1, G2, - // strategy - > - > - >::type::apply(g1, g2, s); -\endcode - -Where the detail::distance_reversed is a specific struct, forwarding its call to dispatch::distance, reversing all its template arguments and function arguments. - - -\section par13 Multi-geometries -Consider Hawaii as a multi_polygon: it is a set of islands (polygons), forming together one entity. The shortest distance from a ship to Hawaii is the shortest distance to the closest island. That algorithm also holds for the shortest distance from a point to a multi-line or a multi-point. -So we don't want to implement that functionality three times. Instead we add a metafunction, is_multi, which is always true for a multi-geometry (multi-point, multi-linestring, multi-polygon) and always false for the single versions. - -\code -template -struct is_multi : core_dispatch::is_multi::type> -{}; - - -namespace dispatch -{ - -template -struct is_multi : boost::false_type {}; - -template <> -struct is_multi : boost::true_type {}; - - -template <> -struct is_multi : boost::true_type {}; - - -template <> -struct is_multi : boost::true_type {}; - -} // namespace dispatch -\endcode - - -Now we can specialize on is_multi, so we add two boolean IsMulti's, one for each geometry type, to our distance dispatch struct and make the call to them in the distance function: - -\code -// specialization: -template -struct distance - < - GeometryTag1, GeometryTag2, G1, G2, Strategy, - false, // G1 is_multi == false, so dispatch a 'single' geometry - true // G2 is_multi == true, so dispatch a multi-geometry - > - : detail::distance::distance_single_to_multi -{}; -\endcode - - - - -If that relatively simple change is done, we have to do one thing: implement the single-to-multi distance implementation structure - -\code -template -struct distance_single_to_multi -{ - typedef typename Strategy::return_type return_type; - - static return_type apply(Geometry const& geometry, - MultiGeometry const& multi, - Strategy const& strategy) - { - using namespace boost; - - return_type mindist = make_distance_result( - numeric::bounds::type>::highest()); - - typedef typename range_const_iterator::type iterator; - for(iterator it = begin(multi); it != end(multi); ++it) - { - return_type dist = boost::geometry::distance(geometry, *it); - if (dist < mindist) - { - mindist = dist; - } - } - - return mindist; - } -}; -\endcode - - - -which iterates over a collection of multi-shapes, and returns the shortest distance. Another function can implement the multi-to-multi function. Note that because of reversibility we don't have to implement the multi-to-single version (as long as multi's always have an higher ID than single's). - - - -\section par14 SFINAE -Instead of tag dispatching we alternatively could have chosen for SFINAE, mentioned above. With SFINAE (Substitution Failure Is Not An Error) we add optional parameters to the distance function, which sole use is to make an overload invalid for other geometry types than specified. So like: -\code -template -inline double distance(P1 const& p1, P2 const& p2 - , typename boost::enable_if >::type* = 0 - , typename boost::enable_if >::type* = 0 - ) - { - return impl::distance::point_to_point(p1, p2); - } -\endcode - -There would then be overloads for point-segment, point-polygon, etc. -This SFINAE: -- gives often compiler troubles and headaches: if a user makes an error somewhere, the compiler will not select any of the methods, and/or it will give completely incomprehensible error listings, just because of this SFINAE. -Stated otherwise (pasted from an answer on the list): With SFINAE the real error is hidden behind the phrase "Failed to specialize". The compiler discards all overloads, because of an error somewhere, and you get this error with no clue how to go on. What you get is the error that it is just failing. All overloads are gone, the compiler is not wrong, there is an error somewhere, but the only visible error message which makes sense for the compiler to give is something like "failed to specialize" or "no matching function call". With tag dispatching you get the real error message. That can also be difficult, but the message(s), sometimes a whole list, give at least a clue of what's wrong. In this case: add the banana-tag or add an implementation for banana. The usage of concepts should reduce the length of the list and give a clearer error message. -- So the essence is: compiler errors in code based on tag dispatching are easier to find than compiler errors in code based on SFINAE, because the SFINAE-case is based on discarding overloads and meaningful error messages are discarded as well -- the combination of SFINAE and the BCCL using boost-concept-requires has been quite difficult, or impossible -- does not support partial specializations because it is a function. The tag-dispatching function is of course also not supporting that, but it forwards its call to the dispatch struct where partial specializations (and member template functions) are possible. The SFINAE could do that as well but then: why not just add one tag more and have tag dispatching instead? -- is a trick to deceive the compiler. “As a language behavior it was designed to avoid programs becoming ill-formed” (http://en.wikipedia.org/wiki/Substitution_failure_is_not_an_error), while tag dispatching is based on specialization, a core feature of C++ -- is more verbose (tag dispatching makes the main free function declarations shorter) -- several Boost reviewers appreciated the tag dispatching approach and prefered them over SFINAE - - -*/ - -#endif // _DOXYGEN_DESIGN_RATIONALE_HPP diff --git a/doc/doxy/doxygen_input/pages/doxygen_mainpage.hpp b/doc/doxy/doxygen_input/pages/doxygen_mainpage.hpp index 6a8743fd0..8d2a4ed8f 100644 --- a/doc/doxy/doxygen_input/pages/doxygen_mainpage.hpp +++ b/doc/doxy/doxygen_input/pages/doxygen_mainpage.hpp @@ -18,9 +18,9 @@ \section header Boost.Geometry (aka GGL, Generic Geometry Library) -Copyright © 1995-2010 Barend Gehrels, Geodan, Amsterdam, the Netherlands.\n -Copyright © 2008-2010 Bruno Lalande, Paris, France.\n -Copyright © 2010 Mateusz Loskot, Cadcorp, London, UK.\n +Copyright © 1995-2010 Barend Gehrels, Geodan, Amsterdam, the Netherlands.\n +Copyright © 2008-2010 Bruno Lalande, Paris, France.\n +Copyright © 2010 Mateusz Loskot, Cadcorp, London, UK.\n Distributed under the Boost Software License, Version 1.0.\n (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/doxy/doxygen_input/pages/doxygen_z_article09.hpp b/doc/doxy/doxygen_input/pages/doxygen_z_article09.hpp index e68451c58..92b324c50 100644 --- a/doc/doxy/doxygen_input/pages/doxygen_z_article09.hpp +++ b/doc/doxy/doxygen_input/pages/doxygen_z_article09.hpp @@ -55,7 +55,7 @@ For convenience three other concepts are defined: - a segment: a part of line bounded by two points, to calculate e.g. distances and intersections Besides defining custom types, library users can make specializations of algorithms for their geometry types and in such way implement support for, for example, triangles. This will be worked out below. -The Boost Concept Check Library (BCCL) is used internally to check if the developer’s input follows the concepts expected by the library. +The Boost Concept Check Library (BCCL) is used internally to check if the developer's input follows the concepts expected by the library. @@ -90,7 +90,7 @@ The Generic Geometry Library provides a generic transform algorithm which can tr \section art09_types Types And Strategies -Algorithms depend on coordinate system. Let’s take, for example, the distance calculation between two points. For points in a Cartesian coordinate space the simple and well known Pythagorean theorem applies. For points in the geographic coordinate system (latitude longitude, also known as latlong, lola or ll) the distance can be calculated using the haversine formula (it is possible to select other formulas as well, which is described below). +Algorithms depend on coordinate system. Let's take, for example, the distance calculation between two points. For points in a Cartesian coordinate space the simple and well known Pythagorean theorem applies. For points in the geographic coordinate system (latitude longitude, also known as latlong, lola or ll) the distance can be calculated using the haversine formula (it is possible to select other formulas as well, which is described below). The Generic Geometry Library provides a tag dispatching system which selects strategies based on coordinate system. So distances and areas for spherical coordinates are internally calculated differently then distances and areas for Cartesian coordinates. This is, by default, not visible for the library user, it is an automatic tag dispatching system. The tag dispatching system is also used to distinguish geometry types internally. So the generic distance algorithm can get two points (in any coordinate system) as input, but also a point and a linestring, a point and a polygon, et cetera. @@ -118,7 +118,7 @@ Algorithms as simplification (removing non important points from point sequences \section art09_specializations Specializations -Besides strategies, library users have also other options for customization. For example: the Generic Geometry Library itself does not support triangles. Instead it supports polygons (which might contain holes) and linear rings. However, if the library user wants to use triangles directly, he can implement his own type. Let’s work this example out. A triangle can be represented by three coordinate pairs. The library user can make a triangle of his own points (in this case: custom_point), using e.g. a boost::array. +Besides strategies, library users have also other options for customization. For example: the Generic Geometry Library itself does not support triangles. Instead it supports polygons (which might contain holes) and linear rings. However, if the library user wants to use triangles directly, he can implement his own type. Let's work this example out. A triangle can be represented by three coordinate pairs. The library user can make a triangle of his own points (in this case: custom_point), using e.g. a boost::array. \code struct triangle : public boost::array {}; @@ -135,7 +135,7 @@ namespace ggl } \endcode As soon as this is done, the library will automatically select the ring specializations for all triangle algorithms. Because the Generic Geometry Library handles a ring as being a range, the user does not have to provide anything more. The Boost Range library concepts are used internally for all iterations. -So the area of the user’s custom-points-triangle will be calculated correctly, using internally an iterator which walks through the point coordinates. +So the area of the user's custom-points-triangle will be calculated correctly, using internally an iterator which walks through the point coordinates. But wait, for triangle that is not as efficient as possible! No problem, the developer can, if desired, implement a specialization for the area function: \code template<> @@ -148,7 +148,7 @@ double area(const triangle& t) } \endcode -Now this specialization will be used to calculate the area of the developer’s triangles, while for other algorithms (centroid, within, intersection, et cetera) the generic ring versions still being used. +Now this specialization will be used to calculate the area of the developer's triangles, while for other algorithms (centroid, within, intersection, et cetera) the generic ring versions still being used. The Generic Geometry Library also provides a second way to specialize. Within the dispatch namespace, structs are available for all operations. They can be partially specialized such that, for example, a triangle templatized by point type will be handled correctly by the library. diff --git a/doc/doxy/make_documentation.bat b/doc/doxy/make_documentation.bat index a72a7ad2c..e7e3dcea2 100644 --- a/doc/doxy/make_documentation.bat +++ b/doc/doxy/make_documentation.bat @@ -1,3 +1,11 @@ +:: =========================================================================== +:: Copyright (c) 2010 Barend Gehrels, 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)9 +:: ============================================================================ + @echo off doxygen diff --git a/doc/extensions/gis/projections/doxygen_modules.hpp b/doc/extensions/gis/projections/doxygen_modules.hpp deleted file mode 100644 index 1280e650a..000000000 --- a/doc/extensions/gis/projections/doxygen_modules.hpp +++ /dev/null @@ -1,82 +0,0 @@ - -/*! -\defgroup projections projections: Projections -\brief Projections are algorithms to transform earth coordinates (latlong coordinates, sphere coordinates, -coordinates in latitude longitude) to a cartesian system. Algorithms here are converted from PROJ4 (http://trac.osgeo.org/proj) - -\details Almost all projection sources are converted from PROJ4, from C to a C++ template structure. -PROJ4 is originally written by Gerald Evenden (then of the USGS). - -Projections can be used in combination with the Generic Geometry Library. -Because it does not use the Generic Geometry Library, -it might also be used as a standalone map projection library. -\par Projection parameters -(This list is adapted from the PROJ4 documentation.) -- \b proj is required for selection of the cartographic transformation -function and where name is an acronym for the desired projection. -- \b R specifies that the projection should be computed as a spherical Earth -with radius R. -- \b ellps The \b ellps option allows selection of standard, predefined -ellipsoid figures. For spherical only projections, the major axis is used as the -radius. -- \b a specifies an elliptical Earth’s major axis a. -- \b es defines the elliptical Earth’s squared eccentricity. Optionally, - either \b b, \b e, \b rf or \b f may be used where \b b, \b e and \b f are respective minor axis, - eccentricity and flattening and \b rf = 1/f -- \b R_A must be used with elliptical Earth parameters. It determines that spherical -computations be used with the radius of a sphere that has a surface area -equivalent to the selected ellipsoid. -- \b R_V can be used in a similar manner for sphere radius of an ellipse with equivalent volume. -- \b R_a must be used with elliptical Earth parameters. Spherical radius of the -arithmetic mean of the major and minor axis is used. -- \b R_g and \b R_h can be used for equivalent geometric and harmonic means of major and minor axis. -- \b R_lat_a must be used with elliptical Earth parameters. Spherical radius -of the arithmetic mean of the principle radii of the ellipsoid at latitude is used. -- \b R_lat_g can be used for equivalent geometric mean of the principle radii. -- \b x_0 false easting; added to x value of the cartesian coordinate. Used in -grid systems to avoid negative grid coordinates. -- \b y_0 false northing; added to y value of the cartesian coordinate. See x_0. -- \b lon_0 central meridian. Along with lat_0, normally determines the -geographic origin of the projection. -- \b lat_0 central parallel. See lon_0. -- \b units selects conversion of cartesian values to units specified by name. -When used, other + metric parameters must be in meters. -- \b geoc data geographic coordinates are to be treated as geocentric when this -option specified. -- \b over inhibit reduction of input longitude values to a range within ±180 of the central meridian. - -\note -- Note that many projections have also their own parameters, additionally to the list above -- Note also that some of the parameters above are required for some projections, others are always optionally - -\par Original copyright of PROJ4: -- Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: -- The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. -*/ - - -/*! -\defgroup projection projection: Projection struct's, classes -\brief Projection struct's, classes - -\details -*/ - - -/* -- +init=file:key names a file containing cartographic control parameters associated -with the keyword key. -*/ diff --git a/doc/html/boostbook.css b/doc/html/boostbook.css deleted file mode 100644 index 0a72f7814..000000000 --- a/doc/html/boostbook.css +++ /dev/null @@ -1,598 +0,0 @@ -/*============================================================================= - Copyright (c) 2004 Joel de Guzman - http://spirit.sourceforge.net/ - - Distributed under the Boost Software License, Version 1.0. (See accompany- - ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -=============================================================================*/ - -/*============================================================================= - Body defaults -=============================================================================*/ - - body - { - margin: 1em; - font-family: sans-serif; - } - -/*============================================================================= - Paragraphs -=============================================================================*/ - - p - { - text-align: left; - font-size: 10pt; - line-height: 1.15; - } - -/*============================================================================= - Program listings -=============================================================================*/ - - /* Code on paragraphs */ - p tt.computeroutput - { - font-size: 9pt; - } - - pre.synopsis - { - font-size: 90%; - margin: 1pc 4% 0pc 4%; - padding: 0.5pc 0.5pc 0.5pc 0.5pc; - } - - .programlisting, - .screen - { - font-size: 9pt; - display: block; - margin: 1pc 4% 0pc 4%; - padding: 0.5pc 0.5pc 0.5pc 0.5pc; - } - - /* Program listings in tables don't get borders */ - td .programlisting, - td .screen - { - margin: 0pc 0pc 0pc 0pc; - padding: 0pc 0pc 0pc 0pc; - } - -/*============================================================================= - Headings -=============================================================================*/ - - h1, h2, h3, h4, h5, h6 - { - text-align: left; - margin: 1em 0em 0.5em 0em; - font-weight: bold; - } - - h1 { font: 140% } - h2 { font: bold 140% } - h3 { font: bold 130% } - h4 { font: bold 120% } - h5 { font: italic 110% } - h6 { font: italic 100% } - - /* Top page titles */ - title, - h1.title, - h2.title - h3.title, - h4.title, - h5.title, - h6.title, - .refentrytitle - { - font-weight: bold; - margin-bottom: 1pc; - } - - h1.title { font-size: 140% } - h2.title { font-size: 140% } - h3.title { font-size: 130% } - h4.title { font-size: 120% } - h5.title { font-size: 110% } - h6.title { font-size: 100% } - - .section h1 - { - margin: 0em 0em 0.5em 0em; - font-size: 140%; - } - - .section h2 { font-size: 140% } - .section h3 { font-size: 130% } - .section h4 { font-size: 120% } - .section h5 { font-size: 110% } - .section h6 { font-size: 100% } - - /* Code on titles */ - h1 tt.computeroutput { font-size: 140% } - h2 tt.computeroutput { font-size: 140% } - h3 tt.computeroutput { font-size: 130% } - h4 tt.computeroutput { font-size: 130% } - h5 tt.computeroutput { font-size: 130% } - h6 tt.computeroutput { font-size: 130% } - - -/*============================================================================= - Author -=============================================================================*/ - - h3.author - { - font-size: 100% - } - -/*============================================================================= - Lists -=============================================================================*/ - - li - { - font-size: 10pt; - line-height: 1.3; - } - - /* Unordered lists */ - ul - { - text-align: left; - } - - /* Ordered lists */ - ol - { - text-align: left; - } - -/*============================================================================= - Links -=============================================================================*/ - - a - { - text-decoration: none; /* no underline */ - } - - a:hover - { - text-decoration: underline; - } - -/*============================================================================= - Spirit style navigation -=============================================================================*/ - - .spirit-nav - { - text-align: right; - } - - .spirit-nav a - { - color: white; - padding-left: 0.5em; - } - - .spirit-nav img - { - border-width: 0px; - } - -/*============================================================================= - Copyright footer -=============================================================================*/ - .copyright-footer - { - text-align: right; - font-size: 70%; - } - - .copyright-footer p - { - text-align: right; - font-size: 80%; - } - -/*============================================================================= - Table of contents -=============================================================================*/ - - .toc - { - margin: 1pc 4% 0pc 4%; - padding: 0.1pc 1pc 0.1pc 1pc; - font-size: 80%; - line-height: 1.15; - } - - .boost-toc - { - float: right; - padding: 0.5pc; - } - - /* Code on toc */ - .toc .computeroutput { font-size: 120% } - -/*============================================================================= - Tables -=============================================================================*/ - - .table-title, - div.table p.title - { - margin-left: 4%; - padding-right: 0.5em; - padding-left: 0.5em; - } - - .informaltable table, - .table table - { - width: 92%; - margin-left: 4%; - margin-right: 4%; - } - - div.informaltable table, - div.table table - { - padding: 4px; - } - - /* Table Cells */ - div.informaltable table tr td, - div.table table tr td - { - padding: 0.5em; - text-align: left; - font-size: 9pt; - } - - div.informaltable table tr th, - div.table table tr th - { - padding: 0.5em 0.5em 0.5em 0.5em; - border: 1pt solid white; - font-size: 80%; - } - - table.simplelist - { - width: auto !important; - margin: 0em !important; - padding: 0em !important; - border: none !important; - } - table.simplelist td - { - margin: 0em !important; - padding: 0em !important; - text-align: left !important; - font-size: 9pt !important; - border: none !important; - } - -/*============================================================================= - Blurbs -=============================================================================*/ - - div.note, - div.tip, - div.important, - div.caution, - div.warning, - p.blurb - { - font-size: 9pt; /* A little bit smaller than the main text */ - line-height: 1.2; - display: block; - margin: 1pc 4% 0pc 4%; - padding: 0.5pc 0.5pc 0.5pc 0.5pc; - } - - p.blurb img - { - padding: 1pt; - } - -/*============================================================================= - Variable Lists -=============================================================================*/ - - div.variablelist - { - margin: 1em 0; - } - - /* Make the terms in definition lists bold */ - div.variablelist dl dt, - span.term - { - font-weight: bold; - font-size: 10pt; - } - - div.variablelist table tbody tr td - { - text-align: left; - vertical-align: top; - padding: 0em 2em 0em 0em; - font-size: 10pt; - margin: 0em 0em 0.5em 0em; - line-height: 1; - } - - div.variablelist dl dt - { - margin-bottom: 0.2em; - } - - div.variablelist dl dd - { - margin: 0em 0em 0.5em 2em; - font-size: 10pt; - } - - div.variablelist table tbody tr td p, - div.variablelist dl dd p - { - margin: 0em 0em 0.5em 0em; - line-height: 1; - } - -/*============================================================================= - Misc -=============================================================================*/ - - /* Title of books and articles in bibliographies */ - span.title - { - font-style: italic; - } - - span.underline - { - text-decoration: underline; - } - - span.strikethrough - { - text-decoration: line-through; - } - - /* Copyright, Legal Notice */ - div div.legalnotice p - { - text-align: left - } - -/*============================================================================= - Colors -=============================================================================*/ - - @media screen - { - body { - background-color: #FFFFFF; - color: #000000; - } - - /* Links */ - a - { - color: #005a9c; - } - - a:visited - { - color: #9c5a9c; - } - - h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, - h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, - h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited - { - text-decoration: none; /* no underline */ - color: #000000; - } - - /* Syntax Highlighting */ - .keyword { color: #0000AA; } - .identifier { color: #000000; } - .special { color: #707070; } - .preprocessor { color: #402080; } - .char { color: teal; } - .comment { color: #800000; } - .string { color: teal; } - .number { color: teal; } - .white_bkd { background-color: #FFFFFF; } - .dk_grey_bkd { background-color: #999999; } - - /* Copyright, Legal Notice */ - .copyright - { - color: #666666; - font-size: small; - } - - div div.legalnotice p - { - color: #666666; - } - - /* Program listing */ - pre.synopsis - { - border: 1px solid #DCDCDC; - } - - .programlisting, - .screen - { - border: 1px solid #DCDCDC; - } - - td .programlisting, - td .screen - { - border: 0px solid #DCDCDC; - } - - /* Blurbs */ - div.note, - div.tip, - div.important, - div.caution, - div.warning, - p.blurb - { - border: 1px solid #DCDCDC; - } - - /* Table of contents */ - .toc - { - border: 1px solid #DCDCDC; - } - - /* Tables */ - div.informaltable table tr td, - div.table table tr td - { - border: 1px solid #DCDCDC; - } - - div.informaltable table tr th, - div.table table tr th - { - background-color: #F0F0F0; - border: 1px solid #DCDCDC; - } - - .copyright-footer - { - color: #8F8F8F; - } - - /* Misc */ - span.highlight - { - color: #00A000; - } - } - - @media print - { - /* Links */ - a - { - color: black; - } - - a:visited - { - color: black; - } - - .spirit-nav - { - display: none; - } - - /* Program listing */ - pre.synopsis - { - border: 1px solid gray; - } - - .programlisting, - .screen - { - border: 1px solid gray; - } - - td .programlisting, - td .screen - { - border: 0px solid #DCDCDC; - } - - /* Table of contents */ - .toc - { - border: 1px solid gray; - } - - .informaltable table, - .table table - { - border: 1px solid gray; - border-collapse: collapse; - } - - /* Tables */ - div.informaltable table tr td, - div.table table tr td - { - border: 1px solid gray; - } - - div.informaltable table tr th, - div.table table tr th - { - border: 1px solid gray; - } - - table.simplelist tr td - { - border: none !important; - } - - /* Misc */ - span.highlight - { - font-weight: bold; - } - } - -/*============================================================================= - Images -=============================================================================*/ - - span.inlinemediaobject img - { - vertical-align: middle; - } - -/*============================================================================== - Super and Subscript: style so that line spacing isn't effected, see - http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=1&postId=5341 -==============================================================================*/ - -sup, -sub { - height: 0; - line-height: 1; - vertical-align: baseline; - _vertical-align: bottom; - position: relative; - -} - -sup { - bottom: 1ex; -} - -sub { - top: .5ex; -} - diff --git a/doc/make_qbk.py b/doc/make_qbk.py index 0bd5e8827..10b6c577f 100755 --- a/doc/make_qbk.py +++ b/doc/make_qbk.py @@ -17,98 +17,98 @@ import os, sys cmd="doxygen_xml2qbk doxy/doxygen_output/xml/%s.xml ../../../ boost/geometry/geometry.hpp boost/geometry/geometries/geometries.hpp boost/geometry/multi/multi.hpp > reference/%s.qbk" def call_doxygen(): - os.chdir("doxy"); - os.system("doxygen") - os.chdir("..") + os.chdir("doxy"); + os.system("doxygen") + os.chdir("..") def group_to_quickbook(section): - os.system(cmd % ("group__" + section.replace("_", "__"), section)) + os.system(cmd % ("group__" + section.replace("_", "__"), section)) def model_to_quickbook(classname, section): - os.system(cmd % ("classboost_1_1geometry_1_1model_1_1" + classname, section)) + os.system(cmd % ("classboost_1_1geometry_1_1model_1_1" + classname, section)) def struct_to_quickbook(section): - os.system(cmd % ("structboost_1_1geometry_1_1" + section.replace("_", "__"), section)) + os.system(cmd % ("structboost_1_1geometry_1_1" + section.replace("_", "__"), section)) def class_to_quickbook(section): - os.system(cmd % ("classboost_1_1geometry_1_1" + section.replace("_", "__"), section)) + os.system(cmd % ("classboost_1_1geometry_1_1" + section.replace("_", "__"), section)) def strategy_to_quickbook(section): - p = section.find("::") - ns = section[:p] - strategy = section[p+2:] - os.system(cmd % ("classboost_1_1geometry_1_1strategy_1_1" - + ns.replace("_", "__") + "_1_1" + strategy.replace("_", "__"), - ns + "_" + strategy)) - + p = section.find("::") + ns = section[:p] + strategy = section[p+2:] + os.system(cmd % ("classboost_1_1geometry_1_1strategy_1_1" + + ns.replace("_", "__") + "_1_1" + strategy.replace("_", "__"), + ns + "_" + strategy)) + def cs_to_quickbook(section): - os.system(cmd % ("structboost_1_1geometry_1_1cs_1_1" + section.replace("_", "__"), section)) - + os.system(cmd % ("structboost_1_1geometry_1_1cs_1_1" + section.replace("_", "__"), section)) + call_doxygen() algorithms = ["append", "assign", "make", "clear" - , "area", "buffer", "centroid", "combine", "convert", "correct" - , "convex_hull", "difference", "disjoint", "dissolve", "distance" - , "envelope", "equals", "for_each", "intersection", "intersects" - , "length", "num_geometries", "num_interior_rings", "num_points" - , "overlaps", "perimeter", "reverse", "simplify", "sym_difference" - , "transform", "union", "unique", "within"] + , "area", "buffer", "centroid", "combine", "convert", "correct" + , "convex_hull", "difference", "disjoint", "dissolve", "distance" + , "envelope", "equals", "for_each", "intersection", "intersects" + , "length", "num_geometries", "num_interior_rings", "num_points" + , "overlaps", "perimeter", "reverse", "simplify", "sym_difference" + , "transform", "union", "unique", "within"] access_functions = ["get", "set", "exterior_ring", "interior_rings" - , "num_points", "num_interior_rings", "num_geometries"] - + , "num_points", "num_interior_rings", "num_geometries"] + core = ["closure", "coordinate_system", "coordinate_type", "cs_tag" - , "dimension", "exception", "geometry_id", "interior_type" - , "is_areal", "is_linear", "is_multi", "is_radian", "point_order" - , "point_type", "ring_type", "tag", "topological_dimension" ] + , "dimension", "exception", "geometry_id", "interior_type" + , "is_areal", "is_linear", "is_multi", "is_radian", "point_order" + , "point_type", "ring_type", "tag", "topological_dimension" ] iterators = ["box_iterator", "circular_iterator", "closing_iterator" - , "ever_circling_iterator", "segment_range_iterator"] + , "ever_circling_iterator", "segment_range_iterator"] ranges = ["box_range", "segment_range"]; views = ["closeable_view", "reversible_view", "identity_view"] strategies = ["distance::pythagoras", "distance::haversine" - , "distance::cross_track", "distance::projected_point" - , "within::winding", "within::franklin", "within::crossings_multiply" - , "area::by_triangles", "area::huiller" - , "centroid::bashein_detmer", "centroid::average" - , "convex_hull::graham_andrew" - , "simplify::douglas_peucker" - , "side::side_by_triangle", "side::side_by_cross_track" - , "transform::inverse_transformer", "transform::map_transformer" - , "transform::rotate_transformer", "transform::scale_transformer" - , "transform::translate_transformer", "transform::ublas_transformer" - ] - + , "distance::cross_track", "distance::projected_point" + , "within::winding", "within::franklin", "within::crossings_multiply" + , "area::by_triangles", "area::huiller" + , "centroid::bashein_detmer", "centroid::average" + , "convex_hull::graham_andrew" + , "simplify::douglas_peucker" + , "side::side_by_triangle", "side::side_by_cross_track" + , "transform::inverse_transformer", "transform::map_transformer" + , "transform::rotate_transformer", "transform::scale_transformer" + , "transform::translate_transformer", "transform::ublas_transformer" + ] + coordinate_systems = ["cartesian", "geographic", "polar", "spherical"] for a in algorithms: - group_to_quickbook(a) - + group_to_quickbook(a) + for a in access_functions: - group_to_quickbook(a) - + group_to_quickbook(a) + for a in core: - struct_to_quickbook(a) + struct_to_quickbook(a) for a in iterators: - struct_to_quickbook(a) + struct_to_quickbook(a) for a in views: - struct_to_quickbook(a) - + struct_to_quickbook(a) + for a in ranges: - class_to_quickbook(a) + class_to_quickbook(a) for a in strategies: - strategy_to_quickbook(a) + strategy_to_quickbook(a) for a in coordinate_systems: - cs_to_quickbook(a) - + cs_to_quickbook(a) + group_to_quickbook("arithmetic") group_to_quickbook("register") diff --git a/doc/matrix.qbk b/doc/matrix.qbk index d256be14d..edce80f34 100644 --- a/doc/matrix.qbk +++ b/doc/matrix.qbk @@ -1,3 +1,15 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + [section:matrix Reference matrix] [xinclude quickref.xml] [endsect] diff --git a/doc/quickbook/readme.txt b/doc/quickbook/readme.txt index 770a8364e..30c976dcf 100644 --- a/doc/quickbook/readme.txt +++ b/doc/quickbook/readme.txt @@ -1,3 +1,11 @@ +=========================================================================== + Copyright (c) 2010 Barend Gehrels, 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)9 +============================================================================ + This folder quickbook was the first phase of the documentation. Files left here should be merged with the current phase, one folder higher. diff --git a/doc/quickref.xml b/doc/quickref.xml index e0d5fa0fb..321fbacb2 100644 --- a/doc/quickref.xml +++ b/doc/quickref.xml @@ -240,7 +240,7 @@ closing_iterator circular_iterator ever_circling_iterator - one_section_segment_iterator + box_iterator segment_range_iterator diff --git a/doc/reference/access.qbk b/doc/reference/access.qbk deleted file mode 100644 index a5c0166fe..000000000 --- a/doc/reference/access.qbk +++ /dev/null @@ -1,809 +0,0 @@ -[/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] -[/ Generated from ..\doxygen_output\xml\group__access.xml] -[section:append_4 append (4)] - -Appends one or more points to a linestring, ring, polygon, multi. - -[heading Synopsis] -``template -void append (Geometry &geometry, RoP const &range_or_point, int ring_index=-1, int multi_index=0)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [] [geometry] [a geometry ]] -[[RoP const &] [] [range_or_point] [the point or range to add ]] -[[int] [] [ring_index] [the index of the ring in case of a polygon: exterior ring (-1, the default) or interior ring index ]] -[[int] [] [multi_index] [reserved for multi polygons ]] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_3 assign (3)] - -assign two values to a 2D point - -[heading Synopsis] -``template -void assign (Geometry &geometry, Type const &c1, Type const &c2)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [] [geometry] []] -[[Type const &] [] [c1] []] -[[Type const &] [] [c2] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_4 assign (4)] - -assign three values to a 3D point [or the center + radius to a circle] - -[heading Synopsis] -``template -void assign (Geometry &geometry, Type const &c1, Type const &c2, Type const &c3)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [] [geometry] []] -[[Type const &] [] [c1] []] -[[Type const &] [] [c2] []] -[[Type const &] [] [c3] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_5 assign (5)] - -assign center + radius to a sphere [for extension] - -[heading Synopsis] -``template -void assign (Geometry &geometry, Type const &c1, Type const &c2, Type const &c3, Type const &c4)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [] [geometry] []] -[[Type const &] [] [c1] []] -[[Type const &] [] [c2] []] -[[Type const &] [] [c3] []] -[[Type const &] [] [c4] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_2 assign (2)] - -assign a range of points to a linestring, ring or polygon - -[heading Synopsis] -``template -void assign (Geometry &geometry, Range const &range)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [] [geometry] []] -[[Range const &] [] [range] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_box_corners_5 assign_box_corners (5)] - -Assign the 4 points of a 2D box. - -[heading Synopsis] -``template -void assign_box_corners (Box const &box, Point &lower_left, Point &lower_right, Point &upper_left, Point &upper_right)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Box const &] [] [box] []] -[[Point &] [] [lower_left] []] -[[Point &] [] [lower_right] []] -[[Point &] [] [upper_left] []] -[[Point &] [] [upper_right] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_inverse_1 assign_inverse (1)] - -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. - -[heading Synopsis] -``template -void assign_inverse (Geometry &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [] [geometry] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_point_from_index_2 assign_point_from_index (2)] - -Assign a point with a point of a box or segment. - -[heading Synopsis] -``template -void assign_point_from_index (Geometry const &geometry, Point &point)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry const &] [] [geometry] []] -[[Point &] [] [point] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_point_to_index_2 assign_point_to_index (2)] - -Assign a box or segment with the value of a point. - -[heading Synopsis] -``template -void assign_point_to_index (Point const &point, Geometry &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Point const &] [] [point] []] -[[Geometry &] [] [geometry] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:assign_zero_1 assign_zero (1)] - -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 - -[heading Synopsis] -``template -void assign_zero (Geometry &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [the geometry type ] [geometry] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:clear_1 clear (1)] - -Clears a linestring, linear ring or polygon (exterior+interiors) or multi*. - -[heading Synopsis] -``template -void clear (Geometry &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [] [geometry] []] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:exterior_ring_1 exterior_ring (1)] - -Function to get the exterior_ring ring of a polygon. - -[heading Synopsis] -``template -ring_type::type& exterior_ring (Polygon &polygon)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Polygon &] [] [polygon] [the polygon to get the exterior ring from ]] -] - - -[heading Returns] -a reference to the exterior ring - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:exterior_ring_1 exterior_ring (1)] - -Function to get the exterior ring of a polygon (const version). - -[heading Synopsis] -``template -const ring_type::type& exterior_ring (Polygon const &polygon)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Polygon const &] [polygon type ] [polygon] [the polygon to get the exterior ring from ]] -] - - -[heading Returns] -a const reference to the exterior ring - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:get_1 get (1)] - -get coordinate value of a Point ( / Sphere) - -[heading Synopsis] -``template -coordinate_type::type get (Geometry const &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry const &] [geometry ] [geometry] [geometry to query coordinate value from ]] -] - - -[heading Returns] -coordinate value - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:get_as_radian_1 get_as_radian (1)] - -get coordinate value of a point, result is in Radian - -[heading Description] -Result is in Radian, even if source coordinate system is in Degrees - -[heading Synopsis] -``template -fp_coordinate_type::type get_as_radian (Geometry const &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry const &] [geometry ] [geometry] [geometry to get coordinate value from ]] -] - - -[heading Returns] -coordinate value - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:interior_rings_1 interior_rings (1)] - -Function to get the interior rings of a polygon (non const version). - -[heading Synopsis] -``template -interior_type::type& interior_rings (Polygon &polygon)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Polygon &] [] [polygon] [the polygon to get the interior rings from ]] -] - - -[heading Returns] -a reference to the interior rings - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:interior_rings_1 interior_rings (1)] - -Function to get the interior rings of a polygon (const version). - -[heading Synopsis] -``template -const interior_type::type& interior_rings (Polygon const &polygon)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Polygon const &] [] [polygon] [the polygon to get the interior rings from ]] -] - - -[heading Returns] -a const reference to the interior rings - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:make_2 make (2)] - -Make a geometry. - -[heading Description] -the Generic Geometry Library uses concepts for all its geometries. Therefore it does not rely on constructors. The "make" functions are object generators creating geometries. There are overloads with two, three, four or six values, which are implemented depending on the geometry specified. - -[heading Synopsis] -``template -Geometry make (T const &c1, T const &c2)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[T const &] [the coordinate type ] [c1] []] -[[T const &] [the coordinate type ] [c2] []] -] - - -[heading Returns] -the geometry - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:make_3 make (3)] - -Make a geometry. - -[heading Synopsis] -``template -Geometry make (T const &c1, T const &c2, T const &c3)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[T const &] [] [c1] []] -[[T const &] [] [c2] []] -[[T const &] [] [c3] []] -] - - -[heading Returns] -a 3D point - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:make_inverse_0 make_inverse (0)] - -Create a box with inverse infinite coordinates. - -[heading Description] -The make_inverse function initialize a 2D or 3D box with large coordinates, the min corner is very large, the max corner is very small - -[heading Synopsis] -``template -Geometry make_inverse ()`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -] - - -[heading Returns] -the box - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:make_zero_0 make_zero (0)] - -Create a geometry with "zero" coordinates. - -[heading Description] -The make_zero function initializes a 2D or 3D point or box with coordinates of zero - -[heading Synopsis] -``template -Geometry make_zero ()`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -] - - -[heading Returns] -the geometry - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:num_geometries_1 num_geometries (1)] - -Function to get the number of geometries of a composite geometry. For a single geometry it is always 0 (also for a polygon with holes). - -[heading Synopsis] -``template -std::size_t num_geometries (Geometry const &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry const &] [geometry type ] [geometry] [the polygon or other geometry ]] -] - - -[heading Returns] -the number of interior rings of the geometry - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:num_interior_rings_1 num_interior_rings (1)] - -Function to get the number of interior rings of a polygon. - -[heading Synopsis] -``template -std::size_t num_interior_rings (Geometry const &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry const &] [geometry type ] [geometry] [the polygon or other geometry ]] -] - - -[heading Returns] -the number of interior rings of the geometry - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:num_points_1 num_points (1)] - -get number of points - -[heading Synopsis] -``template -std::size_t num_points (Geometry const &geometry)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry const &] [geometry type ] [geometry] [the geometry to get number of points from ]] -] - - -[heading Returns] -number of points - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:set_2 set (2)] - -set coordinate value of a Point ( / Sphere) - -[heading Synopsis] -``template -void set (Geometry &geometry, typename coordinate_type< Geometry >::type const &value)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [geometry ] [geometry] [geometry to assign coordinate to ]] -[[typename coordinate_type< Geometry >::type const &] [] [value] [coordinate value to assign ]] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - -[section:set_from_radian_2 set_from_radian (2)] - -set coordinate value (in radian) to a point - -[heading Synopsis] -``template -void set_from_radian (Geometry &geometry, typename fp_coordinate_type< Geometry >::type const &radians)`` - -[heading Parameters] - -[table -[[Type] [Concept] [Name] [Description] ] -[[Geometry &] [geometry ] [geometry] [geometry to assign coordinate to ]] -[[typename fp_coordinate_type< Geometry >::type const &] [] [radians] [coordinate value to assign ]] -] - - -[heading Header] -Either - -`#include ` - -Or - -`#include ` - - -[endsect] - diff --git a/doc/reference/append.qbk b/doc/reference/append.qbk index a073a2e2f..691725b03 100644 --- a/doc/reference/append.qbk +++ b/doc/reference/append.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__append.xml] [section:append append] diff --git a/doc/reference/area.qbk b/doc/reference/area.qbk index cf4e105d2..8c174f17a 100644 --- a/doc/reference/area.qbk +++ b/doc/reference/area.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__area.xml] [section:area_2_with_strategy area (with strategy)] diff --git a/doc/reference/area_by_triangles.qbk b/doc/reference/area_by_triangles.qbk index 8a28d64c0..02f821e6b 100644 --- a/doc/reference/area_by_triangles.qbk +++ b/doc/reference/area_by_triangles.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1area_1_1by__triangles.xml] [section:strategy_area_by_triangles strategy::area::by_triangles] diff --git a/doc/reference/area_huiller.qbk b/doc/reference/area_huiller.qbk index 1dd2a5fde..aec79205c 100644 --- a/doc/reference/area_huiller.qbk +++ b/doc/reference/area_huiller.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1area_1_1huiller.xml] [section:strategy_area_huiller strategy::area::huiller] diff --git a/doc/reference/arithmetic.qbk b/doc/reference/arithmetic.qbk index e9ad1cf35..7510feb84 100644 --- a/doc/reference/arithmetic.qbk +++ b/doc/reference/arithmetic.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__arithmetic.xml] [section:add_point add_point] diff --git a/doc/reference/assign.qbk b/doc/reference/assign.qbk index a4d76d43c..4fd9bc059 100644 --- a/doc/reference/assign.qbk +++ b/doc/reference/assign.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__assign.xml] [section:assign_2 assign] diff --git a/doc/reference/box.qbk b/doc/reference/box.qbk index 51a9abe54..668fbc56b 100644 --- a/doc/reference/box.qbk +++ b/doc/reference/box.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1box.xml] [section:model_box model::box] diff --git a/doc/reference/box_iterator.qbk b/doc/reference/box_iterator.qbk index b4a90c0ce..c60e13412 100644 --- a/doc/reference/box_iterator.qbk +++ b/doc/reference/box_iterator.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1box__iterator.xml] [section:box_iterator box_iterator] diff --git a/doc/reference/box_range.qbk b/doc/reference/box_range.qbk index ab93a9c94..aabb0b581 100644 --- a/doc/reference/box_range.qbk +++ b/doc/reference/box_range.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1box__range.xml] [section:box_range box_range] diff --git a/doc/reference/buffer.qbk b/doc/reference/buffer.qbk index 6755aa2e6..467df68e4 100644 --- a/doc/reference/buffer.qbk +++ b/doc/reference/buffer.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__buffer.xml] [section:buffer buffer] diff --git a/doc/reference/cartesian.qbk b/doc/reference/cartesian.qbk index c78b18a14..89c4381ec 100644 --- a/doc/reference/cartesian.qbk +++ b/doc/reference/cartesian.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1cs_1_1cartesian.xml] [section:cs_cartesian cs::cartesian] diff --git a/doc/reference/centroid.qbk b/doc/reference/centroid.qbk index 356b8fef2..5c3ae5094 100644 --- a/doc/reference/centroid.qbk +++ b/doc/reference/centroid.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__centroid.xml] [section:centroid_2 centroid] diff --git a/doc/reference/centroid_average.qbk b/doc/reference/centroid_average.qbk index ce20e2f8e..c6354de7e 100644 --- a/doc/reference/centroid_average.qbk +++ b/doc/reference/centroid_average.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1centroid_1_1average.xml] [section:strategy_centroid_average strategy::centroid::average] diff --git a/doc/reference/centroid_bashein_detmer.qbk b/doc/reference/centroid_bashein_detmer.qbk index 3e4b7530a..3606c5ed8 100644 --- a/doc/reference/centroid_bashein_detmer.qbk +++ b/doc/reference/centroid_bashein_detmer.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1centroid_1_1bashein__detmer.xml] [section:strategy_centroid_bashein_detmer strategy::centroid::bashein_detmer] diff --git a/doc/reference/circular_iterator.qbk b/doc/reference/circular_iterator.qbk index 49ddc4833..9c8e7f148 100644 --- a/doc/reference/circular_iterator.qbk +++ b/doc/reference/circular_iterator.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1circular__iterator.xml] [section:circular_iterator circular_iterator] diff --git a/doc/reference/clear.qbk b/doc/reference/clear.qbk index eca99d0c3..73b2f2dce 100644 --- a/doc/reference/clear.qbk +++ b/doc/reference/clear.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__clear.xml] [section:clear clear] diff --git a/doc/reference/closeable_view.qbk b/doc/reference/closeable_view.qbk index 8f5062ffc..ccb607986 100644 --- a/doc/reference/closeable_view.qbk +++ b/doc/reference/closeable_view.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1closeable__view.xml] [section:closeable_view closeable_view] diff --git a/doc/reference/closing_iterator.qbk b/doc/reference/closing_iterator.qbk index 559cb03c1..580fb5f7a 100644 --- a/doc/reference/closing_iterator.qbk +++ b/doc/reference/closing_iterator.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1closing__iterator.xml] [section:closing_iterator closing_iterator] diff --git a/doc/reference/closure.qbk b/doc/reference/closure.qbk index 89599bee9..3e650ef8c 100644 --- a/doc/reference/closure.qbk +++ b/doc/reference/closure.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1closure.xml] [section:closure closure] diff --git a/doc/reference/combine.qbk b/doc/reference/combine.qbk index 3086d9f97..1869ef1d1 100644 --- a/doc/reference/combine.qbk +++ b/doc/reference/combine.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__combine.xml] [section:combine combine] diff --git a/doc/reference/convert.qbk b/doc/reference/convert.qbk index b7d91d109..aee05fc82 100644 --- a/doc/reference/convert.qbk +++ b/doc/reference/convert.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__convert.xml] [section:convert convert] diff --git a/doc/reference/convex_hull.qbk b/doc/reference/convex_hull.qbk index e030d43c3..b219cff06 100644 --- a/doc/reference/convex_hull.qbk +++ b/doc/reference/convex_hull.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__convex__hull.xml] [section:convex_hull convex_hull] diff --git a/doc/reference/convex_hull_graham_andrew.qbk b/doc/reference/convex_hull_graham_andrew.qbk index bf7416977..0a5299090 100644 --- a/doc/reference/convex_hull_graham_andrew.qbk +++ b/doc/reference/convex_hull_graham_andrew.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1convex__hull_1_1graham__andrew.xml] [section:strategy_convex_hull_graham_andrew strategy::convex_hull::graham_andrew] diff --git a/doc/reference/coordinate_system.qbk b/doc/reference/coordinate_system.qbk index ca9b5ba97..61b67a0a0 100644 --- a/doc/reference/coordinate_system.qbk +++ b/doc/reference/coordinate_system.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1coordinate__system.xml] [section:coordinate_system coordinate_system] diff --git a/doc/reference/coordinate_type.qbk b/doc/reference/coordinate_type.qbk index 799d49bc9..746162dca 100644 --- a/doc/reference/coordinate_type.qbk +++ b/doc/reference/coordinate_type.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1coordinate__type.xml] [section:coordinate_type coordinate_type] diff --git a/doc/reference/correct.qbk b/doc/reference/correct.qbk index fad80951b..ff8f6baba 100644 --- a/doc/reference/correct.qbk +++ b/doc/reference/correct.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__correct.xml] [section:correct correct] diff --git a/doc/reference/cs_tag.qbk b/doc/reference/cs_tag.qbk index 17de0ecfb..4e376b364 100644 --- a/doc/reference/cs_tag.qbk +++ b/doc/reference/cs_tag.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1cs__tag.xml] [section:cs_tag cs_tag] diff --git a/doc/reference/difference.qbk b/doc/reference/difference.qbk index c88bd5388..b32213cd7 100644 --- a/doc/reference/difference.qbk +++ b/doc/reference/difference.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__difference.xml] [section:difference difference] diff --git a/doc/reference/dimension.qbk b/doc/reference/dimension.qbk index 8cd8338e0..f3379ea60 100644 --- a/doc/reference/dimension.qbk +++ b/doc/reference/dimension.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1dimension.xml] [section:dimension dimension] diff --git a/doc/reference/disjoint.qbk b/doc/reference/disjoint.qbk index 828e136e9..dbc869688 100644 --- a/doc/reference/disjoint.qbk +++ b/doc/reference/disjoint.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__disjoint.xml] [section:disjoint disjoint] diff --git a/doc/reference/dissolve.qbk b/doc/reference/dissolve.qbk index fbc74db9d..068f4ac38 100644 --- a/doc/reference/dissolve.qbk +++ b/doc/reference/dissolve.qbk @@ -1,2 +1,15 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__dissolve.xml] diff --git a/doc/reference/distance.qbk b/doc/reference/distance.qbk index 2ad746e95..18ee5acd3 100644 --- a/doc/reference/distance.qbk +++ b/doc/reference/distance.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__distance.xml] [section:comparable_distance comparable_distance] diff --git a/doc/reference/distance_cross_track.qbk b/doc/reference/distance_cross_track.qbk index a9b3857a9..9f42652c4 100644 --- a/doc/reference/distance_cross_track.qbk +++ b/doc/reference/distance_cross_track.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1cross__track.xml] [section:strategy_distance_cross_track strategy::distance::cross_track] diff --git a/doc/reference/distance_haversine.qbk b/doc/reference/distance_haversine.qbk index 7ce0345ce..448390af2 100644 --- a/doc/reference/distance_haversine.qbk +++ b/doc/reference/distance_haversine.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine.xml] [section:strategy_distance_haversine strategy::distance::haversine] diff --git a/doc/reference/distance_projected_point.qbk b/doc/reference/distance_projected_point.qbk index 4e1cbe105..ea8a407f9 100644 --- a/doc/reference/distance_projected_point.qbk +++ b/doc/reference/distance_projected_point.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1projected__point.xml] [section:strategy_distance_projected_point strategy::distance::projected_point] diff --git a/doc/reference/distance_pythagoras.qbk b/doc/reference/distance_pythagoras.qbk index f26f98292..1c72d7410 100644 --- a/doc/reference/distance_pythagoras.qbk +++ b/doc/reference/distance_pythagoras.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1pythagoras.xml] [section:strategy_distance_pythagoras strategy::distance::pythagoras] diff --git a/doc/reference/envelope.qbk b/doc/reference/envelope.qbk index 90157d6b3..4c516c831 100644 --- a/doc/reference/envelope.qbk +++ b/doc/reference/envelope.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__envelope.xml] [section:envelope envelope] diff --git a/doc/reference/equals.qbk b/doc/reference/equals.qbk index bab685b93..e52b3f63a 100644 --- a/doc/reference/equals.qbk +++ b/doc/reference/equals.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__equals.xml] [section:equals equals] diff --git a/doc/reference/ever_circling_iterator.qbk b/doc/reference/ever_circling_iterator.qbk index c053c3332..1e04eb526 100644 --- a/doc/reference/ever_circling_iterator.qbk +++ b/doc/reference/ever_circling_iterator.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1ever__circling__iterator.xml] [section:ever_circling_iterator ever_circling_iterator] diff --git a/doc/reference/exception.qbk b/doc/reference/exception.qbk index 3b844db12..c6bf85e1e 100644 --- a/doc/reference/exception.qbk +++ b/doc/reference/exception.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1exception.xml] [section:exception exception] diff --git a/doc/reference/exterior_ring.qbk b/doc/reference/exterior_ring.qbk index 7cbbd17a4..f3d8102a3 100644 --- a/doc/reference/exterior_ring.qbk +++ b/doc/reference/exterior_ring.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__exterior__ring.xml] [section:exterior_ring_1_const_version exterior_ring (const version)] diff --git a/doc/reference/for_each.qbk b/doc/reference/for_each.qbk index 082c62480..4b0baf8b9 100644 --- a/doc/reference/for_each.qbk +++ b/doc/reference/for_each.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__for__each.xml] [section:for_each_point_2 for_each_point] diff --git a/doc/reference/geographic.qbk b/doc/reference/geographic.qbk index b65e9897e..431214f00 100644 --- a/doc/reference/geographic.qbk +++ b/doc/reference/geographic.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1cs_1_1geographic.xml] [section:cs_geographic cs::geographic] diff --git a/doc/reference/geometry_id.qbk b/doc/reference/geometry_id.qbk index a1b967fdd..67dc823ec 100644 --- a/doc/reference/geometry_id.qbk +++ b/doc/reference/geometry_id.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1geometry__id.xml] [section:geometry_id geometry_id] diff --git a/doc/reference/get.qbk b/doc/reference/get.qbk index 92ea8c14a..dcde8403e 100644 --- a/doc/reference/get.qbk +++ b/doc/reference/get.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__get.xml] [section:get get] diff --git a/doc/reference/identity_view.qbk b/doc/reference/identity_view.qbk index 49188383e..9e3b70458 100644 --- a/doc/reference/identity_view.qbk +++ b/doc/reference/identity_view.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1identity__view.xml] [section:identity_view identity_view] diff --git a/doc/reference/interior_rings.qbk b/doc/reference/interior_rings.qbk index fa175244b..1c70e6005 100644 --- a/doc/reference/interior_rings.qbk +++ b/doc/reference/interior_rings.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__interior__rings.xml] [section:interior_rings_1_const_version interior_rings (const version)] diff --git a/doc/reference/interior_type.qbk b/doc/reference/interior_type.qbk index 700b8debf..a00358a5d 100644 --- a/doc/reference/interior_type.qbk +++ b/doc/reference/interior_type.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1interior__type.xml] [section:interior_type interior_type] diff --git a/doc/reference/intersection.qbk b/doc/reference/intersection.qbk index 96c55b888..f1c7259ee 100644 --- a/doc/reference/intersection.qbk +++ b/doc/reference/intersection.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__intersection.xml] [section:intersection intersection] diff --git a/doc/reference/intersects.qbk b/doc/reference/intersects.qbk index 52e476546..e4f419b91 100644 --- a/doc/reference/intersects.qbk +++ b/doc/reference/intersects.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__intersects.xml] [section:intersects_2_two_geometries intersects (two geometries)] diff --git a/doc/reference/is_radian.qbk b/doc/reference/is_radian.qbk index 88de32fbc..ded78eabd 100644 --- a/doc/reference/is_radian.qbk +++ b/doc/reference/is_radian.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1is__radian.xml] [section:is_radian is_radian] diff --git a/doc/reference/length.qbk b/doc/reference/length.qbk index 4d567347f..c15ad8a1c 100644 --- a/doc/reference/length.qbk +++ b/doc/reference/length.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__length.xml] [section:length_2_with_strategy length (with strategy)] diff --git a/doc/reference/linestring.qbk b/doc/reference/linestring.qbk index 69ffe51a3..aac7d599d 100644 --- a/doc/reference/linestring.qbk +++ b/doc/reference/linestring.qbk @@ -1,9 +1,22 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1linestring.xml] [section:model_linestring model::linestring] [heading Synopsis] -``template class V, template< typename > class A> +``template class Container, template< typename > class Allocator> class model::linestring { // ... @@ -13,9 +26,31 @@ class model::linestring [heading Template parameter(s)] [table [[Parameter] [Description]] -[[typename P] [point type ]] -[[template< typename, typename > class V] [optional container type, for example std::vector, std::list, std::deque ]] -[[template< typename > class A] [optional container-allocator-type (see ]] +[[typename Point] [point type ]] +[[template< typename, typename > class Container] [optional container type, for example std::vector, std::list, std::deque ]] +[[template< typename > class Allocator] [optional container-allocator-type (see ]] +] + +[heading Constructor(s)] +[table +[[Function] [Description] [Parameters] ] +[[``linestring ()`` + +] [] [ + + +]] +[[``template +linestring (Iterator begin, Iterator end)`` + +] [] [[* Iterator]: ['begin]: + +[* Iterator]: ['end]: + + + + +]] ] [heading Header] diff --git a/doc/reference/make.qbk b/doc/reference/make.qbk index 325c7a36e..443ee03d9 100644 --- a/doc/reference/make.qbk +++ b/doc/reference/make.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__make.xml] [section:make_3 make] diff --git a/doc/reference/multi_linestring.qbk b/doc/reference/multi_linestring.qbk index 53bc563ac..b0a3d8b54 100644 --- a/doc/reference/multi_linestring.qbk +++ b/doc/reference/multi_linestring.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1multi__linestring.xml] [section:model_multi_linestring model::multi_linestring] diff --git a/doc/reference/multi_point.qbk b/doc/reference/multi_point.qbk index e37bea605..20036ea08 100644 --- a/doc/reference/multi_point.qbk +++ b/doc/reference/multi_point.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1multi__point.xml] [section:model_multi_point model::multi_point] diff --git a/doc/reference/multi_polygon.qbk b/doc/reference/multi_polygon.qbk index dc363adbe..716512f14 100644 --- a/doc/reference/multi_polygon.qbk +++ b/doc/reference/multi_polygon.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1multi__polygon.xml] [section:model_multi_polygon model::multi_polygon] diff --git a/doc/reference/num_geometries.qbk b/doc/reference/num_geometries.qbk index 908d985a0..b343c3c57 100644 --- a/doc/reference/num_geometries.qbk +++ b/doc/reference/num_geometries.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__num__geometries.xml] [section:num_geometries num_geometries] diff --git a/doc/reference/num_interior_rings.qbk b/doc/reference/num_interior_rings.qbk index d54ec15ca..7e18f8bbf 100644 --- a/doc/reference/num_interior_rings.qbk +++ b/doc/reference/num_interior_rings.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__num__interior__rings.xml] [section:num_interior_rings num_interior_rings] diff --git a/doc/reference/num_points.qbk b/doc/reference/num_points.qbk index e3ac49cab..e9acddc31 100644 --- a/doc/reference/num_points.qbk +++ b/doc/reference/num_points.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__num__points.xml] [section:num_points num_points] diff --git a/doc/reference/overlaps.qbk b/doc/reference/overlaps.qbk index 8daccf69b..6b191ffb3 100644 --- a/doc/reference/overlaps.qbk +++ b/doc/reference/overlaps.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__overlaps.xml] [section:overlaps overlaps] diff --git a/doc/reference/perimeter.qbk b/doc/reference/perimeter.qbk index f782c7c73..da49bbcdc 100644 --- a/doc/reference/perimeter.qbk +++ b/doc/reference/perimeter.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__perimeter.xml] [section:perimeter_2_with_strategy perimeter (with strategy)] diff --git a/doc/reference/point.qbk b/doc/reference/point.qbk index 0015c483a..4b8764a51 100644 --- a/doc/reference/point.qbk +++ b/doc/reference/point.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1point.xml] [section:model_point model::point] diff --git a/doc/reference/point_order.qbk b/doc/reference/point_order.qbk index 006a92b06..53be47d8c 100644 --- a/doc/reference/point_order.qbk +++ b/doc/reference/point_order.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1point__order.xml] [section:point_order point_order] diff --git a/doc/reference/point_type.qbk b/doc/reference/point_type.qbk index 997eda438..20eccb993 100644 --- a/doc/reference/point_type.qbk +++ b/doc/reference/point_type.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1point__type.xml] [section:point_type point_type] diff --git a/doc/reference/point_xy.qbk b/doc/reference/point_xy.qbk index 93602d4c4..d68121583 100644 --- a/doc/reference/point_xy.qbk +++ b/doc/reference/point_xy.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1d2_1_1point__xy.xml] [section:model_d2_point_xy model::d2::point_xy] diff --git a/doc/reference/polar.qbk b/doc/reference/polar.qbk index f4c311d04..8846c92e7 100644 --- a/doc/reference/polar.qbk +++ b/doc/reference/polar.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1cs_1_1polar.xml] [section:cs_polar cs::polar] diff --git a/doc/reference/polygon.qbk b/doc/reference/polygon.qbk index 1b591f6a9..2f42ed39b 100644 --- a/doc/reference/polygon.qbk +++ b/doc/reference/polygon.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1polygon.xml] [section:model_polygon model::polygon] diff --git a/doc/reference/referring_segment.qbk b/doc/reference/referring_segment.qbk index ad0b9292e..4a9f1319b 100644 --- a/doc/reference/referring_segment.qbk +++ b/doc/reference/referring_segment.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1referring__segment.xml] [section:model_referring_segment model::referring_segment] diff --git a/doc/reference/register.qbk b/doc/reference/register.qbk index e0fefd084..37f5d32a6 100644 --- a/doc/reference/register.qbk +++ b/doc/reference/register.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__register.xml] [section:boost_geometry_register_point_2d BOOST_GEOMETRY_REGISTER_POINT_2D] diff --git a/doc/reference/reverse.qbk b/doc/reference/reverse.qbk index e6abf70c2..480b507e4 100644 --- a/doc/reference/reverse.qbk +++ b/doc/reference/reverse.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__reverse.xml] [section:reverse reverse] diff --git a/doc/reference/reversible_view.qbk b/doc/reference/reversible_view.qbk index 8bff505fe..f3afa39f3 100644 --- a/doc/reference/reversible_view.qbk +++ b/doc/reference/reversible_view.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1reversible__view.xml] [section:reversible_view reversible_view] diff --git a/doc/reference/ring.qbk b/doc/reference/ring.qbk index 17bc1e7dd..3e51f1592 100644 --- a/doc/reference/ring.qbk +++ b/doc/reference/ring.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1linear__ring.xml] [section:model_linear_ring model::linear_ring] @@ -20,6 +33,28 @@ class model::linear_ring [[template< typename > class Allocator] [optional container-allocator-type ]] ] +[heading Constructor(s)] +[table +[[Function] [Description] [Parameters] ] +[[``linear_ring ()`` + +] [] [ + + +]] +[[``template +linear_ring (Iterator begin, Iterator end)`` + +] [] [[* Iterator]: ['begin]: + +[* Iterator]: ['end]: + + + + +]] +] + [heading Header] Either diff --git a/doc/reference/ring_type.qbk b/doc/reference/ring_type.qbk index 7c19eb0b9..5cfc87d47 100644 --- a/doc/reference/ring_type.qbk +++ b/doc/reference/ring_type.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1ring__type.xml] [section:ring_type ring_type] diff --git a/doc/reference/segment.qbk b/doc/reference/segment.qbk index 767c8f188..cf7aa3244 100644 --- a/doc/reference/segment.qbk +++ b/doc/reference/segment.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1segment.xml] [section:model_segment model::segment] diff --git a/doc/reference/segment_range.qbk b/doc/reference/segment_range.qbk index 783af74d2..09cbcb26a 100644 --- a/doc/reference/segment_range.qbk +++ b/doc/reference/segment_range.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1segment__range.xml] [section:segment_range segment_range] diff --git a/doc/reference/segment_range_iterator.qbk b/doc/reference/segment_range_iterator.qbk index 0b3d7357f..f7e07b2d6 100644 --- a/doc/reference/segment_range_iterator.qbk +++ b/doc/reference/segment_range_iterator.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1segment__range__iterator.xml] [section:segment_range_iterator segment_range_iterator] diff --git a/doc/reference/set.qbk b/doc/reference/set.qbk index 893f22315..18d78e09b 100644 --- a/doc/reference/set.qbk +++ b/doc/reference/set.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__set.xml] [section:set set] diff --git a/doc/reference/side_side_by_cross_track.qbk b/doc/reference/side_side_by_cross_track.qbk index 8ccd28626..a39f3b74d 100644 --- a/doc/reference/side_side_by_cross_track.qbk +++ b/doc/reference/side_side_by_cross_track.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1side_1_1side__by__cross__track.xml] [section:strategy_side_side_by_cross_track strategy::side::side_by_cross_track] diff --git a/doc/reference/side_side_by_triangle.qbk b/doc/reference/side_side_by_triangle.qbk index 7a9adb6df..2a93fad67 100644 --- a/doc/reference/side_side_by_triangle.qbk +++ b/doc/reference/side_side_by_triangle.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1side_1_1side__by__triangle.xml] [section:strategy_side_side_by_triangle strategy::side::side_by_triangle] diff --git a/doc/reference/simplify.qbk b/doc/reference/simplify.qbk index 0769146ef..8bd9b02ec 100644 --- a/doc/reference/simplify.qbk +++ b/doc/reference/simplify.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__simplify.xml] [section:simplify_3 simplify] diff --git a/doc/reference/simplify_douglas_peucker.qbk b/doc/reference/simplify_douglas_peucker.qbk index cbde40575..55a612a60 100644 --- a/doc/reference/simplify_douglas_peucker.qbk +++ b/doc/reference/simplify_douglas_peucker.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1simplify_1_1douglas__peucker.xml] [section:strategy_simplify_douglas_peucker strategy::simplify::douglas_peucker] diff --git a/doc/reference/spherical.qbk b/doc/reference/spherical.qbk index 9499ffbe6..57a5a5a36 100644 --- a/doc/reference/spherical.qbk +++ b/doc/reference/spherical.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1cs_1_1spherical.xml] [section:cs_spherical cs::spherical] diff --git a/doc/reference/sym_difference.qbk b/doc/reference/sym_difference.qbk index fde059219..2b3504d13 100644 --- a/doc/reference/sym_difference.qbk +++ b/doc/reference/sym_difference.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__sym__difference.xml] [section:sym_difference sym_difference] diff --git a/doc/reference/tag.qbk b/doc/reference/tag.qbk index 97d8d6eca..d28e1f2d1 100644 --- a/doc/reference/tag.qbk +++ b/doc/reference/tag.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1tag.xml] [section:tag tag] diff --git a/doc/reference/topological_dimension.qbk b/doc/reference/topological_dimension.qbk index 65209d449..50ae91ebb 100644 --- a/doc/reference/topological_dimension.qbk +++ b/doc/reference/topological_dimension.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1topological__dimension.xml] [section:topological_dimension topological_dimension] diff --git a/doc/reference/transform.qbk b/doc/reference/transform.qbk index 2d4fab0d0..fb0c3b82b 100644 --- a/doc/reference/transform.qbk +++ b/doc/reference/transform.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__transform.xml] [section:transform_2 transform] diff --git a/doc/reference/transform_inverse_transformer.qbk b/doc/reference/transform_inverse_transformer.qbk index 3599c6075..aefafb694 100644 --- a/doc/reference/transform_inverse_transformer.qbk +++ b/doc/reference/transform_inverse_transformer.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1transform_1_1inverse__transformer.xml] [section:strategy_transform_inverse_transformer strategy::transform::inverse_transformer] diff --git a/doc/reference/transform_map_transformer.qbk b/doc/reference/transform_map_transformer.qbk index e607d4986..b50ba1cbb 100644 --- a/doc/reference/transform_map_transformer.qbk +++ b/doc/reference/transform_map_transformer.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1transform_1_1map__transformer.xml] [section:strategy_transform_map_transformer strategy::transform::map_transformer] diff --git a/doc/reference/transform_rotate_transformer.qbk b/doc/reference/transform_rotate_transformer.qbk index 92b0fac8c..f1da6f7bd 100644 --- a/doc/reference/transform_rotate_transformer.qbk +++ b/doc/reference/transform_rotate_transformer.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1transform_1_1rotate__transformer.xml] [section:strategy_transform_rotate_transformer strategy::transform::rotate_transformer] diff --git a/doc/reference/transform_scale_transformer.qbk b/doc/reference/transform_scale_transformer.qbk index 298192f03..9bce31c1e 100644 --- a/doc/reference/transform_scale_transformer.qbk +++ b/doc/reference/transform_scale_transformer.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1transform_1_1scale__transformer.xml] [section:strategy_transform_scale_transformer strategy::transform::scale_transformer] diff --git a/doc/reference/transform_translate_transformer.qbk b/doc/reference/transform_translate_transformer.qbk index cf8a0b1d1..ffc7133c7 100644 --- a/doc/reference/transform_translate_transformer.qbk +++ b/doc/reference/transform_translate_transformer.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1transform_1_1translate__transformer.xml] [section:strategy_transform_translate_transformer strategy::transform::translate_transformer] diff --git a/doc/reference/transform_ublas_transformer.qbk b/doc/reference/transform_ublas_transformer.qbk index 80d694624..ecd14ec30 100644 --- a/doc/reference/transform_ublas_transformer.qbk +++ b/doc/reference/transform_ublas_transformer.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1transform_1_1ublas__transformer.xml] [section:strategy_transform_ublas_transformer strategy::transform::ublas_transformer] diff --git a/doc/reference/union.qbk b/doc/reference/union.qbk index 6aea64578..28b20c1d2 100644 --- a/doc/reference/union.qbk +++ b/doc/reference/union.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__union.xml] [section:union_ union_] diff --git a/doc/reference/unique.qbk b/doc/reference/unique.qbk index ec696d766..dd3833868 100644 --- a/doc/reference/unique.qbk +++ b/doc/reference/unique.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__unique.xml] [section:unique unique] diff --git a/doc/reference/within.qbk b/doc/reference/within.qbk index 1385544c9..f374db0d7 100644 --- a/doc/reference/within.qbk +++ b/doc/reference/within.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/group__within.xml] [section:within_3_with_strategy within (with strategy)] diff --git a/doc/reference/within_crossings_multiply.qbk b/doc/reference/within_crossings_multiply.qbk index afc4d5931..b726b93d5 100644 --- a/doc/reference/within_crossings_multiply.qbk +++ b/doc/reference/within_crossings_multiply.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1within_1_1crossings__multiply.xml] [section:strategy_within_crossings_multiply strategy::within::crossings_multiply] diff --git a/doc/reference/within_franklin.qbk b/doc/reference/within_franklin.qbk index 1821f00e8..45cc4a755 100644 --- a/doc/reference/within_franklin.qbk +++ b/doc/reference/within_franklin.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1within_1_1franklin.xml] [section:strategy_within_franklin strategy::within::franklin] diff --git a/doc/reference/within_winding.qbk b/doc/reference/within_winding.qbk index 516cdac5d..8ff2b2506 100644 --- a/doc/reference/within_winding.qbk +++ b/doc/reference/within_winding.qbk @@ -1,3 +1,16 @@ +[/============================================================================ + Boost.Geometry (aka GGL, Generic Geometry Library) + + Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands. + Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net) + Copyright (c) 2009-2011 Bruno Lalande, Paris, France. + + Use, modification and distribution is subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +=============================================================================/] + + [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically] [/ Generated from doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1within_1_1winding.xml] [section:strategy_within_winding strategy::within::winding] diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp index 00addc105..00c4ccc39 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp @@ -40,38 +40,38 @@ // ------------------------------------------------------------- class xml_doc : public rapidxml::xml_document<> { - public : - xml_doc(const char* xml) - { - // Make a copy because rapidxml destructs string - m_copy = new char[strlen(xml) + 1]; - strcpy(m_copy, xml); - this->parse<0>(m_copy); - }; - virtual ~xml_doc() - { - delete[] m_copy; - } - private : - char* m_copy; + public : + xml_doc(const char* xml) + { + // Make a copy because rapidxml destructs string + m_copy = new char[strlen(xml) + 1]; + strcpy(m_copy, xml); + this->parse<0>(m_copy); + }; + virtual ~xml_doc() + { + delete[] m_copy; + } + private : + char* m_copy; }; inline std::string get_attribute(rapidxml::xml_node<>* node, const char* name) { - rapidxml::xml_attribute<> *attr = node->first_attribute(name); - std::string value; - if (attr) - { - value = attr->value(); - } - return value; + rapidxml::xml_attribute<> *attr = node->first_attribute(name); + std::string value; + if (attr) + { + value = attr->value(); + } + return value; } inline void get_contents(rapidxml::xml_node<>* node, std::string& contents) { if (node != NULL && node->type() == rapidxml::node_element) - { + { contents += node->value(); get_contents(node->first_node(), contents); get_contents(node->next_sibling(), contents); @@ -120,9 +120,9 @@ struct element std::vector images; std::string complexity; - // To distinguish overloads: unary, binary etc, + // To distinguish overloads: unary, binary etc, // Filled with: \qbk{distinguish,} - std::string additional_description; + std::string additional_description; std::vector template_parameters; std::vector parameters; @@ -232,12 +232,12 @@ static inline void add_or_set(std::vector& parameters, param const& p) // ------------------------------------------------------------- static void parse_parameter(rapidxml::xml_node<>* node, param& p) { - if (node != NULL) - { + if (node != NULL) + { std::string name = node->name(); - if (name == "type") - { - p.fulltype = node->value(); + if (name == "type") + { + p.fulltype = node->value(); p.type = p.fulltype; boost::replace_all(p.type, " const", ""); boost::trim(p.type); @@ -260,11 +260,11 @@ static void parse_parameter(rapidxml::xml_node<>* node, param& p) template static void parse_parameter_list(rapidxml::xml_node<>* node, Parameters& parameters) { - if (node != NULL) - { + if (node != NULL) + { std::string name = node->name(); - if (name == "parameteritem") + if (name == "parameteritem") { param p; parse_parameter(node->first_node(), p); @@ -283,7 +283,7 @@ static void parse_parameter_list(rapidxml::xml_node<>* node, Parameters& paramet } } } - else if (name == "param") + else if (name == "param") { // Element of 'templateparamlist.param (.type,.declname,.defname)' param p; @@ -323,8 +323,8 @@ static void parse_parameter_list(rapidxml::xml_node<>* node, Parameters& paramet template static void parse_element(rapidxml::xml_node<>* node, std::string const& parent, Element& el) { - if (node != NULL) - { + if (node != NULL) + { std::string name = node->name(); std::string full = parent + "." + name; @@ -375,7 +375,7 @@ static void parse_element(rapidxml::xml_node<>* node, std::string const& parent, el.additional_description = node->value(); boost::trim(el.additional_description); } - else if (full == ".templateparamlist") + else if (full == ".templateparamlist") { parse_parameter_list(node->first_node(), el.template_parameters); } @@ -391,7 +391,7 @@ static void parse_element(rapidxml::xml_node<>* node, std::string const& parent, parse_parameter_list(node->first_node(), el.template_parameters); } } - + parse_element(node->first_node(), full, el); parse_element(node->next_sibling(), parent, el); } @@ -399,14 +399,14 @@ static void parse_element(rapidxml::xml_node<>* node, std::string const& parent, static void parse_function(rapidxml::xml_node<>* node, std::string const& parent, function& f) { - if (node != NULL) - { + if (node != NULL) + { std::string name = node->name(); std::string full = parent + "." + name; - if (full == ".name") f.name = node->value(); + if (full == ".name") f.name = node->value(); else if (full == ".argsstring") f.argsstring = node->value(); - else if (full == ".definition") + else if (full == ".definition") { f.definition = node->value(); // Boost.Geometry specific, to make generic: make this namespace-to-be-skipped configurable @@ -442,7 +442,7 @@ static void parse_function(rapidxml::xml_node<>* node, std::string const& parent f.images.push_back(image); } } - + parse_function(node->first_node(), full, f); parse_function(node->next_sibling(), parent, f); } @@ -450,17 +450,17 @@ static void parse_function(rapidxml::xml_node<>* node, std::string const& parent static void parse(rapidxml::xml_node<>* node, documentation& doc, bool member = false) { - if (node != NULL) - { + if (node != NULL) + { bool recurse = false; bool is_member = member; std::string nodename = node->name(); - if (nodename == "doxygen") - { + if (nodename == "doxygen") + { recurse = true; - } + } else if (nodename == "sectiondef") { std::string kind = get_attribute(node, "kind"); @@ -493,8 +493,8 @@ static void parse(rapidxml::xml_node<>* node, documentation& doc, bool member = parse_element(node->first_node(), "", doc.cos); } } - else if (nodename == "memberdef") - { + else if (nodename == "memberdef") + { std::string kind = get_attribute(node, "kind"); if (kind == "function" || kind == "define") { @@ -517,7 +517,7 @@ static void parse(rapidxml::xml_node<>* node, documentation& doc, bool member = doc.functions.push_back(f); } } - } + } else if (nodename == "compoundname") { std::string name = node->value(); @@ -538,11 +538,11 @@ static void parse(rapidxml::xml_node<>* node, documentation& doc, bool member = if (recurse) { - // First recurse into childnodes, then handle next siblings - parse(node->first_node(), doc, is_member); + // First recurse into childnodes, then handle next siblings + parse(node->first_node(), doc, is_member); } parse(node->next_sibling(), doc, is_member); - } + } } void quickbook_template_parameter_list(std::vector const& parameters, std::ostream& out, bool name = false) @@ -626,7 +626,7 @@ inline bool includes(std::string const& filename, std::string const& header) } -void quickbook_header(std::string const& location, +void quickbook_header(std::string const& location, configuration const& config, std::ostream& out) { @@ -653,7 +653,7 @@ void quickbook_header(std::string const& location, { out << "`#include <" << headerfile << ">`" << std::endl; } - + out << std::endl << "Or" << std::endl << std::endl; } out << "`#include <" << location << ">`" << std::endl; @@ -679,7 +679,7 @@ void quickbook_behaviors(std::vector const& behaviors, std::ostream if (! behaviors.empty()) { out << "[heading Behavior]" << std::endl - << "[table" << std::endl + << "[table" << std::endl << "[[Case] [Behavior] ]" << std::endl; BOOST_FOREACH(std::string const& behavior, behaviors) { @@ -698,7 +698,7 @@ void quickbook_behaviors(std::vector const& behaviors, std::ostream } } -void quickbook_heading_string(std::string const& heading, +void quickbook_heading_string(std::string const& heading, std::string const& contents, std::ostream& out) { if (! contents.empty()) @@ -723,7 +723,7 @@ void quickbook_output(function const& f, configuration const& config, std::ostre int arity = (int)f.parameters.size(); std::string additional_description; - + if (! f.additional_description.empty()) { additional_description = " ("; @@ -784,13 +784,13 @@ void quickbook_output(function const& f, configuration const& config, std::ostre if (f.type != function_define) { - out << "[" << p.fulltype - << "] [" << (it == f.template_parameters.end() ? "" : it->description) + out << "[" << p.fulltype + << "] [" << (it == f.template_parameters.end() ? "" : it->description) << "] "; } - out << "[" << p.name - << "] [" << p.description - << "]]" + out << "[" << p.name + << "] [" << p.description + << "]]" << std::endl; } out << "]" << std::endl @@ -858,7 +858,7 @@ void quickbook_short_output(function const& f, std::ostream& out) void quickbook_output(class_or_struct const& cos, configuration const& config, std::ostream& out) { // Boost.Geometry specific, to make generic: make this namespace-to-be-skipped configurable - std::string short_name = + std::string short_name = boost::replace_all_copy(cos.fullname, "boost::geometry::", ""); // Write the parsed function @@ -886,7 +886,7 @@ void quickbook_output(class_or_struct const& cos, configuration const& config, s { out << "[[" << p.fulltype << "] [" << p.description << "]]" << std::endl; } - out << "]" << std::endl + out << "]" << std::endl << std::endl; } @@ -910,11 +910,11 @@ void quickbook_output(class_or_struct const& cos, configuration const& config, s out << "[["; quickbook_synopsis(f, out); out << "] [" << f.brief_description << "] ["; - quickbook_short_output(f, out); + quickbook_short_output(f, out); out << "]]" << std::endl; } } - out << "]" << std::endl + out << "]" << std::endl << std::endl; } @@ -931,11 +931,11 @@ void quickbook_output(class_or_struct const& cos, configuration const& config, s out << "[["; quickbook_synopsis(f, out); out << "] [" << f.brief_description << "] ["; - quickbook_short_output(f, out); + quickbook_short_output(f, out); out << "]]" << std::endl; } } - out << "]" << std::endl + out << "]" << std::endl << std::endl; } @@ -957,7 +957,7 @@ int main(int argc, char** argv) { if (argc < 2) { - std::cerr + std::cerr << "Usage: doxygen_xml2qbk [XML-filename] {prefix CH} {convenience header (CH) 1} {CH 2} ..." << std::endl << " where the XML refers to an XML written by Doxygen" << std::endl; return 1; @@ -967,7 +967,7 @@ int main(int argc, char** argv) std::string xml_string = file_to_string(filename); xml_doc xml(xml_string.c_str()); - + documentation doc; parse(xml.first_node(), doc); @@ -1015,23 +1015,39 @@ int main(int argc, char** argv) } } - std::cout + // Keep inspect silent. TODO: read this block from a file. + std::cout + << "[/============================================================================" << std::endl + << " Boost.Geometry (aka GGL, Generic Geometry Library)" << std::endl + << std::endl + << " Copyright (c) 2009-2011 Barend Gehrels, Geodan, Amsterdam, the Netherlands." << std::endl + << " Copyright (c) 2009-2011 Mateusz Loskot (mateusz@loskot.net)" << std::endl + << " Copyright (c) 2009-2011 Bruno Lalande, Paris, France." << std::endl + << std::endl + << " Use, modification and distribution is subject to the Boost Software License," << std::endl + << " Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at" << std::endl + << " http://www.boost.org/LICENSE_1_0.txt)" << std::endl + << "=============================================================================/]" << std::endl + << std::endl + << std::endl; + + std::cout << "[/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]" << std::endl << "[/ Generated from " << filename << "]" << std::endl; BOOST_FOREACH(function const& f, doc.functions) { - quickbook_output(f, config, std::cout); + quickbook_output(f, config, std::cout); } BOOST_FOREACH(function const& f, doc.defines) { - quickbook_output(f, config, std::cout); + quickbook_output(f, config, std::cout); } if (! doc.cos.name.empty()) { std::sort(doc.cos.functions.begin(), doc.cos.functions.end(), sort_on_line()); - quickbook_output(doc.cos, config, std::cout); + quickbook_output(doc.cos, config, std::cout); } return 0;