Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r67510 - in trunk/libs/geometry: doc doc/doxygen_output doc/doxygen_output/html doc/qbk doc/qbk/reference example example/extensions/gis/projections
From: barend.gehrels_at_[hidden]
Date: 2010-12-30 17:03:42


Author: barendgehrels
Date: 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
New Revision: 67510
URL: http://svn.boost.org/trac/boost/changeset/67510

Log:
Doc update
Removed:
   trunk/libs/geometry/doc/README.txt
   trunk/libs/geometry/doc/boost.png
   trunk/libs/geometry/doc/boostbook.css
   trunk/libs/geometry/doc/design_notes.txt
   trunk/libs/geometry/doc/development_notes.txt
   trunk/libs/geometry/doc/doxygen_output/geometry.html
   trunk/libs/geometry/doc/proposed_boost.png
   trunk/libs/geometry/doc/roadmap.doc
   trunk/libs/geometry/doc/status.txt
   trunk/libs/geometry/doc/status.xls
Binary files modified:
   trunk/libs/geometry/doc/doxygen_output/html/doxygen.png
Text files modified:
   trunk/libs/geometry/doc/Doxyfile | 1
   trunk/libs/geometry/doc/doxygen_output/html/doxygen.css | 197 ++++++++-------------------------------
   trunk/libs/geometry/doc/doxygen_output/html/tabs.css | 132 ++++++++++++++++++--------
   trunk/libs/geometry/doc/qbk/Jamfile.v2 | 3
   trunk/libs/geometry/doc/qbk/reference/area.qbk | 13 ++
   trunk/libs/geometry/doc/qbk/reference/buffer.qbk | 11 -
   trunk/libs/geometry/doc/qbk/reference/centroid.qbk | 39 -------
   trunk/libs/geometry/doc/qbk/reference/closing_iterator.qbk | 21 +++
   trunk/libs/geometry/doc/qbk/reference/concept_point.qbk | 26 -----
   trunk/libs/geometry/doc/qbk/reference/convex_hull.qbk | 4
   trunk/libs/geometry/doc/qbk/reference/distance.qbk | 11 -
   trunk/libs/geometry/doc/qbk/reference/envelope.qbk | 4
   trunk/libs/geometry/doc/qbk/reference/intersection.qbk | 32 ++---
   trunk/libs/geometry/doc/qbk/reference/intersects.qbk | 8 +
   trunk/libs/geometry/doc/qbk/reference/length.qbk | 6 +
   trunk/libs/geometry/doc/qbk/reference/num_interior_rings.qbk | 3
   trunk/libs/geometry/doc/qbk/reference/num_points.qbk | 3
   trunk/libs/geometry/doc/qbk/reference/point.qbk | 79 ----------------
   trunk/libs/geometry/doc/qbk/reference/point_xy.qbk | 82 ----------------
   trunk/libs/geometry/doc/qbk/reference/register.qbk | 51 +--------
   trunk/libs/geometry/doc/qbk/reference/simplify.qbk | 4
   trunk/libs/geometry/example/01_point_example.cpp | 7 +
   trunk/libs/geometry/example/boost.vsprops | 2
   trunk/libs/geometry/example/extensions/gis/projections/p01_example.vcproj | 8
   trunk/libs/geometry/example/extensions/gis/projections/p03_example.vcproj | 8
   25 files changed, 233 insertions(+), 522 deletions(-)

Modified: trunk/libs/geometry/doc/Doxyfile
==============================================================================
--- trunk/libs/geometry/doc/Doxyfile (original)
+++ trunk/libs/geometry/doc/Doxyfile 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -170,6 +170,7 @@
                         ../../../boost/geometry/strategies/spherical \
                         ../../../boost/geometry/strategies/transform \
                         ../../../boost/geometry/util \
+ ../../../boost/geometry/views \
                         ../../../boost/geometry/extensions/io/svg \
                         ./doxygen_input/pages \
                         ./doxygen_input/groups

Deleted: trunk/libs/geometry/doc/README.txt
==============================================================================
--- trunk/libs/geometry/doc/README.txt 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
+++ (empty file)
@@ -1,37 +0,0 @@
-Generic Geometry Library (ggl)
-
-Website: http://geometrylibrary.geodan.nl/
-
-Copyright © 1995-2009 Barend Gehrels, Geodan Holding B.V. Amsterdam, the Netherlands.
-Copyright © 2008-2009 Bruno Lalande, Paris, France.
-
-Distributed under 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
-
-Introduction
-
-The Generic Geometry Library (currently in "preview 4") provides a generic
-implementation of geometry algorithms, working with user-defined geometries.
-
-The algorithms include some well-known and often needed algorithms as
-point-in-polygon, polygon area, point-to-point distance, point-to-line
-distance, line clipping and polygon clipping, convex hulls. It also contains
-transformation algorithms, map projections and selection algorithms.
-
-Besides algorithms the library provides geometry classes which might be used,
-but the generic algorithms do not depend on them.
-
-The library follows existing conventions:
-
- * conventions from boost
- * conventions from the std library
- * OGC names and conventions (see the page about OGC)
-
-This Generic Geometry Library (ggl) is aimed to be proposed to the Boost
-Library Collection.
-
-The library can be downloaded from the Boost Sandbox or as a zipfile,
-go to the Download page for more information:
-
-http://geometrylibrary.geodan.nl/download.html

Deleted: trunk/libs/geometry/doc/boost.png
==============================================================================
Binary file. No diff available.

Deleted: trunk/libs/geometry/doc/boostbook.css
==============================================================================
--- trunk/libs/geometry/doc/boostbook.css 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
+++ (empty file)
@@ -1,290 +0,0 @@
-/* Generated by KompoZer */
-body {
- margin: 1em;
- font-family: sans-serif;
-}
-p {
- text-align: left;
- font-size: 10pt;
- line-height: 1.15;
-}
-p tt.computeroutput {
- font-size: 9pt;
-}
-pre.synopsis {
- margin: 1pc 4% 0pc;
- padding: 0.5pc;
- font-size: 90%;
-}
-.programlisting, .screen {
- margin: 1pc 4% 0pc;
- padding: 0.5pc;
- font-size: 9pt;
- display: block;
-}
-td .programlisting, td .screen {
- margin: 0pc;
- padding: 0pc;
-}
-h1, h2, h3, h4, h5, h6 {
- margin: 1em 0em 0.5em;
- text-align: left;
- font-weight: bold;
-}
-h1 {
-}
-h2 {
-}
-h3 {
-}
-h4 {
-}
-h5 {
-}
-h6 {
-}
-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;
- 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%;
-}
-h1 tt.computeroutput {
- font-size: 140%;
-}
-h2 tt.computeroutput {
- font-size: 140%;
-}
-h3 tt.computeroutput {
- font-size: 130%;
-}
-h4 tt.computeroutput {
- font-size: 120%;
-}
-h5 tt.computeroutput {
- font-size: 110%;
-}
-h6 tt.computeroutput {
- font-size: 100%;
-}
-h3.author {
- font-size: 100%;
-}
-li {
- font-size: 10pt;
- line-height: 1.3;
-}
-ul {
- text-align: left;
-}
-ol {
- text-align: left;
-}
-a {
- text-decoration: none;
-}
-a:hover {
- text-decoration: underline;
-}
-.spirit-nav {
- text-align: right;
-}
-.spirit-nav a {
- color: white;
- padding-left: 0.5em;
-}
-.spirit-nav img {
- border-width: 0px;
-}
-.toc {
- margin: 1pc 4% 0pc;
- padding: 0.1pc 1pc;
- font-size: 80%;
- line-height: 1.15;
-}
-.boost-toc {
- padding: 0.5pc;
- float: right;
-}
-.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;
-}
-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 {
- border: 1pt solid white;
- padding: 0.5em;
- font-size: 80%;
-}
-div.note, div.tip, div.important, div.caution, div.warning, p.blurb {
- margin: 1pc 4% 0pc;
- padding: 0.5pc;
- font-size: 9pt;
- line-height: 1.2;
- display: block;
-}
-p.blurb img {
- padding: 1pt;
-}
-div.variablelist dl dt, span.term {
- font-weight: bold;
- font-size: 10pt;
-}
-div.variablelist table tbody tr td {
- margin: 0em 0em 0.5em;
- padding: 0em 2em 0em 0em;
- text-align: left;
- vertical-align: top;
- font-size: 10pt;
- 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;
- line-height: 1;
-}
-span.title {
- font-style: italic;
-}
-span.underline {
- text-decoration: underline;
-}
-span.strikethrough {
- text-decoration: line-through;
-}
-div div.legalnotice p {
- text-align: left;
-}
-_at_media screen {
- 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;
- color: #000000;
- }
- .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 { color: #666666;
- font-size: small;
- }
- div div.legalnotice p { color: #666666;
- }
- pre.synopsis { border: 1px solid #dcdcdc;
- }
- .programlisting, .screen { border: 1px solid #dcdcdc;
- }
- td .programlisting, td .screen { border: 0px solid #dcdcdc;
- }
- div.note, div.tip, div.important, div.caution, div.warning, p.blurb { border: 1px solid #dcdcdc;
- }
- .toc { border: 1px solid #dcdcdc;
- }
- div.informaltable table tr td, div.table table tr td { border: 1px solid #dcdcdc;
- }
- div.informaltable table tr th, div.table table tr th { border: 1px solid #dcdcdc;
- background-color: #f0f0f0;
- }
- span.highlight { color: #00a000;
- }
-}
-_at_media print {
- a { color: black;
-}
- a:visited { color: black;
- }
- .spirit-nav { display: none;
- }
- pre.synopsis { border: 1px solid gray;
- }
- .programlisting, .screen { border: 1px solid gray;
- }
- td .programlisting, td .screen { border: 0px solid #dcdcdc;
- }
- .toc { border: 1px solid gray;
- }
- .informaltable table, .table table { border: 1px solid gray;
- border-collapse: collapse;
- }
- 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;
- }
- span.highlight { font-weight: bold;
- }
-}
-span.inlinemediaobject img {
- vertical-align: middle;
-}

Deleted: trunk/libs/geometry/doc/design_notes.txt
==============================================================================
--- trunk/libs/geometry/doc/design_notes.txt 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
+++ (empty file)
@@ -1,168 +0,0 @@
-Notes for Bruno / documentation
-
-1) BOX CONCEPT
-
-concepts/box_traits.hpp
-a) static ints min_corner/max_corner to select min/max corner
-b) namespace traits let user define:
- -> traits::box_point<B>::type LATERON made generic, this is geometry::point_type<B>::type for everything
- -> traits::box_access<B>::get and set (LATERON RENAMED TO index_access AND GOT MORE TEMPLATE PARAMETERS)
- Note that these concepts are NOT worked out anymore for our geometries
- They are empty and should be specialized by the user. The
- specialization of the predeclared box is in geometries/box.hpp
-c) namespace support to use:
- support::box_point<B>::type for the type of the point of the box
- support::box_coordinate<B>::type for the coordinate type, double etc.
-
- LATERON CHANGED TO GET IT CONSISTENT (and removed support prefix):
- point_type<B>::type for the type of the point of the box (or any geometry)
- coordinate_type<B>::type for the coordinate type, double etc. of any geometry
-
-4) bget/bset like get/set for point point, but here for box (cannot override, GCC complains, might be with enable_if)
- -> lateron renamed to get_indexed/set_indexed to harmonize with segment
-
-Note on concept compared with point:
-- it is smaller because most things are already in point
-- the default traits classes are empty, propose to do that in point also
-- I decided to not give directly access to the points of the box. Because users might
- have a box defined like this: struct box { double left,right,top,bottom; }; they have no point
- at all.
- However, they still should define a "point type", with meta-functions, that would be the type that fits with the box.
- It also defines the coordinate system and dimensions.
-
-
-Furthermore:
--> removed init enumerations and constructors
--> added instead of constructor a "init_inverse" utility LATERON RENAMED TO make_inverse and assign_inverse
-
-
-2) POINT CONCEPT
-didn't change the concept but:
--> removed in the source code everything using constructor with two values
--> removed the initialization
--> points should still have a default constructor, there is nothing to do about that. No problem I think
--> added instead of the constructor a "make" object generator set
-
-changed the concept files a bit:
--> moved usages of our points (coordinate_type etc) to point.hpp
- so specialization is now required for custom point
- -> THIS INVALIDATES ONE OF THE WELL FORM POINTS!
- -> THIS REQUIRES USERS TO ALWAYS DEFINE 5 TRAIT METAFUNCTIONS
- -> THEREFORE WE MIGHT ADD A MACRO (OR A FEW MACRO'S) TO REGISTER A CUSTOM POINT
-
--> moved folder "concept/adapted" to "geometries/adapted" because, actually, it implements the concepts but it does not
- define the concepts
-
-
-SUGGESTIONS / CONSIDERATIONS:
--> I wouldn't be against merging the files coordinate.hpp, dimension.hpp, system.hpp and access.hpp to one file
- "point_traits.hpp" (or "point_meta.hpp") to have the point concept defined in one place.
- Like with box.
- I ALREADY DID THIS.
-
--> An idea would be that "*_concept.hpp" is renamed to "*_concept_check.hpp" and "*_traits.hpp" renamed to "*_concept.hpp"
- because that last is what actually defines the concept, that first checks the concept.
- However, the checker hpp must include the definition hpp, and all sources should check, so like now they include
- "*_concept.hpp" and that is OK.
- SO THIS SUGGESTION IS REDRAWN (?)
- Still find it a bit unclear / confusing where is really the concept defined. In the traits? In the concept? In the dispatch?
-
--> I wondered why the get function didn't return a const ref. But I understand. The value inside the geometry
- object might be calculated (e.g. a planet, in time). So it has to return the value.
- I first did change it but later on reverted it.
- SO THIS SUGGESTION IS NOT VALID
-
-
-QUESTIONS:
--> can ConstPoint be baseclass and Point derived such that it only additionally checks write access?
- Or, maybe better that Point has a BOOST_CONCEPT_ASSERT from ConstPoint somewhere
- IF yes, same for box
- PROBABLY NOT
-
--> name of a 2 or 3D (or ND) circle: this is nearly impossible. Wikipedia gives "ball" (meaning only the
- interior), n-sphere, hypersphere (>3d). n-sphere was mentioned on the list (e.g. by Bruno), there were objections
- I combined all and come up with "sphercle" as appropriate :-)
- However, didn't commit that, too funny. Probably nsphere is the most appropriate. So that's how it is now...
-
- Objections to n-sphere are no problem as we still define a typedef "circle" and "sphere" for the 2D, 3D cases
-
-
-
-3) CONCEPTS IN GENERAL
-We had the get/set functionality. It has proved very useful.
-I made a bget/bset to set bounds of a box in a similar way.
-THIS IS NOW CHANGED TO get_indexed/set_indexed to set by index of a box/segment/(n-sphere?).
-
-However, it can and should be slightly more generic.
-
-How to set the center of the circle? set_center? (later) NO, THIS IS NOW ALSO GET/SET, see below
-
-We had also the generic "support::coordinate<P>::type" function (and dimension). It would be useful if the same
-function could be used for all geometries.
-
-So I added one other level of indirection, by using again tag dispatching. I also decided to remove the namespace "support",
-because it is functionality even for the end user (e.g. getting the dimension of a geometry). It is generic functionality,
-just like "distance".
-
-
-So it is now, sample with coordinate type:
-
-1) one generic "coordinate_type<G>::type" metafunction (typedef within a struct)
-2) forwarding its call (using remove_const) to a core_dispatch::coordinate_type<tag, G>::type metafunction.
-(That one should live in namespace core_dispatch. The reason for that is that functionality within "dispatch", such as
-distance implementations, often states "coordinate_type<G>::type" and there 1) is wanted, not 2)
-3) per geometry the core_dispatch set is specialized, forwarding its call to "traits::coordinate_type<G>" to be able
-to specialize user defined geometries
-4) the "traits::coordinate_type<G>" meta function will probably call the geometry::coordinate_type type using a typedef,
-but that is just how it is implemented. Custom types can also define it as double or so.
-
-This system is applied for the next meta-functions, for ALL geometries:
-- point_type<G>::type (even point has it, defining itself, the rest of course defines the used point)
-- coordinate_type<G>::type
-- dimension<G>::value
-- coordinate_system<G>::type for coordinate system
-
-This system is also applied for the next meta-functions, for SOME geometries:
-access<G>::get and access<G>::set functions to get/set values (only applicable for point and n-sphere)
-indexed_access<G>::get and ::set functions to get/set boundary values (applicable for box, maybe sphere, segment)
- (for segment the name "bound" was not convenient. There are min_corner/max_corner consts)
-
-radius_access<G>::get and ::set functions to get/set radius of an n-sphere, I made this templated by dimension also
- to enable ellipses to get a radius per dimension. The n-sphere asserts that it is zero.
-radius_type<G>::get and ::set to define the type of the radius of an n-sphere (lateron ellipse)
-
-
-Note that this system is convenient, also e.g. for the OGC specifications where "dimension" can be asked to any geometry. Dimension
-is just for convenience, it just using
-
-
-4) PLACE OF CONCEPTS FOLDER
-core is a new folder, containing things earlier in concepts. I found the name concepts a little inappropriate because it also
-contains functions as "get", "set", etc, things to really use. There is now:
-/geometry/core
-/geometry/concepts
-/geometry/dispatch
-
-It still might be changed a littlebit, adding a "traits" folder would be more consistent.
-
-
-5) DISTANCE RESULT
-changed to template, see mail Phil Endecott with suggestions
-
-6) ALGORITHMS
-added generic:
-"assign" to assign values, various overloads
-"make", idem but returning the geometry
-"transform" to transform coordinate systems
-"convert" to convert between geometry types, e.g., a BOX (2 corners) -> RING (5 points)
-"parse" to assign string-ed values, this was first in projections -> WILL BE EXTENDED
-"buffer" is the old "grow" with a value -> FOR FUTURE EXTENSION
-"selected" to return if an object is inside or close to a specified point value
-changed:
-"centroid" has now two versions, one returning centroid
-"envelope" idem
-
-
-
-7) STRATEGIES
-they are now organized per coordinate system

Deleted: trunk/libs/geometry/doc/development_notes.txt
==============================================================================
--- trunk/libs/geometry/doc/development_notes.txt 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
+++ (empty file)
@@ -1,4 +0,0 @@
-Content of this document has been moved to Wiki:
-
-http://trac.osgeo.org/ggl/wiki/Developer/Guidelines
-http://trac.osgeo.org/ggl/wiki/Developer/UnitTests

Deleted: trunk/libs/geometry/doc/doxygen_output/geometry.html
==============================================================================
--- trunk/libs/geometry/doc/doxygen_output/geometry.html 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
+++ (empty file)
@@ -1,9 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Refresh" content="1; URL=http://geometrylibrary.geodan.nl/index.html">
-<title>Forward....</title>
-</head>
-<body>
-You're being forwarded...
-</body>
-</html>
\ No newline at end of file

Modified: trunk/libs/geometry/doc/doxygen_output/html/doxygen.css
==============================================================================
--- trunk/libs/geometry/doc/doxygen_output/html/doxygen.css (original)
+++ trunk/libs/geometry/doc/doxygen_output/html/doxygen.css 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -8,6 +8,7 @@
 /* @group Heading Levels */
 
 h1 {
+ text-align: center;
         font-size: 150%;
 }
 
@@ -63,8 +64,8 @@
 }
 
 div.qindex, div.navtab{
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
         text-align: center;
         margin: 2px;
         padding: 2px;
@@ -82,13 +83,13 @@
 /* @group Link Styling */
 
 a {
- color: #3D578C;
+ color: #153788;
         font-weight: normal;
         text-decoration: none;
 }
 
 .contents a:visited {
- color: #4665A2;
+ color: #1b77c5;
 }
 
 a:hover {
@@ -101,9 +102,9 @@
 
 a.qindexHL {
         font-weight: bold;
- background-color: #9CAFD4;
+ background-color: #6666cc;
         color: #ffffff;
- border: 1px double #869DCA;
+ border: 1px double #9295C2;
 }
 
 .contents a.qindexHL:visited {
@@ -118,11 +119,11 @@
 }
 
 a.code {
- color: #4665A2;
+ color: #3030f0;
 }
 
 a.codeRef {
- color: #4665A2;
+ color: #3030f0;
 }
 
 /* @end */
@@ -137,8 +138,8 @@
 }
 
 pre.fragment {
- border: 1px solid #C4CFE5;
- background-color: #FBFCFD;
+ border: 1px solid #CCCCCC;
+ background-color: #f5f5f5;
         padding: 4px 6px;
         margin: 4px 8px 4px 2px;
         overflow: auto;
@@ -152,16 +153,7 @@
         font-weight: bold;
         color: #ffffff;
         margin-bottom: 3px;
- margin-top: 3px;
- padding: 0.2em;
- border: solid thin #333;
- border-radius: 0.5em;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- -webkit-box-shadow: 2px 2px 3px #999;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
- background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+ margin-top: 3px
 }
 
 div.groupHeader {
@@ -179,32 +171,27 @@
 body {
         background: white;
         color: black;
- margin: 0;
-}
-
-div.contents {
- margin-top: 10px;
- margin-left: 10px;
- margin-right: 10px;
+ margin-right: 20px;
+ margin-left: 20px;
 }
 
 td.indexkey {
- background-color: #EBEFF6;
+ background-color: #e8eef2;
         font-weight: bold;
- border: 1px solid #C4CFE5;
+ border: 1px solid #CCCCCC;
         margin: 2px 0px 2px 0;
         padding: 2px 10px;
 }
 
 td.indexvalue {
- background-color: #EBEFF6;
- border: 1px solid #C4CFE5;
+ background-color: #e8eef2;
+ border: 1px solid #CCCCCC;
         padding: 2px 10px;
         margin: 2px 0px;
 }
 
 tr.memlist {
- background-color: #EEF1F7;
+ background-color: #f0f0f0;
 }
 
 p.formulaDsp {
@@ -230,11 +217,6 @@
         border: 0px;
 }
 
-address.footer {
- text-align: right;
- padding-right: 12px;
-}
-
 img.footer {
         border: 0px;
         vertical-align: middle;
@@ -288,7 +270,6 @@
 
 /* @end */
 
-/*
 .search {
         color: #003399;
         font-weight: bold;
@@ -305,7 +286,6 @@
         font-weight: normal;
         background-color: #e8eef2;
 }
-*/
 
 td.tiny {
         font-size: 75%;
@@ -314,18 +294,18 @@
 .dirtab {
         padding: 4px;
         border-collapse: collapse;
- border: 1px solid #A3B4D7;
+ border: 1px solid #84b0c7;
 }
 
 th.dirtab {
- background: #EBEFF6;
+ background: #e8eef2;
         font-weight: bold;
 }
 
 hr {
         height: 0px;
         border: none;
- border-top: 1px solid #4A6AAA;
+ border-top: 1px solid #666;
 }
 
 hr.footer {
@@ -334,15 +314,10 @@
 
 /* @group Member Descriptions */
 
-table.memberdecls {
- border-spacing: 0px;
- padding: 0px;
-}
-
 .mdescLeft, .mdescRight,
 .memItemLeft, .memItemRight,
 .memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #F9FAFC;
+ background-color: #FAFAFA;
         border: none;
         margin: 4px;
         padding: 1px 0 0 8px;
@@ -354,7 +329,7 @@
 }
 
 .memItemLeft, .memItemRight, .memTemplParams {
- border-top: 1px solid #C4CFE5;
+ border-top: 1px solid #ccc;
 }
 
 .memItemLeft, .memTemplItemLeft {
@@ -362,7 +337,7 @@
 }
 
 .memTemplParams {
- color: #4665A2;
+ color: #606060;
         white-space: nowrap;
 }
 
@@ -374,14 +349,14 @@
 
 .memtemplate {
         font-size: 80%;
- color: #4665A2;
+ color: #606060;
         font-weight: normal;
         margin-left: 3px;
 }
 
 .memnav {
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
         text-align: center;
         margin: 2px;
         margin-right: 15px;
@@ -400,44 +375,40 @@
 }
 
 .memproto {
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 0px 6px 0px;
- color: #253555;
+ border-top: 1px solid #84b0c7;
+ border-left: 1px solid #84b0c7;
+ border-right: 1px solid #84b0c7;
+ padding: 0;
+ background-color: #d5e1e8;
         font-weight: bold;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
         /* firefox specific markup */
+ background-image: -moz-linear-gradient(rgba(228, 233, 245, 1.0) 0%, rgba(193, 205, 232, 1.0) 100%);
         -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
         -moz-border-radius-topright: 8px;
         -moz-border-radius-topleft: 8px;
         /* webkit specific markup */
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(228, 233, 245, 1.0)), to(rgba(193, 205, 232, 1.0)));
         -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
         -webkit-border-top-right-radius: 8px;
         -webkit-border-top-left-radius: 8px;
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- background-color: #E2E8F2;
 
 }
 
 .memdoc {
- border-bottom: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #84b0c7;
+ border-left: 1px solid #84b0c7;
+ border-right: 1px solid #84b0c7;
         padding: 2px 5px;
- background-color: #FBFCFD;
+ background-color: #eef3f5;
         border-top-width: 0;
         /* firefox specific markup */
         -moz-border-radius-bottomleft: 8px;
         -moz-border-radius-bottomright: 8px;
         -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
         /* webkit specific markup */
         -webkit-border-bottom-left-radius: 8px;
         -webkit-border-bottom-right-radius: 8px;
         -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
 }
 
 .paramkey {
@@ -464,7 +435,7 @@
 
 .ftvtree {
         font-family: sans-serif;
- margin: 0px;
+ margin: 0.5em;
 }
 
 /* these are for tree view when used as main index */
@@ -472,7 +443,6 @@
 .directory {
         font-size: 9pt;
         font-weight: bold;
- margin: 5px;
 }
 
 .directory h3 {
@@ -550,13 +520,9 @@
 
 /* @end */
 
-div.dynheader {
- margin-top: 8px;
-}
-
 address {
         font-style: normal;
- color: #2A3D61;
+ color: #333;
 }
 
 table.doxtable {
@@ -564,12 +530,12 @@
 }
 
 table.doxtable td, table.doxtable th {
- border: 1px solid #2D4068;
+ border: 1px solid #153788;
         padding: 3px 7px 2px;
 }
 
 table.doxtable th {
- background-color: #374F7F;
+ background-color: #254798;
         color: #FFFFFF;
         font-size: 110%;
         padding-bottom: 4px;
@@ -577,80 +543,3 @@
         text-align:left;
 }
 
-.tabsearch {
- top: 0px;
- left: 10px;
- height: 36px;
- background-image: url('tab_b.png');
- z-index: 101;
- overflow: hidden;
- font-size: 13px;
-}
-
-.navpath ul
-{
- font-size: 11px;
- background-image:url('tab_b.png');
- background-repeat:repeat-x;
- height:30px;
- line-height:30px;
- color:#8AA0CC;
- border:solid 1px #C2CDE4;
- overflow:hidden;
- margin:0px;
- padding:0px;
-}
-
-.navpath li
-{
- list-style-type:none;
- float:left;
- padding-left:10px;
- padding-right: 15px;
- background-image:url('bc_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
-}
-
-.navpath a
-{
- height:32px;
- display:block;
- text-decoration: none;
- outline: none;
-}
-
-.navpath a:hover
-{
- color:#6884BD;
-}
-
-div.summary
-{
- float: right;
- font-size: 8pt;
- padding-right: 5px;
- width: 50%;
- text-align: right;
-}
-
-div.summary a
-{
- white-space: nowrap;
-}
-
-div.header
-{
- background-image:url('nav_h.png');
- background-repeat:repeat-x;
- background-color: #F9FAFC;
- margin: 0px;
- border-bottom: 1px solid #C4CFE5;
-}
-
-div.headertitle
-{
- padding: 5px 5px 5px 10px;
-}
-

Modified: trunk/libs/geometry/doc/doxygen_output/html/doxygen.png
==============================================================================
Binary files. No diff available.

Modified: trunk/libs/geometry/doc/doxygen_output/html/tabs.css
==============================================================================
--- trunk/libs/geometry/doc/doxygen_output/html/tabs.css (original)
+++ trunk/libs/geometry/doc/doxygen_output/html/tabs.css 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,59 +1,105 @@
-.tabs, .tabs2, .tabs3 {
- background-image: url('tab_b.png');
- width: 100%;
- z-index: 101;
- font-size: 13px;
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+ float : left;
+ width : 100%;
+ background : url("tab_b.gif") repeat-x bottom;
+ margin-bottom : 4px;
+}
+
+DIV.tabs UL
+{
+ margin : 0px;
+ padding-left : 10px;
+ list-style : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+ display : inline;
+ margin : 0px;
+ padding : 0px;
+}
+
+DIV.tabs FORM
+{
+ float : right;
 }
 
-.tabs2 {
- font-size: 10px;
+DIV.tabs A
+{
+ float : left;
+ background : url("tab_r.gif") no-repeat right top;
+ border-bottom : 1px solid #84B0C7;
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
 }
-.tabs3 {
- font-size: 9px;
+
+DIV.tabs A:hover
+{
+ background-position: 100% -150px;
 }
 
-.tablist {
- margin: 0;
- padding: 0;
- display: table;
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+ color: #1A419D;
 }
 
-.tablist li {
- float: left;
- display: table-cell;
- background-image: url('tab_b.png');
- line-height: 36px;
- list-style: none;
+DIV.tabs SPAN
+{
+ float : left;
+ display : block;
+ background : url("tab_l.gif") no-repeat left top;
+ padding : 5px 9px;
+ white-space : nowrap;
 }
 
-.tablist a {
- display: block;
- padding: 0 20px;
- font-weight: bold;
- background-image:url('tab_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color: #283A5D;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- text-decoration: none;
- outline: none;
+DIV.tabs #MSearchBox
+{
+ float : right;
+ display : inline;
+ font-size : 1em;
+}
+
+DIV.tabs TD
+{
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+ background-position: 0% -150px;
 }
 
-.tabs3 .tablist a {
- padding: 0 10px;
+DIV.tabs LI.current A
+{
+ background-position: 100% -150px;
+ border-width : 0px;
 }
 
-.tablist a:hover {
- background-image: url('tab_h.png');
- background-repeat:repeat-x;
- color: #fff;
- text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
- text-decoration: none;
+DIV.tabs LI.current SPAN
+{
+ background-position: 0% -150px;
+ padding-bottom : 6px;
 }
 
-.tablist li.current a {
- background-image: url('tab_a.png');
- background-repeat:repeat-x;
- color: #fff;
- text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+DIV.navpath
+{
+ background : none;
+ border : none;
+ border-bottom : 1px solid #84B0C7;
+ text-align : center;
+ margin : 2px;
+ padding : 2px;
 }

Deleted: trunk/libs/geometry/doc/proposed_boost.png
==============================================================================
Binary file. No diff available.

Modified: trunk/libs/geometry/doc/qbk/Jamfile.v2
==============================================================================
--- trunk/libs/geometry/doc/qbk/Jamfile.v2 (original)
+++ trunk/libs/geometry/doc/qbk/Jamfile.v2 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -6,7 +6,6 @@
 # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 # http://www.boost.org/LICENSE_1_0.txt)
 
-# Experimental!
 
 project geometry/doc ;
 
@@ -25,7 +24,7 @@
         <xsl:param>toc.max.depth=2
         <xsl:param>generate.section.toc.level=4
         <xsl:param>boost.root=../../../..
- <xsl:param>callout.graphics.path=../../../../doc/html/images/callouts/
+ <xsl:param>callout.graphics.path=../../../../../doc/src/images/callouts/
         ;
 
 

Modified: trunk/libs/geometry/doc/qbk/reference/area.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/area.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/area.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -47,6 +47,9 @@
 [heading Complexity]
 Linear
 
+[heading Examples]
+[area_polygon_strategy]
+
 
 [endsect]
 
@@ -55,7 +58,11 @@
 Calculates the area of a geometry.
 
 [heading Description]
-The free function area calculates the area of a geometry. It uses the default strategy, based on the coordinate system of the geometry.
+The free function area calculates the area of a geometry. It uses the default strategy, based on the coordinate system of the geometry.
+
+The area algorithm calculates the surface area of all geometries having a surface, namely box, polygon, ring, multipolygon. The units are the square of the units used for the points defining the surface. If subject geometry is defined in meters, then area is calculated in square meters.
+
+The area calculation can be done in all three common coordinate systems, Cartesian, Spherical and Geographic as well.
 
 [heading Synopsis]
 ``template<typename Geometry>
@@ -96,6 +103,10 @@
 [heading Complexity]
 Linear
 
+[heading Examples]
+[area_polygon]
+[area_polygon_spherical]
+
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/qbk/reference/buffer.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/buffer.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/buffer.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,6 +1,6 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/group__buffer.xml]
-[section:buffer_4 buffer]
+[section:buffer buffer]
 
 Calculates the buffer of a geometry.
 
@@ -41,7 +41,7 @@
 
 [endsect]
 
-[section:make_buffer_3 make_buffer]
+[section:make_buffer make_buffer]
 
 Calculates the buffer of a geometry.
 
@@ -76,13 +76,6 @@
 
 `#include <boost/geometry/algorithms/buffer.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__box__/__box__][Returns a new rectangular box, enlarged with the specified distance. It is allowed that "geometry_out" the same object as "geometry_in"]]
-]
-
-
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/qbk/reference/centroid.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/centroid.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/centroid.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -75,19 +75,6 @@
 
 `#include <boost/geometry/algorithms/centroid.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][Calculates centroid]]
-[[__1dim__][Calculates centroid]]
-[[__2dim__][Calculates centroid]]
-[[__empty__][Throws a centroid_exception]]
-]
-
-
-[heading Complexity]
-Linear
-
 
 [endsect]
 
@@ -124,19 +111,6 @@
 
 `#include <boost/geometry/algorithms/centroid.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][Calculates centroid]]
-[[__1dim__][Calculates centroid]]
-[[__2dim__][Calculates centroid]]
-[[__empty__][Throws a centroid_exception]]
-]
-
-
-[heading Complexity]
-Linear
-
 
 [endsect]
 
@@ -172,19 +146,6 @@
 
 `#include <boost/geometry/algorithms/centroid.hpp>`
 
-[heading Behavior]
-[table
-[[Case] [Behavior] ]
-[[__0dim__][Calculates centroid]]
-[[__1dim__][Calculates centroid]]
-[[__2dim__][Calculates centroid]]
-[[__empty__][Throws a centroid_exception]]
-]
-
-
-[heading Complexity]
-Linear
-
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/qbk/reference/closing_iterator.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/closing_iterator.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/closing_iterator.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -37,15 +37,28 @@
 
 
 ]]
+[[``closing_iterator ()``
+
+] [Default constructor. ] [
+
+
+]]
 ]
 
-[heading Header]
-Either
+[heading Member Function(s)]
+[table
+[[Function] [Description] [Parameters] [Returns] ]
+[[``< Range > & operator= (closing_iterator< Range > const &source)``
+
+] [] [[* < Range > const &]: ['source]:
 
-`#include <boost/geometry/geometry.hpp>`
 
-Or
 
+
+]]
+]
+
+[heading Header]
 `#include <boost/geometry/iterators/closing_iterator.hpp>`
 
 [endsect]

Modified: trunk/libs/geometry/doc/qbk/reference/concept_point.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/concept_point.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/concept_point.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,26 +1,2 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
-[/ Generated from ../doxygen_output/xml/classboost_1_1geometry_1_1concept_1_1_point.xml]
-[section:concept::Point concept::Point]
-
-[heading Description]
-It uses the macro as following:
-
-[heading Synopsis]
-``template<typename Geometry>
-class concept::Point
-{
- // ...
-};
-``
-
-[heading Template parameter(s)]
-[table
-[[Parameter] [Description]]
-[[typename Geometry] []]
-]
-
-[heading Header]
-`#include <boost/geometry/geometries/concepts/point_concept.hpp>`
-
-[endsect]
-
+[/ Generated from ../doxygen_output/xml/classboost_1_1geometry_1_1concept_1_1_point.xml.xml]

Modified: trunk/libs/geometry/doc/qbk/reference/convex_hull.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/convex_hull.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/convex_hull.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,6 +1,6 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/group__convex__hull.xml]
-[section:convex_hull_2 convex_hull]
+[section:convex_hull convex_hull]
 
 Calculates the convex hull of a geometry.
 
@@ -32,7 +32,7 @@
 
 [endsect]
 
-[section:convex_hull_inserter_2 convex_hull_inserter]
+[section:convex_hull_inserter convex_hull_inserter]
 
 Calculate the convex hull of a geometry, output-iterator version.
 

Modified: trunk/libs/geometry/doc/qbk/reference/distance.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/distance.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/distance.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,6 +1,6 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/group__distance.xml]
-[section:comparable_distance_2 comparable_distance]
+[section:comparable_distance comparable_distance]
 
 Calculate the comparable distance measurement of two geometries.
 
@@ -24,12 +24,6 @@
 The calculated comparable distance
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
 `#include <boost/geometry/algorithms/comparable_distance.hpp>`
 
 
@@ -74,6 +68,9 @@
 
 Calculate the distance of two geometries using the specified strategy.
 
+[heading Description]
+The free function area calculates the area of a geometry. using the specified strategy. Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)
+
 [heading Synopsis]
 ``template<typename Geometry1, typename Geometry2, typename Strategy>
 strategy::distance::services::return_type<Strategy>::type distance (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)``

Modified: trunk/libs/geometry/doc/qbk/reference/envelope.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/envelope.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/envelope.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,6 +1,6 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/group__envelope.xml]
-[section:envelope_2 envelope]
+[section:envelope envelope]
 
 Calculates the envelope of a geometry.
 
@@ -32,7 +32,7 @@
 
 [endsect]
 
-[section:make_envelope_1 make_envelope]
+[section:make_envelope make_envelope]
 
 Calculates the envelope of a geometry.
 

Modified: trunk/libs/geometry/doc/qbk/reference/intersection.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/intersection.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/intersection.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,6 +1,6 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/group__intersection.xml]
-[section:intersection_3 intersection]
+[section:intersection intersection]
 
 Calculate the intersection of two geometries.
 
@@ -8,16 +8,17 @@
 The free function intersection calculates the spatial set theoretic intersection of two geometries.
 
 [heading Synopsis]
-``template<typename Geometry1, typename Geometry2, typename Collection>
-void intersection (Geometry1 const &geometry1, Geometry2 const &geometry2, Collection &output_collection)``
+``template<typename Geometry1, typename Geometry2, typename GeometryOut, >
+bool intersection (Geometry1 const &geometry1, Geometry2 const &geometry2, GeometryOut &geometry_out)``
 
 [heading Parameters]
 
 [table
 [[Type] [Concept] [Name] [Description] ]
+[[Collection] [Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which the value_type (below referred to as 'GeometryOut') fulfills a Point, LineString or Polygon concept. ] [ - ] [Must be specified]]
 [[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]]
 [[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]]
-[[Collection &] [Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which the value_type (below referred to as 'GeometryOut') fulfills a Point, LineString or Polygon concept. ] [output_collection] [The collection being filled or extended by the algorithm]]
+[[GeometryOut &] [] [geometry_out] [The output geometry, either a multi_point, multi_polygon, multi_linestring, or a box (for intersection of two boxes)]]
 ]
 
 
@@ -39,6 +40,10 @@
 ]
 
 
+[heading Examples]
+[intersection_linestring]
+[intersection_segment]
+
 
 [endsect]
 
@@ -68,13 +73,7 @@
 The output iterator
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
-`#include <boost/geometry/algorithms/intersection.hpp>`
+`#include <boost/geometry/algorithms/intersection_inserter.hpp>`
 
 [heading Behavior]
 [table
@@ -85,6 +84,9 @@
 ]
 
 
+[heading Examples]
+[intersection_segment_inserter]
+
 
 [endsect]
 
@@ -115,13 +117,7 @@
 The output iterator
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
-`#include <boost/geometry/algorithms/intersection.hpp>`
+`#include <boost/geometry/algorithms/intersection_inserter.hpp>`
 
 [heading Behavior]
 [table

Modified: trunk/libs/geometry/doc/qbk/reference/intersects.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/intersects.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/intersects.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,6 +1,6 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/group__intersects.xml]
-[section:intersects_2 intersects]
+[section:intersects_2 intersects (two geometries)]
 
 Checks if two geometries have at least one intersection.
 
@@ -29,10 +29,14 @@
 
 `#include <boost/geometry/algorithms/intersects.hpp>`
 
+[heading Examples]
+[intersects_linestring]
+[intersects_segment]
+
 
 [endsect]
 
-[section:intersects_1 intersects]
+[section:intersects_1 intersects (one geometry)]
 
 Checks if a geometry has at least one intersection (crossing or self-tangency).
 

Modified: trunk/libs/geometry/doc/qbk/reference/length.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/length.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/length.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -44,6 +44,9 @@
 [heading Complexity]
 Linear
 
+[heading Examples]
+[length_strategy]
+
 
 [endsect]
 
@@ -90,6 +93,9 @@
 [heading Complexity]
 Linear
 
+[heading Examples]
+[length]
+
 
 [endsect]
 

Modified: trunk/libs/geometry/doc/qbk/reference/num_interior_rings.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/num_interior_rings.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/num_interior_rings.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -4,6 +4,9 @@
 
 Calculates the number of interior rings of a geometry.
 
+[heading Description]
+The free function num_interior_rings calculates the number of interior rings of a geometry.
+
 [heading Synopsis]
 ``template<typename Geometry>
 std::size_t num_interior_rings (Geometry const &geometry)``

Modified: trunk/libs/geometry/doc/qbk/reference/num_points.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/num_points.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/num_points.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -9,13 +9,14 @@
 
 [heading Synopsis]
 ``template<typename Geometry>
-std::size_t num_points (Geometry const &geometry)``
+std::size_t num_points (Geometry const &geometry, bool add_for_open=false)``
 
 [heading Parameters]
 
 [table
 [[Type] [Concept] [Name] [Description] ]
 [[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
+[[bool] [] [add_for_open] [add one for open geometries (i.e. polygon types which are not closed) ]]
 ]
 
 

Modified: trunk/libs/geometry/doc/qbk/reference/point.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/point.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/point.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,81 +1,2 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/classboost_1_1geometry_1_1point.xml]
-[section:point point]
-
-[heading Description]
-Defines a neutral point class, fulfilling the Point Concept. Library users can use this point class, or use their own point classes. This point class is used in most of the samples and tests of Boost.Geometry This point class is used occasionally within the library, where a temporary point class is necessary.
-
-[heading Synopsis]
-``template<typename CoordinateType, std::size_t DimensionCount, typename CoordinateSystem>
-class point
-{
- // ...
-};
-``
-
-[heading Template parameter(s)]
-[table
-[[Parameter] [Description]]
-[[typename CoordinateType] [Numerical type (int, double, ttmath, ...) ]]
-[[std::size_t DimensionCount] [number of coordinates, usually 2 or 3 ]]
-[[typename CoordinateSystem] [coordinate system, for example ]]
-]
-
-[heading Constructor(s)]
-[table
-[[Function] [Description] [Parameters] ]
-[[``point ()``
-
-] [Default constructor, no initialization. ] [
-
-
-]]
-[[``point (CoordinateType const &v0, CoordinateType const &v1=0, CoordinateType const &v2=0)``
-
-] [Constructor to set one, two or three values. ] [[* CoordinateType const &]: ['v0]:
-
-[* CoordinateType const &]: ['v1]:
-
-[* CoordinateType const &]: ['v2]:
-
-
-
-
-]]
-]
-
-[heading Member Function(s)]
-[table
-[[Function] [Description] [Parameters] [Returns] ]
-[[``template<std::size_t K>
-CoordinateType const & get () const ``
-
-] [Get a coordinate. ] [
-
-][
-the coordinate
-
-
-]]
-[[``template<std::size_t K>
-void set (CoordinateType const &value)``
-
-] [Set a coordinate. ] [[* CoordinateType const &]: ['value]: value to set
-
-
-
-
-]]
-]
-
-[heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
-`#include <boost/geometry/geometries/point.hpp>`
-
-[endsect]
-

Modified: trunk/libs/geometry/doc/qbk/reference/point_xy.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/point_xy.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/point_xy.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,84 +1,2 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/classboost_1_1geometry_1_1point__xy.xml]
-[section:point_xy point_xy]
-
-[heading Synopsis]
-``template<typename T, typename C>
-class point_xy
-{
- // ...
-};
-``
-
-[heading Template parameter(s)]
-[table
-[[Parameter] [Description]]
-[[typename T] [numeric type, arguments can be, for example, double, float, int ]]
-[[typename C] []]
-]
-
-[heading Constructor(s)]
-[table
-[[Function] [Description] [Parameters] ]
-[[``point_xy ()``
-
-] [Default constructor, does not initialize anything. ] [
-
-
-]]
-[[``point_xy (T const &x, T const &y)``
-
-] [Constructor with x/y values. ] [[* T const &]: ['x]:
-
-[* T const &]: ['y]:
-
-
-
-
-]]
-]
-
-[heading Member Function(s)]
-[table
-[[Function] [Description] [Parameters] [Returns] ]
-[[``T const & x () const ``
-
-] [Get x-value. ] [
-
-
-]]
-[[``T const & y () const ``
-
-] [Get y-value. ] [
-
-
-]]
-[[``void x (T const &v)``
-
-] [Set x-value. ] [[* T const &]: ['v]:
-
-
-
-
-]]
-[[``void y (T const &v)``
-
-] [Set y-value. ] [[* T const &]: ['v]:
-
-
-
-
-]]
-]
-
-[heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
-`#include <boost/geometry/geometries/point_xy.hpp>`
-
-[endsect]
-

Modified: trunk/libs/geometry/doc/qbk/reference/register.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/register.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/register.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -1,6 +1,6 @@
 [/ Generated by doxygen_xml2qbk, don't change, it will be overwritten automatically]
 [/ Generated from ../doxygen_output/xml/group__register.xml]
-[section:BOOST_GEOMETRY_REGISTER_POINT_2D_5 BOOST_GEOMETRY_REGISTER_POINT_2D]
+[section:BOOST_GEOMETRY_REGISTER_POINT_2D BOOST_GEOMETRY_REGISTER_POINT_2D]
 
 Macro to register a 2D point type.
 
@@ -23,20 +23,17 @@
 
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
 `#include <boost/geometry/geometries/register/point.hpp>`
 
 [caution Use the macro outside any namespace]
 [note A point can include a namespace]
+[heading Examples]
+[boost_geometry_register_point_2d]
+
 
 [endsect]
 
-[section:BOOST_GEOMETRY_REGISTER_POINT_2D_CONST_5 BOOST_GEOMETRY_REGISTER_POINT_2D_CONST]
+[section:BOOST_GEOMETRY_REGISTER_POINT_2D_CONST BOOST_GEOMETRY_REGISTER_POINT_2D_CONST]
 
 Macro to register a 2D point type (const version).
 
@@ -59,18 +56,12 @@
 
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
 `#include <boost/geometry/geometries/register/point.hpp>`
 
 
 [endsect]
 
-[section:BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET_7 BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET]
+[section:BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET]
 
 Macro to register a 2D point type (having separate get/set methods).
 
@@ -95,18 +86,12 @@
 
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
 `#include <boost/geometry/geometries/register/point.hpp>`
 
 
 [endsect]
 
-[section:BOOST_GEOMETRY_REGISTER_POINT_3D_6 BOOST_GEOMETRY_REGISTER_POINT_3D]
+[section:BOOST_GEOMETRY_REGISTER_POINT_3D BOOST_GEOMETRY_REGISTER_POINT_3D]
 
 Macro to register a 3D point type.
 
@@ -130,18 +115,12 @@
 
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
 `#include <boost/geometry/geometries/register/point.hpp>`
 
 
 [endsect]
 
-[section:BOOST_GEOMETRY_REGISTER_POINT_3D_CONST_6 BOOST_GEOMETRY_REGISTER_POINT_3D_CONST]
+[section:BOOST_GEOMETRY_REGISTER_POINT_3D_CONST BOOST_GEOMETRY_REGISTER_POINT_3D_CONST]
 
 Macro to register a 3D point type (const version).
 
@@ -165,18 +144,12 @@
 
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
 `#include <boost/geometry/geometries/register/point.hpp>`
 
 
 [endsect]
 
-[section:BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET_9 BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET]
+[section:BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET]
 
 Macro to register a 3D point type (having separate get/set methods).
 
@@ -203,12 +176,6 @@
 
 
 [heading Header]
-Either
-
-`#include <boost/geometry/geometry.hpp>`
-
-Or
-
 `#include <boost/geometry/geometries/register/point.hpp>`
 
 

Modified: trunk/libs/geometry/doc/qbk/reference/simplify.qbk
==============================================================================
--- trunk/libs/geometry/doc/qbk/reference/simplify.qbk (original)
+++ trunk/libs/geometry/doc/qbk/reference/simplify.qbk 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -121,6 +121,9 @@
 
 `#include <boost/geometry/algorithms/simplify.hpp>`
 
+[heading Examples]
+[simplify_inserter]
+
 
 [endsect]
 

Deleted: trunk/libs/geometry/doc/roadmap.doc
==============================================================================
Binary file. No diff available.

Deleted: trunk/libs/geometry/doc/status.txt
==============================================================================
--- trunk/libs/geometry/doc/status.txt 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
+++ (empty file)
@@ -1,65 +0,0 @@
-TODO FOR PREVIEW4
-
-* documentation
-
-* JAM's
- -update
-
-
-
-----------------------------
-
-
-
-* from_wkt
- - harmonize with parse? MAYBE NEXT VERSION, NOT NOW
-* parse:
- - make default parser calling atod / lexical_cast for convenience/consistency with dms parser MAYBE NEXT VERSION, NOT NOW
-
-
-* projections:
- - param check without char LATER
- - there are warnings on "this->" in MSVC LATER
- - add "ellipse" structs -> can be shared by projections and by geographic distances LATER
- - map for init LATER
-
-
-
-maybe
-
-* cartesian_tag etc -> cs::cartesian_tag or tag::cartesian_tag (?)
-* OGC
- - start_point
- - end_point
-
-* assign/append
- - add latitude<>/long<> / dms<> ? they were in point_ll. Now in "util/graticule.hpp"
- -> PROBABLY DO THIS BY MAKING A FUNCTION AND ADDING dms_result -> more generic
- - what about box? You might wish a method assigning a corner to a box, not yet there. LATER
-
-
-
-* make traits access consistent (DIM,TYPE) with index_access and radius_access
- the call are now, for access/index_access/radius_access
- return traits::access<P>::template get<D>(p);
- return traits::indexed_access<B, I, D>::get(b);
- return traits::radius_access<S, T, D>::get(s);
- the first is different and might be changed to:
- return traits::access<P, D>::get(p);
-
- Has no influence on the rest of the library, only the traits class(es)
-
-
-* exceptions more consistent / separate headers?, derive from boost?
-
-* bounding box trait?
-
-
-* convex_hull:
- - multi*, LATER
-
-
-EXAMPLES
-
-? X0x_GMP with GNU MP
-

Deleted: trunk/libs/geometry/doc/status.xls
==============================================================================
Binary file. No diff available.

Modified: trunk/libs/geometry/example/01_point_example.cpp
==============================================================================
--- trunk/libs/geometry/example/01_point_example.cpp (original)
+++ trunk/libs/geometry/example/01_point_example.cpp 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -114,6 +114,13 @@
     // (delimiter separated values)
     std::cout << dsv(pt3) << std::endl;
 
+ // There are 3-dimensional points too
+ model::point<double, 3, cs::cartesian> d3a, d3b;
+ assign(d3a, 1, 2, 3);
+ assign(d3b, 4, 5, 6);
+ d3 = distance(d3a, d3b);
+
+
 
     // Other examples show other types of points, geometries and more algorithms
 

Modified: trunk/libs/geometry/example/boost.vsprops
==============================================================================
--- trunk/libs/geometry/example/boost.vsprops (original)
+++ trunk/libs/geometry/example/boost.vsprops 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -15,6 +15,6 @@
         />
         <UserMacro
                 Name="BOOST_ROOT"
- Value="C:\Program Files\boost\boost_1_45_0"
+ Value="../../.."
         />
 </VisualStudioPropertySheet>

Modified: trunk/libs/geometry/example/extensions/gis/projections/p01_example.vcproj
==============================================================================
--- trunk/libs/geometry/example/extensions/gis/projections/p01_example.vcproj (original)
+++ trunk/libs/geometry/example/extensions/gis/projections/p01_example.vcproj 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -20,7 +20,7 @@
                         OutputDirectory="$(SolutionDir)$(ConfigurationName)"
                         IntermediateDirectory="$(ConfigurationName)\p01_example"
                         ConfigurationType="1"
- InheritedPropertySheets="../../../boost.vsprops"
+ InheritedPropertySheets="..\..\..\boost.vsprops"
                         CharacterSet="1"
>
                         <Tool
@@ -41,7 +41,7 @@
                         <Tool
                                 Name="VCCLCompilerTool"
                                 Optimization="0"
- AdditionalIncludeDirectories="../../../../../..;c:\svn\numeric_adaptor"
+ AdditionalIncludeDirectories="../../../../../.."
                                 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS"
                                 MinimalRebuild="true"
                                 RuntimeLibrary="3"
@@ -95,7 +95,7 @@
                         OutputDirectory="$(SolutionDir)$(ConfigurationName)"
                         IntermediateDirectory="$(ConfigurationName)\p01_example"
                         ConfigurationType="1"
- InheritedPropertySheets="../../../boost.vsprops"
+ InheritedPropertySheets="..\..\..\boost.vsprops"
                         CharacterSet="1"
                         WholeProgramOptimization="1"
>
@@ -120,7 +120,7 @@
                                 EnableIntrinsicFunctions="true"
                                 FavorSizeOrSpeed="1"
                                 WholeProgramOptimization="false"
- AdditionalIncludeDirectories="../../../../../..;c:\svn\numeric_adaptor"
+ AdditionalIncludeDirectories="../../../../../.."
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS"
                                 GeneratePreprocessedFile="0"
                                 RuntimeLibrary="0"

Modified: trunk/libs/geometry/example/extensions/gis/projections/p03_example.vcproj
==============================================================================
--- trunk/libs/geometry/example/extensions/gis/projections/p03_example.vcproj (original)
+++ trunk/libs/geometry/example/extensions/gis/projections/p03_example.vcproj 2010-12-30 17:03:06 EST (Thu, 30 Dec 2010)
@@ -20,7 +20,7 @@
                         OutputDirectory="$(SolutionDir)$(ConfigurationName)"
                         IntermediateDirectory="$(ConfigurationName)\p03_example"
                         ConfigurationType="1"
- InheritedPropertySheets="../../../boost.vsprops"
+ InheritedPropertySheets="..\..\..\boost.vsprops"
                         CharacterSet="1"
>
                         <Tool
@@ -41,7 +41,7 @@
                         <Tool
                                 Name="VCCLCompilerTool"
                                 Optimization="0"
- AdditionalIncludeDirectories=".;../../../../../..;&quot;./contrib/shapelib-1.2.10&quot;;&quot;./contrib/gd-2.0.35&quot;"
+ AdditionalIncludeDirectories=".;../../../../../.."
                                 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS"
                                 MinimalRebuild="true"
                                 RuntimeLibrary="3"
@@ -95,7 +95,7 @@
                         OutputDirectory="$(SolutionDir)$(ConfigurationName)"
                         IntermediateDirectory="$(ConfigurationName)\p03_example"
                         ConfigurationType="1"
- InheritedPropertySheets="../../../boost.vsprops"
+ InheritedPropertySheets="..\..\..\boost.vsprops"
                         CharacterSet="1"
                         WholeProgramOptimization="1"
>
@@ -120,7 +120,7 @@
                                 EnableIntrinsicFunctions="true"
                                 FavorSizeOrSpeed="1"
                                 WholeProgramOptimization="false"
- AdditionalIncludeDirectories=".;../../../../../..;&quot;./contrib/shapelib-1.2.10&quot;;&quot;./contrib/gd-2.0.35&quot;"
+ AdditionalIncludeDirectories=".;../../../../../.."
                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS"
                                 GeneratePreprocessedFile="0"
                                 RuntimeLibrary="0"


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