Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r76341 - in branches/release/libs/geometry: doc doc/concept doc/doxy doc/doxy/doxygen_input/sourcecode doc/doxy/doxygen_output/html doc/generated doc/html doc/reference doc/src doc/src/docutils/tools/implementation_status doc/src/docutils/tools/support_status doc/src/examples/algorithms doc/src/examples/geometries/register example example/with_external_libs test test/algorithms test/algorithms/detail test/algorithms/detail/sections test/algorithms/overlay test/algorithms/overlay/robustness test/concepts test/core test/domains/gis/io/wkt test/geometries test/io test/io/wkt test/iterators test/multi test/multi/algorithms test/multi/algorithms/overlay test/multi/io test/multi/io/wkt test/policies test/strategies test/util test/views
From: barend.gehrels_at_[hidden]
Date: 2012-01-07 12:56:58


Author: barendgehrels
Date: 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
New Revision: 76341
URL: http://svn.boost.org/trac/boost/changeset/76341

Log:
Merged Geometry doc,test,example folders
Added:
   branches/release/libs/geometry/doc/src/docutils/tools/support_status/
      - copied from r75810, /trunk/libs/geometry/doc/src/docutils/tools/support_status/
   branches/release/libs/geometry/doc/src/docutils/tools/support_status/qbk_outputter.hpp
      - copied unchanged from r76280, /trunk/libs/geometry/doc/src/docutils/tools/support_status/qbk_outputter.hpp
   branches/release/libs/geometry/doc/src/docutils/tools/support_status/support_status.cpp
      - copied, changed from r75810, /trunk/libs/geometry/doc/src/docutils/tools/support_status/support_status.cpp
   branches/release/libs/geometry/doc/src/docutils/tools/support_status/support_status.sln
      - copied unchanged from r76146, /trunk/libs/geometry/doc/src/docutils/tools/support_status/support_status.sln
   branches/release/libs/geometry/doc/src/docutils/tools/support_status/support_status.vcxproj
      - copied unchanged from r76146, /trunk/libs/geometry/doc/src/docutils/tools/support_status/support_status.vcxproj
   branches/release/libs/geometry/doc/src/docutils/tools/support_status/text_outputter.hpp
      - copied unchanged from r76280, /trunk/libs/geometry/doc/src/docutils/tools/support_status/text_outputter.hpp
   branches/release/libs/geometry/test/io/
      - copied from r76026, /trunk/libs/geometry/test/io/
   branches/release/libs/geometry/test/io/Jamfile.v2
      - copied unchanged from r76026, /trunk/libs/geometry/test/io/Jamfile.v2
   branches/release/libs/geometry/test/io/wkt/
      - copied from r76026, /trunk/libs/geometry/test/io/wkt/
   branches/release/libs/geometry/test/io/wkt/Jamfile.v2
      - copied unchanged from r76026, /trunk/libs/geometry/test/io/wkt/Jamfile.v2
   branches/release/libs/geometry/test/io/wkt/io_wkt_tests.sln
      - copied unchanged from r76026, /trunk/libs/geometry/test/io/wkt/io_wkt_tests.sln
   branches/release/libs/geometry/test/io/wkt/wkt.cpp
      - copied unchanged from r76026, /trunk/libs/geometry/test/io/wkt/wkt.cpp
   branches/release/libs/geometry/test/io/wkt/wkt.vcproj
      - copied unchanged from r76026, /trunk/libs/geometry/test/io/wkt/wkt.vcproj
   branches/release/libs/geometry/test/multi/io/ (props changed)
      - copied from r76026, /trunk/libs/geometry/test/multi/io/
   branches/release/libs/geometry/test/multi/io/Jamfile.v2
      - copied unchanged from r76026, /trunk/libs/geometry/test/multi/io/Jamfile.v2
   branches/release/libs/geometry/test/multi/io/wkt/ (props changed)
      - copied from r76026, /trunk/libs/geometry/test/multi/io/wkt/
   branches/release/libs/geometry/test/multi/io/wkt/Jamfile.v2
      - copied unchanged from r76026, /trunk/libs/geometry/test/multi/io/wkt/Jamfile.v2
   branches/release/libs/geometry/test/multi/io/wkt/io_wkt_tests.sln
      - copied unchanged from r76026, /trunk/libs/geometry/test/multi/io/wkt/io_wkt_tests.sln
   branches/release/libs/geometry/test/multi/io/wkt/wkt.cpp
      - copied unchanged from r76026, /trunk/libs/geometry/test/multi/io/wkt/wkt.cpp
   branches/release/libs/geometry/test/multi/io/wkt/wkt.vcproj
      - copied unchanged from r76026, /trunk/libs/geometry/test/multi/io/wkt/wkt.vcproj
Properties modified:
   branches/release/libs/geometry/doc/ (props changed)
   branches/release/libs/geometry/doc/Jamfile.v2 (props changed)
   branches/release/libs/geometry/doc/about_documentation.qbk (props changed)
   branches/release/libs/geometry/doc/acknowledgments.qbk (props changed)
   branches/release/libs/geometry/doc/compiling.qbk (props changed)
   branches/release/libs/geometry/doc/concept/ (props changed)
   branches/release/libs/geometry/doc/copyright_note_policy.txt (props changed)
   branches/release/libs/geometry/doc/design_rationale.qbk (props changed)
   branches/release/libs/geometry/doc/doxy/ (props changed)
   branches/release/libs/geometry/doc/generated/ (props changed)
   branches/release/libs/geometry/doc/geometry.qbk (props changed)
   branches/release/libs/geometry/doc/html/ (props changed)
   branches/release/libs/geometry/doc/imports.qbk (props changed)
   branches/release/libs/geometry/doc/introduction.qbk (props changed)
   branches/release/libs/geometry/doc/make_qbk.py (props changed)
   branches/release/libs/geometry/doc/matrix.qbk (props changed)
   branches/release/libs/geometry/doc/quickref.xml (props changed)
   branches/release/libs/geometry/doc/quickstart.qbk (props changed)
   branches/release/libs/geometry/doc/readme.txt (props changed)
   branches/release/libs/geometry/doc/reference/ (props changed)
   branches/release/libs/geometry/doc/reference.qbk (props changed)
   branches/release/libs/geometry/doc/src/ (props changed)
   branches/release/libs/geometry/example/ (props changed)
   branches/release/libs/geometry/test/ (props changed)
Binary files modified:
   branches/release/libs/geometry/doc/doxy/doxygen_output/html/doxygen.png
Text files modified:
   branches/release/libs/geometry/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp | 5
   branches/release/libs/geometry/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp | 2
   branches/release/libs/geometry/doc/doxy/doxygen_output/html/doxygen.css | 197 +++++++++++++++++++++++++++++++--------
   branches/release/libs/geometry/doc/doxy/doxygen_output/html/tabs.css | 132 ++++++++------------------
   branches/release/libs/geometry/doc/generated/distance_status.qbk | 16 +-
   branches/release/libs/geometry/doc/html/index.html | 119 +++++++++++++++++++++--
   branches/release/libs/geometry/doc/src/docutils/tools/implementation_status/implementation_status.hpp | 2
   branches/release/libs/geometry/doc/src/docutils/tools/support_status/support_status.cpp | 134 ++++++++++++++++++--------
   branches/release/libs/geometry/doc/src/examples/algorithms/area.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/area_with_strategy.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/centroid.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/create_svg_overlay.hpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/difference.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/difference_inserter.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/distance.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/envelope.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/for_each_point.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/for_each_point_const.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/intersection_ls_ls_point.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/intersection_poly_poly.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/intersection_segment.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/intersects_linestring.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/intersects_segment.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/length.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/num_geometries.cpp | 3
   branches/release/libs/geometry/doc/src/examples/algorithms/num_interior_rings.cpp | 3
   branches/release/libs/geometry/doc/src/examples/algorithms/num_points.cpp | 3
   branches/release/libs/geometry/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp | 5
   branches/release/libs/geometry/doc/src/examples/algorithms/sym_difference.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/union.cpp | 2
   branches/release/libs/geometry/doc/src/examples/algorithms/within.cpp | 2
   branches/release/libs/geometry/doc/src/examples/geometries/register/multi_point.cpp | 1
   branches/release/libs/geometry/doc/src/examples/geometries/register/multi_point_templated.cpp | 1
   branches/release/libs/geometry/example/06_b_transformation_example.cpp | 2
   branches/release/libs/geometry/example/07_a_graph_route_example.cpp | 2
   branches/release/libs/geometry/example/07_b_graph_route_example.cpp | 2
   branches/release/libs/geometry/example/c01_custom_point_example.cpp | 2
   branches/release/libs/geometry/example/c02_custom_box_example.cpp | 2
   branches/release/libs/geometry/example/c04_a_custom_triangle_example.cpp | 2
   branches/release/libs/geometry/example/c04_b_custom_triangle_example.cpp | 2
   branches/release/libs/geometry/example/c09_custom_fusion_example.cpp | 2
   branches/release/libs/geometry/example/with_external_libs/x03_a_soci_example.cpp | 2
   branches/release/libs/geometry/example/with_external_libs/x03_b_soci_example.cpp | 2
   branches/release/libs/geometry/example/with_external_libs/x04_wxwidgets_world_mapper.cpp | 4
   branches/release/libs/geometry/example/with_external_libs/x05_shapelib_example.cpp | 2
   branches/release/libs/geometry/example/with_external_libs/x06_qt_world_mapper.cpp | 2
   branches/release/libs/geometry/test/Jamfile.v2 | 4
   branches/release/libs/geometry/test/algorithms/convert.cpp | 75 +++++++++++++++
   branches/release/libs/geometry/test/algorithms/correct.cpp | 6
   branches/release/libs/geometry/test/algorithms/detail/partition.cpp | 3
   branches/release/libs/geometry/test/algorithms/detail/sections/range_by_section.cpp | 2
   branches/release/libs/geometry/test/algorithms/detail/sections/sectionalize.cpp | 4
   branches/release/libs/geometry/test/algorithms/difference.cpp | 73 ++++++++++++++
   branches/release/libs/geometry/test/algorithms/disjoint.cpp | 2
   branches/release/libs/geometry/test/algorithms/distance.cpp | 2
   branches/release/libs/geometry/test/algorithms/intersection.cpp | 57 +++++++++++
   branches/release/libs/geometry/test/algorithms/make.cpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/assemble.cpp | 4
   branches/release/libs/geometry/test/algorithms/overlay/ccw_traverse.cpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/dissolver.cpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/get_turns.cpp | 4
   branches/release/libs/geometry/test/algorithms/overlay/overlay_common.hpp | 4
   branches/release/libs/geometry/test/algorithms/overlay/robustness/interior_triangles.cpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/robustness/intersects.cpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/robustness/recursive_polygons.cpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/robustness/star_comb.cpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/select_rings.cpp | 2
   branches/release/libs/geometry/test/algorithms/overlay/self_intersection_points.cpp | 4
   branches/release/libs/geometry/test/algorithms/overlay/split_rings.cpp | 4
   branches/release/libs/geometry/test/algorithms/overlay/traverse.cpp | 4
   branches/release/libs/geometry/test/algorithms/overlay/traverse_gmp.cpp | 2
   branches/release/libs/geometry/test/algorithms/test_area.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_centroid.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_convert.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_convex_hull.hpp | 4
   branches/release/libs/geometry/test/algorithms/test_covered_by.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_difference.hpp | 120 +++++++++++++++++------
   branches/release/libs/geometry/test/algorithms/test_distance.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_envelope.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_equals.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_expand.hpp | 4
   branches/release/libs/geometry/test/algorithms/test_for_each.hpp | 4
   branches/release/libs/geometry/test/algorithms/test_intersection.hpp | 61 +++++++++--
   branches/release/libs/geometry/test/algorithms/test_intersects.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_length.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_overlaps.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_perimeter.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_reverse.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_simplify.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_union.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_unique.hpp | 2
   branches/release/libs/geometry/test/algorithms/test_within.hpp | 2
   branches/release/libs/geometry/test/algorithms/transform.cpp | 4
   branches/release/libs/geometry/test/concepts/linestring_concept.cpp | 2
   branches/release/libs/geometry/test/core/ring.cpp | 2
   branches/release/libs/geometry/test/domains/gis/io/wkt/multi_wkt.cpp | 4
   branches/release/libs/geometry/test/domains/gis/io/wkt/wkt.cpp | 4
   branches/release/libs/geometry/test/geometries/boost_polygon.cpp | 2
   branches/release/libs/geometry/test/geometries/boost_polygon_overlay.cpp | 2
   branches/release/libs/geometry/test/geometries/boost_range.cpp | 2
   branches/release/libs/geometry/test/geometries/segment.cpp | 2
   branches/release/libs/geometry/test/iterators/closing_iterator.cpp | 2
   branches/release/libs/geometry/test/iterators/ever_circling_iterator.cpp | 2
   branches/release/libs/geometry/test/multi/Jamfile.v2 | 3
   branches/release/libs/geometry/test/multi/algorithms/Jamfile.v2 | 1
   branches/release/libs/geometry/test/multi/algorithms/multi_area.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_centroid.cpp | 2
   branches/release/libs/geometry/test/multi/algorithms/multi_convert.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_convex_hull.cpp | 5
   branches/release/libs/geometry/test/multi/algorithms/multi_correct.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_covered_by.cpp | 5
   branches/release/libs/geometry/test/multi/algorithms/multi_difference.cpp | 54 ++++++++++
   branches/release/libs/geometry/test/multi/algorithms/multi_distance.cpp | 4
   branches/release/libs/geometry/test/multi/algorithms/multi_envelope.cpp | 2
   branches/release/libs/geometry/test/multi/algorithms/multi_equals.cpp | 2
   branches/release/libs/geometry/test/multi/algorithms/multi_for_each.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_intersection.cpp | 16 +++
   branches/release/libs/geometry/test/multi/algorithms/multi_length.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_num_geometries.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_num_interior_rings.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_num_points.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_perimeter.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_reverse.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_simplify.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_transform.cpp | 4
   branches/release/libs/geometry/test/multi/algorithms/multi_union.cpp | 2
   branches/release/libs/geometry/test/multi/algorithms/multi_unique.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/multi_within.cpp | 3
   branches/release/libs/geometry/test/multi/algorithms/overlay/multi_overlay_cases.hpp | 19 +++
   branches/release/libs/geometry/test/multi/algorithms/overlay/multi_overlay_common.hpp | 2
   branches/release/libs/geometry/test/multi/algorithms/overlay/multi_traverse.cpp | 2
   branches/release/libs/geometry/test/policies/compare.cpp | 2
   branches/release/libs/geometry/test/strategies/projected_point.cpp | 2
   branches/release/libs/geometry/test/strategies/within.cpp | 2
   branches/release/libs/geometry/test/util/as_range.cpp | 2
   branches/release/libs/geometry/test/util/rational.cpp | 2
   branches/release/libs/geometry/test/util/write_dsv.cpp | 4
   branches/release/libs/geometry/test/views/box_view.cpp | 2
   branches/release/libs/geometry/test/views/closeable_view.cpp | 4
   branches/release/libs/geometry/test/views/reversible_closeable.cpp | 4
   branches/release/libs/geometry/test/views/reversible_view.cpp | 4
   branches/release/libs/geometry/test/views/segment_view.cpp | 2
   143 files changed, 1005 insertions(+), 401 deletions(-)

Modified: branches/release/libs/geometry/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp
==============================================================================
--- branches/release/libs/geometry/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp (original)
+++ branches/release/libs/geometry/doc/doxy/doxygen_input/sourcecode/doxygen_1.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -21,8 +21,7 @@
 #include <boost/geometry/geometries/register/point.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
-
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 // All functions below are referred to in the documentation of Boost.Geometry
 // Don't rename them.
@@ -428,8 +427,6 @@
     */
 }
 
-
-
 int main(void)
 {
     example_area_polygon();

Modified: branches/release/libs/geometry/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp
==============================================================================
--- branches/release/libs/geometry/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp (original)
+++ branches/release/libs/geometry/doc/doxy/doxygen_input/sourcecode/doxygen_4.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 
 #include <boost/geometry/multi/multi.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 #include <boost/geometry/extensions/io/svg/write_svg_multi.hpp>
 
 #include <boost/geometry/extensions/io/svg/svg_mapper.hpp>

Modified: branches/release/libs/geometry/doc/doxy/doxygen_output/html/doxygen.css
==============================================================================
--- branches/release/libs/geometry/doc/doxy/doxygen_output/html/doxygen.css (original)
+++ branches/release/libs/geometry/doc/doxy/doxygen_output/html/doxygen.css 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -8,7 +8,6 @@
 /* @group Heading Levels */
 
 h1 {
- text-align: center;
         font-size: 150%;
 }
 
@@ -64,8 +63,8 @@
 }
 
 div.qindex, div.navtab{
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
         text-align: center;
         margin: 2px;
         padding: 2px;
@@ -83,13 +82,13 @@
 /* @group Link Styling */
 
 a {
- color: #153788;
+ color: #3D578C;
         font-weight: normal;
         text-decoration: none;
 }
 
 .contents a:visited {
- color: #1b77c5;
+ color: #4665A2;
 }
 
 a:hover {
@@ -102,9 +101,9 @@
 
 a.qindexHL {
         font-weight: bold;
- background-color: #6666cc;
+ background-color: #9CAFD4;
         color: #ffffff;
- border: 1px double #9295C2;
+ border: 1px double #869DCA;
 }
 
 .contents a.qindexHL:visited {
@@ -119,11 +118,11 @@
 }
 
 a.code {
- color: #3030f0;
+ color: #4665A2;
 }
 
 a.codeRef {
- color: #3030f0;
+ color: #4665A2;
 }
 
 /* @end */
@@ -138,8 +137,8 @@
 }
 
 pre.fragment {
- border: 1px solid #CCCCCC;
- background-color: #f5f5f5;
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
         padding: 4px 6px;
         margin: 4px 8px 4px 2px;
         overflow: auto;
@@ -153,7 +152,16 @@
         font-weight: bold;
         color: #ffffff;
         margin-bottom: 3px;
- margin-top: 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);
 }
 
 div.groupHeader {
@@ -171,27 +179,32 @@
 body {
         background: white;
         color: black;
- margin-right: 20px;
- margin-left: 20px;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 10px;
+ margin-right: 10px;
 }
 
 td.indexkey {
- background-color: #e8eef2;
+ background-color: #EBEFF6;
         font-weight: bold;
- border: 1px solid #CCCCCC;
+ border: 1px solid #C4CFE5;
         margin: 2px 0px 2px 0;
         padding: 2px 10px;
 }
 
 td.indexvalue {
- background-color: #e8eef2;
- border: 1px solid #CCCCCC;
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
         padding: 2px 10px;
         margin: 2px 0px;
 }
 
 tr.memlist {
- background-color: #f0f0f0;
+ background-color: #EEF1F7;
 }
 
 p.formulaDsp {
@@ -217,6 +230,11 @@
         border: 0px;
 }
 
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
 img.footer {
         border: 0px;
         vertical-align: middle;
@@ -270,6 +288,7 @@
 
 /* @end */
 
+/*
 .search {
         color: #003399;
         font-weight: bold;
@@ -286,6 +305,7 @@
         font-weight: normal;
         background-color: #e8eef2;
 }
+*/
 
 td.tiny {
         font-size: 75%;
@@ -294,18 +314,18 @@
 .dirtab {
         padding: 4px;
         border-collapse: collapse;
- border: 1px solid #84b0c7;
+ border: 1px solid #A3B4D7;
 }
 
 th.dirtab {
- background: #e8eef2;
+ background: #EBEFF6;
         font-weight: bold;
 }
 
 hr {
         height: 0px;
         border: none;
- border-top: 1px solid #666;
+ border-top: 1px solid #4A6AAA;
 }
 
 hr.footer {
@@ -314,10 +334,15 @@
 
 /* @group Member Descriptions */
 
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
 .mdescLeft, .mdescRight,
 .memItemLeft, .memItemRight,
 .memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #FAFAFA;
+ background-color: #F9FAFC;
         border: none;
         margin: 4px;
         padding: 1px 0 0 8px;
@@ -329,7 +354,7 @@
 }
 
 .memItemLeft, .memItemRight, .memTemplParams {
- border-top: 1px solid #ccc;
+ border-top: 1px solid #C4CFE5;
 }
 
 .memItemLeft, .memTemplItemLeft {
@@ -337,7 +362,7 @@
 }
 
 .memTemplParams {
- color: #606060;
+ color: #4665A2;
         white-space: nowrap;
 }
 
@@ -349,14 +374,14 @@
 
 .memtemplate {
         font-size: 80%;
- color: #606060;
+ color: #4665A2;
         font-weight: normal;
         margin-left: 3px;
 }
 
 .memnav {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
         text-align: center;
         margin: 2px;
         margin-right: 15px;
@@ -375,40 +400,44 @@
 }
 
 .memproto {
- border-top: 1px solid #84b0c7;
- border-left: 1px solid #84b0c7;
- border-right: 1px solid #84b0c7;
- padding: 0;
- background-color: #d5e1e8;
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
         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 #84b0c7;
- border-left: 1px solid #84b0c7;
- border-right: 1px solid #84b0c7;
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
         padding: 2px 5px;
- background-color: #eef3f5;
+ background-color: #FBFCFD;
         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 {
@@ -435,7 +464,7 @@
 
 .ftvtree {
         font-family: sans-serif;
- margin: 0.5em;
+ margin: 0px;
 }
 
 /* these are for tree view when used as main index */
@@ -443,6 +472,7 @@
 .directory {
         font-size: 9pt;
         font-weight: bold;
+ margin: 5px;
 }
 
 .directory h3 {
@@ -520,9 +550,13 @@
 
 /* @end */
 
+div.dynheader {
+ margin-top: 8px;
+}
+
 address {
         font-style: normal;
- color: #333;
+ color: #2A3D61;
 }
 
 table.doxtable {
@@ -530,12 +564,12 @@
 }
 
 table.doxtable td, table.doxtable th {
- border: 1px solid #153788;
+ border: 1px solid #2D4068;
         padding: 3px 7px 2px;
 }
 
 table.doxtable th {
- background-color: #254798;
+ background-color: #374F7F;
         color: #FFFFFF;
         font-size: 110%;
         padding-bottom: 4px;
@@ -543,3 +577,80 @@
         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: branches/release/libs/geometry/doc/doxy/doxygen_output/html/doxygen.png
==============================================================================
Binary files. No diff available.

Modified: branches/release/libs/geometry/doc/doxy/doxygen_output/html/tabs.css
==============================================================================
--- branches/release/libs/geometry/doc/doxy/doxygen_output/html/tabs.css (original)
+++ branches/release/libs/geometry/doc/doxy/doxygen_output/html/tabs.css 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -1,105 +1,59 @@
-/* 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;
+.tabs, .tabs2, .tabs3 {
+ background-image: url('tab_b.png');
+ width: 100%;
+ z-index: 101;
+ font-size: 13px;
 }
 
-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;
+.tabs2 {
+ font-size: 10px;
 }
-
-DIV.tabs A:hover
-{
- background-position: 100% -150px;
+.tabs3 {
+ font-size: 9px;
 }
 
-DIV.tabs A:link, DIV.tabs A:visited,
-DIV.tabs A:active, DIV.tabs A:hover
-{
- color: #1A419D;
+.tablist {
+ margin: 0;
+ padding: 0;
+ display: table;
 }
 
-DIV.tabs SPAN
-{
- float : left;
- display : block;
- background : url("tab_l.gif") no-repeat left top;
- padding : 5px 9px;
- white-space : nowrap;
+.tablist li {
+ float: left;
+ display: table-cell;
+ background-image: url('tab_b.png');
+ line-height: 36px;
+ list-style: 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;
+.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 LI.current A
-{
- background-position: 100% -150px;
- border-width : 0px;
+.tabs3 .tablist a {
+ padding: 0 10px;
 }
 
-DIV.tabs LI.current SPAN
-{
- background-position: 0% -150px;
- padding-bottom : 6px;
+.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.navpath
-{
- background : none;
- border : none;
- border-bottom : 1px solid #84B0C7;
- text-align : center;
- margin : 2px;
- padding : 2px;
+.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);
 }

Modified: branches/release/libs/geometry/doc/generated/distance_status.qbk
==============================================================================
--- branches/release/libs/geometry/doc/generated/distance_status.qbk (original)
+++ branches/release/libs/geometry/doc/generated/distance_status.qbk 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -1,13 +1,13 @@
 [heading Supported geometries]
 [table
 [[ ][Point][Segment][Box][Linestring][Ring][Polygon][MultiPoint][MultiLinestring][MultiPolygon]]
-[[Point][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/ok.png ] ]]
-[[Segment][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ]]
+[[Point][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ]]
+[[Segment][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ]]
 [[Box][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ]]
-[[Linestring][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ]]
-[[Ring][ [$img/ok.png ] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ]]
-[[Polygon][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ]]
-[[MultiPoint][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/ok.png ] ]]
-[[MultiLinestring][ [$img/ok.png ] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ]]
-[[MultiPolygon][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png ] ][ [$img/ok.png ] ][ [$img/nyi.png] ]]
+[[Linestring][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ]]
+[[Ring][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ]]
+[[Polygon][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ]]
+[[MultiPoint][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ]]
+[[MultiLinestring][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ]]
+[[MultiPolygon][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/nyi.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ][ [$img/ok.png] ]]
 ]

Modified: branches/release/libs/geometry/doc/html/index.html
==============================================================================
--- branches/release/libs/geometry/doc/html/index.html (original)
+++ branches/release/libs/geometry/doc/html/index.html 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -1,16 +1,113 @@
-
-<!--
-Copyright 2010 Barend Gehrels.
-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)
--->
-
 <html>
 <head>
- <meta http-equiv="refresh" content="0; URL=http://boost-sandbox.sourceforge.net/libs/geometry/doc/html/">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;1.&#160;Geometry 1.0</title>
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Geometry 1.0">
+<link rel="next" href="geometry/introduction.html" title="Introduction">
 </head>
-<body>
-Automatic redirection failed, please go to
-http://boost-sandbox.sourceforge.net/libs/geometry/doc/html/
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="geometry/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="chapter">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="geometry"></a>Chapter&#160;1.&#160;Geometry 1.0</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Barend</span> <span class="surname">Gehrels</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Bruno</span> <span class="surname">Lalande</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Mateusz</span> <span class="surname">Loskot</span>
+</h3></div></div>
+<div><p class="copyright">Copyright &#169; 2011 Barend Gehrels, Bruno Lalande, Mateusz Loskot</p></div>
+<div><div class="legalnotice">
+<a name="id784746"></a><p>
+ 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)
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Introduction</span></dt>
+<dt><span class="section">Quick Start</span></dt>
+<dt><span class="section">Design Rationale</span></dt>
+<dt><span class="section">Compilation</span></dt>
+<dt><span class="section">Indexes</span></dt>
+<dd><dl>
+<dt><span class="section">Reference matrix</span></dt>
+<dt><span class="section">Alphabetical Index</span></dt>
+</dl></dd>
+<dt><span class="section">Reference</span></dt>
+<dd><dl>
+<dt><span class="section">Access Functions</span></dt>
+<dt><span class="section">Adapted models</span></dt>
+<dt><span class="section">Algorithms</span></dt>
+<dt><span class="section">Arithmetic</span></dt>
+<dt><span class="section">Concepts</span></dt>
+<dt><span class="section">Constants</span></dt>
+<dt><span class="section">Coordinate Systems</span></dt>
+<dt><span class="section">Core Metafunctions</span></dt>
+<dt><span class="section">Enumerations</span></dt>
+<dt><span class="section">Exceptions</span></dt>
+<dt><span class="section">Iterators</span></dt>
+<dt><span class="section">Models</span></dt>
+<dt><span class="section">Strategies</span></dt>
+<dt><span class="section">Views</span></dt>
+</dl></dd>
+<dt><span class="section">About this documentation</span></dt>
+<dt><span class="section">Acknowledgments</span></dt>
+</dl>
+</div>
+<a name="geometry.contributions"></a><h3>
+<a name="geometry.contributions-heading"></a>
+ <a class="link" href="index.html#geometry.contributions">Contributions</a>
+ </h3>
+<p>
+ Boost.Geometry contains contributions by:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Akira Takahashi (adaption of Boost.Fusion)
+ </li>
+<li class="listitem">
+ Alfredo Correa (adaption of Boost.Array)
+ </li>
+<li class="listitem">
+ Adam Wulkiewicz (spatial indexes) <sup>[<a name="id815752" href="#ftn.id815752" class="footnote">1</a>]</sup>
+ </li>
+<li class="listitem">
+ Federico Fern&#225;ndez (spatial indexes) <sup>[<a name="id815766" href="#ftn.id815766" class="footnote">2</a>]</sup>
+ </li>
+</ul></div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id815752" href="#id815752" class="para">1</a>] </sup>
+ Currently an extension
+ </p></div>
+<div class="footnote"><p><sup>[<a name="ftn.id815766" href="#id815766" class="para">2</a>] </sup>
+ Currently an extension
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: June 05, 2011 at 16:25:35 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="geometry/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
 </body>
 </html>

Modified: branches/release/libs/geometry/doc/src/docutils/tools/implementation_status/implementation_status.hpp
==============================================================================
--- branches/release/libs/geometry/doc/src/docutils/tools/implementation_status/implementation_status.hpp (original)
+++ branches/release/libs/geometry/doc/src/docutils/tools/implementation_status/implementation_status.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -10,5 +10,5 @@
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/multi/multi.hpp>
 #include <boost/geometry/multi/geometries/multi_point.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 

Copied: branches/release/libs/geometry/doc/src/docutils/tools/support_status/support_status.cpp (from r75810, /trunk/libs/geometry/doc/src/docutils/tools/support_status/support_status.cpp)
==============================================================================
--- /trunk/libs/geometry/doc/src/docutils/tools/support_status/support_status.cpp (original)
+++ branches/release/libs/geometry/doc/src/docutils/tools/support_status/support_status.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -1,4 +1,16 @@
+// Boost.Geometry (aka GGL, Generic Geometry Library)
+// Tool reporting Implementation Support Status in QBK or plain text format
+
+// Copyright (c) 2011 Bruno Lalande, Paris, France.
+// Copyright (c) 2011 Barend Gehrels, 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)
+
 #include <iostream>
+#include <fstream>
+#include <sstream>
 
 #include <boost/type_traits/is_base_of.hpp>
 #include <boost/mpl/for_each.hpp>
@@ -7,83 +19,121 @@
 #define BOOST_GEOMETRY_IMPLEMENTATION_STATUS_BUILD true
 #include <boost/geometry/core/cs.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
+#include <boost/geometry/multi/geometries/multi_geometries.hpp>
+#include <boost/geometry/multi/multi.hpp>
+#include <boost/geometry/algorithms/append.hpp>
+#include <boost/geometry/algorithms/convert.hpp>
 #include <boost/geometry/algorithms/distance.hpp>
 #include <boost/geometry/strategies/cartesian/distance_pythagoras.hpp>
 
-
-template <typename Tag1, typename Tag2, typename G1, typename G2>
-struct check
- : boost::geometry::dispatch::distance<
- Tag1,
- Tag2,
- G1,
- G2,
- boost::geometry::strategy_tag_distance_point_point,
- typename boost::geometry::strategy::distance::services::default_strategy<
- boost::geometry::point_tag,
- G1,
- G2
- >::type
- >
-{};
-
+#include "text_outputter.hpp"
+#include "qbk_outputter.hpp"
 
 typedef boost::geometry::cs::cartesian cartesian;
 
 typedef boost::geometry::model::point<double, 2, cartesian> point_type;
-typedef boost::geometry::model::linestring<point_type> line_type;
+typedef boost::geometry::model::linestring<point_type> linestring_type;
 typedef boost::geometry::model::polygon<point_type> polygon_type;
 typedef boost::geometry::model::box<point_type> box_type;
 typedef boost::geometry::model::ring<point_type> ring_type;
 typedef boost::geometry::model::segment<point_type> segment_type;
 
+typedef boost::geometry::model::multi_point<point_type> multi_point_type;
+typedef boost::geometry::model::multi_linestring<linestring_type> multi_linestring_type;
+typedef boost::geometry::model::multi_polygon<polygon_type> multi_polygon_type;
+
 typedef boost::mpl::vector<
     point_type,
- line_type,
- polygon_type,
+ segment_type,
     box_type,
+ linestring_type,
     ring_type,
- segment_type
-> types;
-
+ polygon_type,
+ multi_point_type,
+ multi_linestring_type,
+ multi_polygon_type
+> all_types;
+
+#define DECLARE_BINARY_ALGORITHM(algorithm) \
+ template <typename G1, typename G2> \
+ struct algorithm: boost::geometry::dispatch::algorithm<G1, G2> \
+ {};
+
+DECLARE_BINARY_ALGORITHM(append)
+DECLARE_BINARY_ALGORITHM(distance)
+DECLARE_BINARY_ALGORITHM(convert)
 
 
-template <class T1>
-struct tester
+template <template <typename, typename> class Dispatcher, typename Outputter, typename G2 = void>
+struct do_test
 {
- template <typename T2>
- void operator()(T2)
- {
- typedef typename boost::geometry::tag<T1>::type tag1;
- typedef typename boost::geometry::tag<T2>::type tag2;
+ Outputter& m_outputter;
+ inline do_test(Outputter& outputter)
+ : m_outputter(outputter)
+ {}
 
- if (boost::is_base_of<boost::geometry::not_implemented<T1, T2>, check<tag1, tag2, T1, T2> >::type::value
- && boost::is_base_of<boost::geometry::not_implemented<T2, T1>, check<tag2, tag1, T2, T1> >::type::value)
+ template <typename G1>
+ void operator()(G1)
+ {
+ if (boost::is_base_of<boost::geometry::nyi::not_implemented_tag, Dispatcher<G1, G2> >::type::value)
         {
- std::cout << "-\t";
+ m_outputter.nyi();
         }
         else
         {
- std::cout << "OK\t";
+ m_outputter.ok();
         }
     }
 };
 
-template <>
-struct tester<void>
+template <template <typename, typename> class Dispatcher, typename Types, typename Outputter>
+struct test
 {
- template <typename T>
- void operator()(T)
+ Outputter& m_outputter;
+ inline test(Outputter& outputter)
+ : m_outputter(outputter)
+ {}
+
+ template <typename G2>
+ void operator()(G2)
     {
- boost::mpl::for_each<types>(tester<T>());
- std::cout << std::endl;
+ m_outputter.template begin_row<G2>();
+ boost::mpl::for_each<Types>(do_test<Dispatcher, Outputter, G2>(m_outputter));
+ m_outputter.end_row();
     }
 };
 
+template <template <typename, typename> class Dispatcher, typename Types1, typename Types2, typename Outputter>
+void test_binary_algorithm(std::string const& name)
+{
+ Outputter outputter(name);
+ outputter.header(name);
+
+ outputter.template table_header<Types2>();
+ boost::mpl::for_each<Types1>(test<Dispatcher, Types2, Outputter>(outputter));
+
+ outputter.table_footer();
+}
+
 
-int main()
+template <typename OutputFactory>
+void support_status()
 {
- boost::mpl::for_each<types>(tester<void>());
+ test_binary_algorithm<append, all_types, boost::mpl::vector<point_type, std::vector<point_type> >, OutputFactory>("append");
+ test_binary_algorithm<distance, all_types, all_types, OutputFactory>("distance");
+ test_binary_algorithm<convert, all_types, all_types, OutputFactory>("convert");
+}
 
+
+int main(int argc, char** argv)
+{
+ if (argc > 1 && ! strcmp(argv[1], "qbk"))
+ {
+ support_status<qbk_outputter>();
+ }
+ else
+ {
+ support_status<text_outputter>();
+ }
     return 0;
 }

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/area.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/area.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/area.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 namespace bg = boost::geometry; /*< Convenient namespace alias >*/
 

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/area_with_strategy.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/area_with_strategy.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/area_with_strategy.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 namespace bg = boost::geometry; /*< Convenient namespace alias >*/
 

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/centroid.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/centroid.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/centroid.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 /*<-*/ #include "create_svg_two.hpp" /*->*/
 
 int main()

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/create_svg_overlay.hpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/create_svg_overlay.hpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/create_svg_overlay.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -36,7 +36,7 @@
     mapper.map(a, "fill-opacity:0.5;fill:rgb(153,204,0);stroke:rgb(153,204,0);stroke-width:2");
     mapper.map(b, "fill-opacity:0.3;fill:rgb(51,51,153);stroke:rgb(51,51,153);stroke-width:2");
     int i = 0;
- BOOST_FOREACH(Geometry const& g, range)
+ BOOST_FOREACH(typename boost::range_value<Range>::type const& g, range)
     {
         mapper.map(g, "opacity:0.8;fill:none;stroke:rgb(255,128,0);stroke-width:4;stroke-dasharray:1,7;stroke-linecap:round");
         std::ostringstream out;

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/difference.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/difference.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/difference.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <boost/foreach.hpp>
 /*<-*/ #include "create_svg_overlay.hpp" /*->*/

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/difference_inserter.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/difference_inserter.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/difference_inserter.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <boost/foreach.hpp>
 /*<-*/ #include "create_svg_overlay.hpp" /*->*/

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/distance.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/distance.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/distance.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -20,7 +20,7 @@
 #include <boost/geometry/multi/geometries/multi_point.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <boost/foreach.hpp>
 

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/envelope.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/envelope.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/envelope.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry/geometries/box.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 /*<-*/ #include "create_svg_two.hpp" /*->*/
 

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/for_each_point.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/for_each_point.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/for_each_point.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/for_each_point_const.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/for_each_point_const.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/for_each_point_const.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 template <typename Point>

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/intersection_ls_ls_point.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/intersection_ls_ls_point.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/intersection_ls_ls_point.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,7 +14,7 @@
 #include <deque>
 
 #include <boost/geometry.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/register/linestring.hpp>
 

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/intersection_poly_poly.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/intersection_poly_poly.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/intersection_poly_poly.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <boost/foreach.hpp>
 /*<-*/ #include "create_svg_overlay.hpp" /*->*/

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/intersection_segment.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/intersection_segment.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/intersection_segment.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,7 +14,7 @@
 
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <boost/foreach.hpp>
 

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/intersects_linestring.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/intersects_linestring.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/intersects_linestring.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/linestring.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 int main()
 {

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/intersects_segment.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/intersects_segment.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/intersects_segment.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/linestring.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 int main()
 {

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/length.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/length.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/length.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,7 +14,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/linestring.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 int main()

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/num_geometries.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/num_geometries.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/num_geometries.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,8 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 
 int main()

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/num_interior_rings.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/num_interior_rings.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/num_interior_rings.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,8 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 
 int main()

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/num_points.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/num_points.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/num_points.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,8 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 
 int main()

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/simplify_insert_with_strategy.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,10 +15,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/linestring.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/stream_wkt.hpp>
-
-
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 int main()
 {

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/sym_difference.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/sym_difference.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/sym_difference.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry/geometries/polygon.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <boost/foreach.hpp>
 /*<-*/ #include "create_svg_overlay.hpp" /*->*/

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/union.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/union.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/union.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <boost/foreach.hpp>
 /*<-*/ #include "create_svg_overlay.hpp" /*->*/

Modified: branches/release/libs/geometry/doc/src/examples/algorithms/within.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/algorithms/within.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/algorithms/within.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 /*<-*/ #include "create_svg_two.hpp" /*->*/
 
 int main()

Modified: branches/release/libs/geometry/doc/src/examples/geometries/register/multi_point.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/geometries/register/multi_point.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/geometries/register/multi_point.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,6 +14,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>
 #include <boost/geometry/multi/geometries/register/multi_point.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 typedef boost::tuple<float, float> point_type;
 

Modified: branches/release/libs/geometry/doc/src/examples/geometries/register/multi_point_templated.cpp
==============================================================================
--- branches/release/libs/geometry/doc/src/examples/geometries/register/multi_point_templated.cpp (original)
+++ branches/release/libs/geometry/doc/src/examples/geometries/register/multi_point_templated.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,6 +14,7 @@
 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>
 #include <boost/geometry/multi/geometries/register/multi_point.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 
 BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED(std::deque)

Modified: branches/release/libs/geometry/example/06_b_transformation_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/06_b_transformation_example.cpp (original)
+++ branches/release/libs/geometry/example/06_b_transformation_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -21,7 +21,7 @@
 #include <boost/geometry/algorithms/centroid.hpp>
 #include <boost/geometry/strategies/transform.hpp>
 #include <boost/geometry/strategies/transform/matrix_transformers.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 #if defined(HAVE_SVG)
 # include <boost/geometry/extensions/io/svg/write_svg.hpp>

Modified: branches/release/libs/geometry/example/07_a_graph_route_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/07_a_graph_route_example.cpp (original)
+++ branches/release/libs/geometry/example/07_a_graph_route_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -25,7 +25,7 @@
 
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/geometries/linestring.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 // Yes, this example currently uses some extensions:

Modified: branches/release/libs/geometry/example/07_b_graph_route_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/07_b_graph_route_example.cpp (original)
+++ branches/release/libs/geometry/example/07_b_graph_route_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -29,7 +29,7 @@
 
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/geometries/linestring.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 // Yes, this example currently uses some extensions:

Modified: branches/release/libs/geometry/example/c01_custom_point_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/c01_custom_point_example.cpp (original)
+++ branches/release/libs/geometry/example/c01_custom_point_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry/algorithms/make.hpp>
 #include <boost/geometry/geometries/register/point.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 // Sample point, defining three color values
 struct my_color_point

Modified: branches/release/libs/geometry/example/c02_custom_box_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/c02_custom_box_example.cpp (original)
+++ branches/release/libs/geometry/example/c02_custom_box_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 #include <boost/geometry/geometries/register/point.hpp>
 #include <boost/geometry/geometries/register/box.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 struct my_point
 {

Modified: branches/release/libs/geometry/example/c04_a_custom_triangle_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/c04_a_custom_triangle_example.cpp (original)
+++ branches/release/libs/geometry/example/c04_a_custom_triangle_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -19,7 +19,7 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/register/ring.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 
 struct triangle : public boost::array<boost::geometry::model::d2::point_xy<double>, 4>

Modified: branches/release/libs/geometry/example/c04_b_custom_triangle_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/c04_b_custom_triangle_example.cpp (original)
+++ branches/release/libs/geometry/example/c04_b_custom_triangle_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -20,7 +20,7 @@
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>
 #include <boost/geometry/geometries/register/ring.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian)
 

Modified: branches/release/libs/geometry/example/c09_custom_fusion_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/c09_custom_fusion_example.cpp (original)
+++ branches/release/libs/geometry/example/c09_custom_fusion_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -18,7 +18,7 @@
 #include <boost/geometry/geometries/adapted/boost_fusion.hpp>
 
 #include <boost/geometry/strategies/strategies.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 BOOST_GEOMETRY_REGISTER_BOOST_FUSION_CS(cs::cartesian);
 

Modified: branches/release/libs/geometry/example/with_external_libs/x03_a_soci_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/with_external_libs/x03_a_soci_example.cpp (original)
+++ branches/release/libs/geometry/example/with_external_libs/x03_a_soci_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -36,7 +36,7 @@
 
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian);
 

Modified: branches/release/libs/geometry/example/with_external_libs/x03_b_soci_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/with_external_libs/x03_b_soci_example.cpp (original)
+++ branches/release/libs/geometry/example/with_external_libs/x03_b_soci_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -30,7 +30,7 @@
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 struct city

Modified: branches/release/libs/geometry/example/with_external_libs/x04_wxwidgets_world_mapper.cpp
==============================================================================
--- branches/release/libs/geometry/example/with_external_libs/x04_wxwidgets_world_mapper.cpp (original)
+++ branches/release/libs/geometry/example/with_external_libs/x04_wxwidgets_world_mapper.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -23,8 +23,8 @@
 #include <boost/geometry/geometries/register/ring.hpp>
 #include <boost/geometry/multi/multi.hpp>
 #include <boost/geometry/extensions/algorithms/selected.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 
 // wxWidgets, if these headers are NOT found, adapt include path (and lib path)

Modified: branches/release/libs/geometry/example/with_external_libs/x05_shapelib_example.cpp
==============================================================================
--- branches/release/libs/geometry/example/with_external_libs/x05_shapelib_example.cpp (original)
+++ branches/release/libs/geometry/example/with_external_libs/x05_shapelib_example.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -21,7 +21,7 @@
 
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/stream_wkt.hpp>
+#include <boost/geometry/io/wkt/iomanip.hpp>
 
 using namespace boost::geometry;
 

Modified: branches/release/libs/geometry/example/with_external_libs/x06_qt_world_mapper.cpp
==============================================================================
--- branches/release/libs/geometry/example/with_external_libs/x06_qt_world_mapper.cpp (original)
+++ branches/release/libs/geometry/example/with_external_libs/x06_qt_world_mapper.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -29,7 +29,7 @@
 
 #include <boost/geometry/multi/multi.hpp>
 #include <boost/geometry/extensions/algorithms/selected.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/Jamfile.v2
==============================================================================
--- branches/release/libs/geometry/test/Jamfile.v2 (original)
+++ branches/release/libs/geometry/test/Jamfile.v2 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,6 @@
         <include>../../../boost/geometry/extensions/contrib/ttmath
         <toolset>msvc:<asynch-exceptions>on
     ;
-
 
 build-project core ;
 build-project point_concept ;
@@ -27,7 +26,8 @@
 build-project iterators ;
 build-project strategies ;
 build-project policies ;
+build-project io ;
 build-project util ;
 build-project views ;
 build-project multi ;
-build-project domains ;
+#build-project domains ;
\ No newline at end of file

Modified: branches/release/libs/geometry/test/algorithms/convert.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/convert.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/convert.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -23,6 +23,21 @@
     // Point
     test_mixed_identical_result<Point1, Point2>("POINT(1 2)");
 
+ // Box
+ test_mixed_identical_result
+ <
+ bg::model::box<Point1>,
+ bg::model::box<Point2>
+ >
+ ("POLYGON((1 2,1 4,3 4,3 2,1 2))");
+
+ test_mixed_identical_result
+ <
+ bg::model::segment<Point1>,
+ bg::model::segment<Point2>
+ >
+ ("LINESTRING(1 1,2 2)");
+
     // Linestring
     test_mixed_identical_result
         <
@@ -38,6 +53,7 @@
             bg::model::ring<Point2>
>
         ("POLYGON((1 1,2 2,3 0,1 1))");
+
     test_mixed_reversible_result
         <
             bg::model::ring<Point1, true>,
@@ -47,6 +63,7 @@
             "POLYGON((1 1,2 2,3 0,1 1))",
             "POLYGON((1 1,3 0,2 2,1 1))"
         );
+
     test_mixed
         <
             bg::model::ring<Point1, true, true>,
@@ -56,6 +73,7 @@
             "POLYGON((1 1,2 2,3 0,1 1))",
             "POLYGON((1 1,2 2,3 0))"
         );
+
     test_mixed
         <
             bg::model::ring<Point1, true, false>,
@@ -76,6 +94,7 @@
             "POLYGON((0 0,0 5,5 5,5 0,0 0),(1 1,3 2,2 4,1 1))",
             "POLYGON((0 0,5 0,5 5,0 5,0 0),(1 1,2 4,3 2,1 1))"
         );
+
     test_mixed
         <
             bg::model::polygon<Point1>,
@@ -95,6 +114,7 @@
             bg::model::ring<Point2>
>
         ("POLYGON((1 1,2 2,3 0,1 1))");
+
     test_mixed_reversible_result
         <
             bg::model::polygon<Point1, true>,
@@ -104,6 +124,7 @@
             "POLYGON((1 1,2 2,3 0,1 1))",
             "POLYGON((1 1,3 0,2 2,1 1))"
         );
+
     // Any hole will be omitted going from polygon to ring
     test_mixed
         <
@@ -147,6 +168,7 @@
             "BOX(0 0,2 2)",
             "POLYGON((0 0,0 2,2 2,2 0,0 0))"
         );
+
     test_mixed
         <
             bg::model::box<Point1>,
@@ -156,6 +178,7 @@
             "BOX(0 0,2 2)",
             "POLYGON((0 0,2 0,2 2,0 2,0 0))"
         );
+
     test_mixed
         <
             bg::model::box<Point1>,
@@ -165,6 +188,7 @@
             "BOX(0 0,2 2)",
             "POLYGON((0 0,0 2,2 2,2 0))"
         );
+
     test_mixed
         <
             bg::model::box<Point1>,
@@ -185,6 +209,7 @@
             "BOX(0 0,2 2)",
             "POLYGON((0 0,0 2,2 2,2 0,0 0))"
         );
+
     test_mixed
         <
             bg::model::box<Point1>,
@@ -194,6 +219,7 @@
             "BOX(0 0,2 2)",
             "POLYGON((0 0,2 0,2 2,0 2,0 0))"
         );
+
     test_mixed
         <
             bg::model::box<Point1>,
@@ -203,6 +229,7 @@
             "BOX(0 0,2 2)",
             "POLYGON((0 0,0 2,2 2,2 0))"
         );
+
     test_mixed
         <
             bg::model::box<Point1>,
@@ -215,12 +242,55 @@
 }
 
 template <typename Point1, typename Point2>
+void test_mixed_point_types_3d()
+{
+ // Point
+ test_mixed_identical_result<Point1, Point2>("POINT(1 2 3)");
+
+ test_mixed_identical_result
+ <
+ bg::model::segment<Point1>,
+ bg::model::segment<Point2>
+ >
+ ("LINESTRING(1 2 3,4 5 6)");
+
+ // Linestring
+ test_mixed_identical_result
+ <
+ bg::model::linestring<Point1>,
+ bg::model::linestring<Point2>
+ >
+ ("LINESTRING(1 2 3,4 5 6,7 8 9)");
+
+ // segment -> line
+ test_mixed
+ <
+ bg::model::segment<Point1>,
+ bg::model::linestring<Point2>
+ >
+ (
+ "LINESTRING(1 2 3,4 5 6)",
+ "LINESTRING(1 2 3,4 5 6)"
+ );
+}
+
+
+
+template <typename Point1, typename Point2>
 void test_mixed_types()
 {
     test_mixed_point_types<Point1, Point2>();
     test_mixed_point_types<Point2, Point1>();
 }
 
+
+template <typename Point1, typename Point2>
+void test_mixed_types_3d()
+{
+ test_mixed_point_types_3d<Point1, Point2>();
+ test_mixed_point_types_3d<Point2, Point1>();
+}
+
 void test_array()
 {
     int a[2] = {1, 2};
@@ -242,6 +312,11 @@
             boost::tuple<float, float>,
             bg::model::point<float, 2, bg::cs::cartesian>
>();
+ test_mixed_types_3d
+ <
+ boost::tuple<double, double, double>,
+ bg::model::point<double, 3, bg::cs::cartesian>
+ >();
 
     test_array();
     return 0;

Modified: branches/release/libs/geometry/test/algorithms/correct.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/correct.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/correct.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -19,10 +19,10 @@
 #include <boost/geometry/algorithms/correct.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/box.hpp>

Modified: branches/release/libs/geometry/test/algorithms/detail/partition.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/detail/partition.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/detail/partition.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,8 @@
 
 #include <boost/geometry/algorithms/detail/partition.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #if defined(TEST_WITH_SVG)
 # include <boost/geometry/extensions/io/svg/svg_mapper.hpp>

Modified: branches/release/libs/geometry/test/algorithms/detail/sections/range_by_section.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/detail/sections/range_by_section.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/detail/sections/range_by_section.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -18,7 +18,7 @@
 #include <boost/geometry/views/detail/range_type.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/algorithms/detail/sections/sectionalize.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/detail/sections/sectionalize.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/detail/sections/sectionalize.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -23,8 +23,8 @@
 #include <boost/geometry/algorithms/detail/sections/sectionalize.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 
 #include <test_common/test_point.hpp>

Modified: branches/release/libs/geometry/test/algorithms/difference.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/difference.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/difference.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -9,7 +9,12 @@
 
 //#define BOOST_GEOMETRY_CHECK_WITH_POSTGIS
 
+//#define BOOST_GEOMETRY_DEBUG_SEGMENT_IDENTIFIER
+//#define BOOST_GEOMETRY_DEBUG_INTERSECTION
+//#define BOOST_GEOMETRY_DEBUG_TRAVERSE
+//#define BOOST_GEOMETRY_DEBUG_FOLLOW
 //#define BOOST_GEOMETRY_DEBUG_ASSEMBLE
+//#define BOOST_GEOMETRY_DEBUG_IDENTIFIER
 
 
 #include <iostream>
@@ -22,6 +27,7 @@
 #include <boost/geometry/multi/algorithms/correct.hpp>
 #include <boost/geometry/multi/algorithms/intersection.hpp>
 #include <boost/geometry/multi/algorithms/within.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/point_xy.hpp>
 
@@ -39,15 +45,62 @@
 #endif
 
 
+
+template <typename Polygon, typename LineString>
+void test_areal_linear()
+{
+ std::string const poly_simplex = "POLYGON((1 1,1 3,3 3,3 1,1 1))";
+ test_one_lp<LineString, LineString, Polygon>("simplex", "LINESTRING(0 2,4 2)", poly_simplex, 2, 4, 2.0);
+ test_one_lp<LineString, LineString, Polygon>("case2", "LINESTRING(0 1,4 3)", poly_simplex, 2, 4, sqrt(5.0));
+ test_one_lp<LineString, LineString, Polygon>("case3", "LINESTRING(0 1,1 2,3 2,4 3,6 3,7 4)", "POLYGON((2 0,2 5,5 5,5 0,2 0))", 2, 6, 2.0 + 2.0 * sqrt(2.0));
+ test_one_lp<LineString, LineString, Polygon>("case4", "LINESTRING(1 1,3 2,1 3)", "POLYGON((0 0,0 4,2 4,2 0,0 0))", 1, 3, sqrt(5.0));
+
+ test_one_lp<LineString, LineString, Polygon>("case5", "LINESTRING(0 1,3 4)", poly_simplex, 2, 4, 2.0 * sqrt(2.0));
+ test_one_lp<LineString, LineString, Polygon>("case6", "LINESTRING(1 1,10 3)", "POLYGON((2 0,2 4,3 4,3 1,4 1,4 3,5 3,5 1,6 1,6 3,7 3,7 1,8 1,8 3,9 3,9 0,2 0))", 5, 10,
+ // Pieces are 1 x 2/9:
+ 5.0 * sqrt(1.0 + 4.0/81.0));
+
+
+ test_one_lp<LineString, LineString, Polygon>("case7", "LINESTRING(1.5 1.5,2.5 2.5)", poly_simplex, 0, 0, 0.0);
+ test_one_lp<LineString, LineString, Polygon>("case8", "LINESTRING(1 0,2 0)", poly_simplex, 1, 2, 1.0);
+
+ std::string const poly_9 = "POLYGON((1 1,1 4,4 4,4 1,1 1))";
+ test_one_lp<LineString, LineString, Polygon>("case9", "LINESTRING(0 1,1 2,2 2)", poly_9, 1, 2, sqrt(2.0));
+ test_one_lp<LineString, LineString, Polygon>("case10", "LINESTRING(0 1,1 2,0 2)", poly_9, 1, 3, 1.0 + sqrt(2.0));
+ test_one_lp<LineString, LineString, Polygon>("case11", "LINESTRING(2 2,4 2,3 3)", poly_9, 0, 0, 0.0);
+ test_one_lp<LineString, LineString, Polygon>("case12", "LINESTRING(2 3,4 4,5 6)", poly_9, 1, 2, sqrt(5.0));
+
+ test_one_lp<LineString, LineString, Polygon>("case13", "LINESTRING(3 2,4 4,2 3)", poly_9, 0, 0, 0.0);
+ test_one_lp<LineString, LineString, Polygon>("case14", "LINESTRING(5 6,4 4,6 5)", poly_9, 1, 3, 2.0 * sqrt(5.0));
+
+ //return;
+ // The rest compiles but is NOT yet correct
+
+ test_one_lp<LineString, LineString, Polygon>("case15", "LINESTRING(0 2,1 2,1 3,0 3)", poly_9, 2, 4, 2.0);
+ test_one_lp<LineString, LineString, Polygon>("case16", "LINESTRING(2 2,1 2,1 3,2 3)", poly_9, 0, 0, 0.0);
+
+ std::string const angly = "LINESTRING(2 2,2 1,4 1,4 2,5 2,5 3,4 3,4 4,5 4,3 6,3 5,2 5,2 6,0 4)";
+ test_one_lp<LineString, LineString, Polygon>("case17", angly, "POLYGON((1 1,1 5,4 5,4 1,1 1))", 3, 11, 6.0 + 4.0 * sqrt(2.0));
+ test_one_lp<LineString, LineString, Polygon>("case18", angly, "POLYGON((1 1,1 5,5 5,5 1,1 1))", 2, 6, 2.0 + 3.0 * sqrt(2.0));
+ test_one_lp<LineString, LineString, Polygon>("case19", "LINESTRING(1 2,1 3,0 3)", poly_9, 1, 2, 1.0);
+ test_one_lp<LineString, LineString, Polygon>("case20", "LINESTRING(1 2,1 3,2 3)", poly_9, 0, 0, 0.0);
+
+ test_one_lp<LineString, LineString, Polygon>("case21", "LINESTRING(1 2,1 4,4 4,4 1,2 1,2 2)", poly_9, 0, 0, 0.0);
+}
+
 template <typename P>
 void test_all()
 {
     typedef bg::model::box<P> box;
     typedef bg::model::polygon<P> polygon;
+ typedef bg::model::linestring<P> linestring;
     typedef bg::model::ring<P> ring;
 
     typedef typename bg::coordinate_type<P>::type ct;
 
+ test_areal_linear<polygon, linestring>();
+
+
     test_one<polygon, polygon, polygon>("simplex_normal",
         simplex_normal[0], simplex_normal[1],
         3, 3, 2.52636706856656,
@@ -285,18 +338,32 @@
 
 
 
- // Multi
+ // Multi/box (should be moved to multi)
     {
+ /* Tested with SQL Geometry:
+ with viewy as (select geometry::STGeomFromText(
+ 'MULTIPOLYGON(((0 1,2 5,5 3,0 1)),((1 1,5 2,5 0,1 1)))',0) as p,
+ geometry::STGeomFromText(
+ 'POLYGON((2 2,2 4,4 4,4 2,2 2))',0) as q)
+
+ select
+ p.STDifference(q).STArea(),p.STDifference(q).STNumGeometries(),p.STDifference(q) as p_min_q,
+ q.STDifference(p).STArea(),q.STDifference(p).STNumGeometries(),q.STDifference(p) as q_min_p,
+ p.STSymDifference(q).STArea(),q.STSymDifference(p) as p_xor_q
+ from viewy
+
+ */
         typedef bg::model::multi_polygon<polygon> mp;
 
         static std::string const clip = "POLYGON((2 2,4 4))";
 
         test_one<polygon, box, mp>("simplex_multi_box_mp",
             clip, case_multi_simplex[0],
- 3, 11, 4.53333, 3, 11, 8.53333);
+ 2, -1, 0.53333333333, 3, -1, 8.53333333333);
         test_one<polygon, mp, box>("simplex_multi_mp_box",
             case_multi_simplex[0], clip,
- 3, 11, 8.53333, 3, 11, 4.53333);
+ 3, -1, 8.53333333333, 2, -1, 0.53333333333);
+
     }
 
     /***

Modified: branches/release/libs/geometry/test/algorithms/disjoint.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/disjoint.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/disjoint.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -21,7 +21,7 @@
 #include <boost/geometry/algorithms/disjoint.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
 
 #include <test_common/test_point.hpp>

Modified: branches/release/libs/geometry/test/algorithms/distance.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/distance.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/distance.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -221,6 +221,8 @@
     // open
     test_geometry<P, bg::model::polygon<P, true, false> >("POINT(2 2)", "POLYGON ((0 0,1 9,8 1),(1 1,4 1,1 4))", 0.5 * sqrt(2.0));
 
+ // Should (currently) give compiler assertion
+ // test_geometry<bg::model::polygon<P>, bg::model::polygon<P> >(donut, donut, 0.5 * sqrt(2.0));
 
     // DOES NOT COMPILE - cannot do read_wkt (because boost::array is not variably sized)
     // test_geometry<P, boost::array<P, 2> >("POINT(3 1)", "LINESTRING(1 1,4 4)", sqrt(2.0));

Modified: branches/release/libs/geometry/test/algorithms/intersection.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/intersection.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/intersection.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,10 @@
 #include <iostream>
 #include <string>
 
+//#define BOOST_GEOMETRY_DEBUG_SEGMENT_IDENTIFIER
+//#define BOOST_GEOMETRY_DEBUG_INTERSECTION
 //#define BOOST_GEOMETRY_DEBUG_TRAVERSE
+//#define BOOST_GEOMETRY_DEBUG_FOLLOW
 //#define BOOST_GEOMETRY_DEBUG_ASSEMBLE
 //#define BOOST_GEOMETRY_DEBUG_IDENTIFIER
 
@@ -245,6 +248,7 @@
         1, 4, 0.75);
 }
 
+
 template <typename Box>
 void test_boxes(std::string const& wkt1, std::string const& wkt2, double expected_area, bool expected_result)
 {
@@ -281,6 +285,53 @@
     // test_point_output<box, box>("box(0 0,4 4)", "box(2 2,6 6)", 2);
 }
 
+
+template <typename Polygon, typename LineString>
+void test_areal_linear()
+{
+ std::string const poly_simplex = "POLYGON((1 1,1 3,3 3,3 1,1 1))";
+
+ test_one_lp<LineString, Polygon, LineString>("simplex", poly_simplex, "LINESTRING(0 2,4 2)", 1, 2, 2.0);
+ test_one_lp<LineString, Polygon, LineString>("case2", poly_simplex, "LINESTRING(0 1,4 3)", 1, 2, sqrt(5.0));
+ test_one_lp<LineString, Polygon, LineString>("case3", "POLYGON((2 0,2 5,5 5,5 0,2 0))", "LINESTRING(0 1,1 2,3 2,4 3,6 3,7 4)", 1, 4, 2 + sqrt(2.0));
+ test_one_lp<LineString, Polygon, LineString>("case4", "POLYGON((0 0,0 4,2 4,2 0,0 0))", "LINESTRING(1 1,3 2,1 3)", 2, 4, sqrt(5.0));
+
+ test_one_lp<LineString, Polygon, LineString>("case5", poly_simplex, "LINESTRING(0 1,3 4)", 1, 2, sqrt(2.0));
+ test_one_lp<LineString, Polygon, LineString>("case6", "POLYGON((2 0,2 4,3 4,3 1,4 1,4 3,5 3,5 1,6 1,6 3,7 3,7 1,8 1,8 3,9 3,9 0,2 0))", "LINESTRING(1 1,10 3)", 4, 8,
+ // Pieces are 1 x 2/9:
+ 4.0 * sqrt(1.0 + 4.0/81.0));
+ test_one_lp<LineString, Polygon, LineString>("case7", poly_simplex, "LINESTRING(1.5 1.5,2.5 2.5)", 1, 2, sqrt(2.0));
+ test_one_lp<LineString, Polygon, LineString>("case8", poly_simplex, "LINESTRING(1 0,2 0)", 0, 0, 0.0);
+
+ std::string const poly_9 = "POLYGON((1 1,1 4,4 4,4 1,1 1))";
+ test_one_lp<LineString, Polygon, LineString>("case9", poly_9, "LINESTRING(0 1,1 2,2 2)", 1, 2, 1.0);
+ test_one_lp<LineString, Polygon, LineString>("case10", poly_9, "LINESTRING(0 1,1 2,0 2)", 0, 0, 0.0);
+ test_one_lp<LineString, Polygon, LineString>("case11", poly_9, "LINESTRING(2 2,4 2,3 3)", 1, 3, 2.0 + sqrt(2.0));
+ test_one_lp<LineString, Polygon, LineString>("case12", poly_9, "LINESTRING(2 3,4 4,5 6)", 1, 2, sqrt(5.0));
+
+ test_one_lp<LineString, Polygon, LineString>("case13", poly_9, "LINESTRING(3 2,4 4,2 3)", 1, 3, 2.0 * sqrt(5.0));
+ test_one_lp<LineString, Polygon, LineString>("case14", poly_9, "LINESTRING(5 6,4 4,6 5)", 0, 0, 0.0);
+ test_one_lp<LineString, Polygon, LineString>("case15", poly_9, "LINESTRING(0 2,1 2,1 3,0 3)", 1, 2, 1.0);
+ test_one_lp<LineString, Polygon, LineString>("case16", poly_9, "LINESTRING(2 2,1 2,1 3,2 3)", 1, 4, 3.0);
+
+ std::string const angly = "LINESTRING(2 2,2 1,4 1,4 2,5 2,5 3,4 3,4 4,5 4,3 6,3 5,2 5,2 6,0 4)";
+ test_one_lp<LineString, Polygon, LineString>("case17", "POLYGON((1 1,1 5,4 5,4 1,1 1))", angly, 3, 8, 6.0);
+ test_one_lp<LineString, Polygon, LineString>("case18", "POLYGON((1 1,1 5,5 5,5 1,1 1))", angly, 2, 12, 10.0 + sqrt(2.0));
+ test_one_lp<LineString, Polygon, LineString>("case19", poly_9, "LINESTRING(1 2,1 3,0 3)", 1, 2, 1.0);
+ test_one_lp<LineString, Polygon, LineString>("case20", poly_9, "LINESTRING(1 2,1 3,2 3)", 1, 3, 2.0);
+
+ test_one_lp<LineString, Polygon, LineString>("case21", poly_9, "LINESTRING(1 2,1 4,4 4,4 1,2 1,2 2)", 1, 6, 11.0);
+
+ // Compile test - arguments in any order:
+ test_one<LineString, Polygon, LineString>("simplex", poly_simplex, "LINESTRING(0 2,4 2)", 1, 2, 2.0);
+ test_one<LineString, LineString, Polygon>("simplex", "LINESTRING(0 2,4 2)", poly_simplex, 1, 2, 2.0);
+
+ typedef typename bg::point_type<Polygon>::type Point;
+ test_one<LineString, bg::model::ring<Point>, LineString>("simplex", poly_simplex, "LINESTRING(0 2,4 2)", 1, 2, 2.0);
+
+}
+
+
 template <typename P>
 void test_all()
 {
@@ -295,6 +346,11 @@
 
     std::string clip = "box(2 2,8 8)";
 
+ test_areal_linear<polygon, linestring>();
+ test_areal_linear<polygon_open, linestring>();
+ test_areal_linear<polygon_ccw, linestring>();
+ test_areal_linear<polygon_ccw_open, linestring>();
+
     // Test polygons clockwise and counter clockwise
     test_areal<polygon>();
 
@@ -302,6 +358,7 @@
     test_areal<polygon_open>();
     test_areal<polygon_ccw_open>();
 
+
     test_areal_clip<polygon, box>();
     test_areal_clip<polygon_ccw, box>();
 

Modified: branches/release/libs/geometry/test/algorithms/make.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/make.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/make.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 
 #include <boost/geometry/algorithms/make.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/adapted/c_array.hpp>

Modified: branches/release/libs/geometry/test/algorithms/overlay/assemble.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/assemble.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/assemble.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -28,8 +28,8 @@
 
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/algorithms/overlay/ccw_traverse.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/ccw_traverse.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/ccw_traverse.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #if defined(TEST_WITH_SVG)
 # include <boost/geometry/extensions/io/svg/svg_mapper.hpp>

Modified: branches/release/libs/geometry/test/algorithms/overlay/dissolver.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/dissolver.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/dissolver.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -19,7 +19,7 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/multi/multi.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 #include <boost/geometry/extensions/io/svg/write_svg_multi.hpp>
 
 

Modified: branches/release/libs/geometry/test/algorithms/overlay/get_turns.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/get_turns.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/get_turns.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -29,8 +29,8 @@
 
 #include <boost/geometry/geometries/geometries.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 #if defined(TEST_WITH_SVG)
 # include <boost/geometry/extensions/io/svg/svg_mapper.hpp>

Modified: branches/release/libs/geometry/test/algorithms/overlay/overlay_common.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/overlay_common.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/overlay_common.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -25,8 +25,8 @@
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>
 
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 
 #if defined(TEST_WITH_SVG)

Modified: branches/release/libs/geometry/test/algorithms/overlay/robustness/interior_triangles.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/robustness/interior_triangles.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/robustness/interior_triangles.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -30,7 +30,7 @@
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/multi/multi.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 #include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
 
 

Modified: branches/release/libs/geometry/test/algorithms/overlay/robustness/intersects.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/robustness/intersects.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/robustness/intersects.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -30,7 +30,7 @@
 #include <boost/geometry/geometry.hpp>
 #include <boost/geometry/multi/multi.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 #include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
 
 

Modified: branches/release/libs/geometry/test/algorithms/overlay/robustness/recursive_polygons.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/robustness/recursive_polygons.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/robustness/recursive_polygons.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -30,7 +30,7 @@
 #include <boost/geometry/multi/multi.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 #include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
 
 

Modified: branches/release/libs/geometry/test/algorithms/overlay/robustness/star_comb.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/robustness/star_comb.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/robustness/star_comb.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -32,7 +32,7 @@
 #include <boost/geometry/multi/multi.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 #include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
 
 

Modified: branches/release/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/robustness/test_overlay_p_q.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -29,7 +29,7 @@
 
 #include <boost/geometry/algorithms/detail/overlay/debug_turn_info.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 #include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
 
 #include <geometry_test_common.hpp>

Modified: branches/release/libs/geometry/test/algorithms/overlay/select_rings.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/select_rings.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/select_rings.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -18,7 +18,7 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 #include <boost/assign/list_of.hpp>
 #include <boost/foreach.hpp>

Modified: branches/release/libs/geometry/test/algorithms/overlay/self_intersection_points.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/self_intersection_points.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/self_intersection_points.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -28,8 +28,8 @@
 
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/algorithms/overlay/split_rings.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/split_rings.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/split_rings.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -25,8 +25,8 @@
 
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 
 #if defined(TEST_WITH_SVG)

Modified: branches/release/libs/geometry/test/algorithms/overlay/traverse.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/traverse.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/traverse.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -51,8 +51,8 @@
 
 #include <boost/geometry/geometries/geometries.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 
 #if defined(TEST_WITH_SVG)

Modified: branches/release/libs/geometry/test/algorithms/overlay/traverse_gmp.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/overlay/traverse_gmp.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/overlay/traverse_gmp.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -42,7 +42,7 @@
 
 
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #define TEST_WITH_SVG
 

Modified: branches/release/libs/geometry/test/algorithms/test_area.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_area.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_area.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 #include <boost/geometry/algorithms/correct.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 template <typename Geometry>

Modified: branches/release/libs/geometry/test/algorithms/test_centroid.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_centroid.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_centroid.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -18,7 +18,7 @@
 #include <boost/geometry/algorithms/distance.hpp>
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 template <std::size_t D>

Modified: branches/release/libs/geometry/test/algorithms/test_convert.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_convert.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_convert.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry/algorithms/make.hpp>
 #include <boost/geometry/algorithms/num_points.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/adapted/c_array.hpp>

Modified: branches/release/libs/geometry/test/algorithms/test_convex_hull.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_convex_hull.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_convex_hull.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,8 +17,8 @@
 
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/wkt/write.hpp>
 
 #include <boost/geometry/geometries/polygon.hpp>
 

Modified: branches/release/libs/geometry/test/algorithms/test_covered_by.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_covered_by.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_covered_by.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -19,7 +19,7 @@
 #include <boost/geometry/geometries/ring.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 template <typename Geometry1, typename Geometry2>

Modified: branches/release/libs/geometry/test/algorithms/test_difference.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_difference.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_difference.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -22,6 +22,7 @@
 #include <boost/geometry/algorithms/sym_difference.hpp>
 
 #include <boost/geometry/algorithms/area.hpp>
+#include <boost/geometry/algorithms/length.hpp>
 #include <boost/geometry/algorithms/num_points.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
@@ -33,7 +34,7 @@
 
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 #if defined(TEST_WITH_SVG)
@@ -41,9 +42,42 @@
 #endif
 
 
+template <typename Output, typename G1, typename G2>
+void difference_output(std::string const& caseid, G1 const& g1, G2 const& g2, Output const& output)
+{
+#if defined(TEST_WITH_SVG)
+ {
+ typedef typename bg::coordinate_type<G1>::type coordinate_type;
+ typedef typename bg::point_type<G1>::type point_type;
 
+ std::ostringstream filename;
+ filename << "difference_"
+ << caseid << "_"
+ << string_from_type<coordinate_type>::name()
+ << ".svg";
 
-template <typename OutputType, typename CalculationType, typename G1, typename G2>
+ std::ofstream svg(filename.str().c_str());
+
+ bg::svg_mapper<point_type> mapper(svg, 500, 500);
+
+ mapper.add(g1);
+ mapper.add(g2);
+
+ mapper.map(g1, "fill-opacity:0.3;fill:rgb(51,51,153);stroke:rgb(51,51,153);stroke-width:3");
+ mapper.map(g2, "fill-opacity:0.5;fill:rgb(153,204,0);stroke:rgb(153,204,0);stroke-width:3");
+
+
+ for (typename Output::const_iterator it = output.begin(); it != output.end(); ++it)
+ {
+ mapper.map(*it,
+ //sym ? "fill-opacity:0.2;stroke-opacity:0.4;fill:rgb(255,255,0);stroke:rgb(255,0,255);stroke-width:8" :
+ "fill-opacity:0.2;stroke-opacity:0.4;fill:rgb(255,0,0);stroke:rgb(255,0,255);stroke-width:8");
+ }
+ }
+#endif
+}
+
+template <typename OutputType, typename G1, typename G2>
 void test_difference(std::string const& caseid, G1 const& g1, G2 const& g2,
         std::size_t expected_count, std::size_t expected_point_count,
         double expected_area,
@@ -53,7 +87,6 @@
     std::vector<OutputType> clip;
 
     typedef typename bg::coordinate_type<G1>::type coordinate_type;
- typedef typename bg::point_type<G1>::type point_type;
 
     if (sym)
     {
@@ -78,6 +111,8 @@
         area += bg::area(*it);
     }
 
+ difference_output(caseid, g1, g2, clip);
+
 #ifndef BOOST_GEOMETRY_DEBUG_ASSEMBLE
     {
         // Test inserter functionality
@@ -124,34 +159,6 @@
 #endif
 
 
-#if defined(TEST_WITH_SVG)
- {
- std::ostringstream filename;
- filename << "difference_"
- << caseid << "_"
- << string_from_type<coordinate_type>::name()
- << string_from_type<CalculationType>::name()
- << ".svg";
-
- std::ofstream svg(filename.str().c_str());
-
- bg::svg_mapper<point_type> mapper(svg, 500, 500);
-
- mapper.add(g1);
- mapper.add(g2);
-
- mapper.map(g1, "fill-opacity:0.3;fill:rgb(51,51,153);stroke:rgb(51,51,153);stroke-width:3");
- mapper.map(g2, "fill-opacity:0.5;fill:rgb(153,204,0);stroke:rgb(153,204,0);stroke-width:3");
-
- for (typename std::vector<OutputType>::const_iterator it = clip.begin();
- it != clip.end(); ++it)
- {
- mapper.map(*it,
- //sym ? "fill-opacity:0.2;stroke-opacity:0.4;fill:rgb(255,255,0);stroke:rgb(255,0,255);stroke-width:8" :
- "fill-opacity:0.2;stroke-opacity:0.4;fill:rgb(255,0,0);stroke:rgb(255,0,255);stroke-width:8");
- }
- }
-#endif
 }
 
 
@@ -195,16 +202,16 @@
     bg::correct(g1);
     bg::correct(g2);
 
- test_difference<OutputType, void>(caseid + "_a", g1, g2,
+ test_difference<OutputType>(caseid + "_a", g1, g2,
         expected_count1, expected_point_count1,
         expected_area1, percentage);
 #ifdef BOOST_GEOMETRY_DEBUG_ASSEMBLE
     return;
 #endif
- test_difference<OutputType, void>(caseid + "_b", g2, g1,
+ test_difference<OutputType>(caseid + "_b", g2, g1,
         expected_count2, expected_point_count2,
         expected_area2, percentage);
- test_difference<OutputType, void>(caseid + "_s", g1, g2,
+ test_difference<OutputType>(caseid + "_s", g1, g2,
         expected_count1 + expected_count2,
         expected_point_count1 + expected_point_count2,
         expected_area1 + expected_area2,
@@ -245,6 +252,51 @@
 
 }
 
+template <typename OutputType, typename G1, typename G2>
+void test_one_lp(std::string const& caseid,
+ std::string const& wkt1, std::string const& wkt2,
+ std::size_t expected_count,
+ std::size_t expected_point_count,
+ double expected_length)
+{
+ G1 g1;
+ bg::read_wkt(wkt1, g1);
+
+ G2 g2;
+ bg::read_wkt(wkt2, g2);
+
+ bg::correct(g1);
+
+ std::vector<OutputType> pieces;
+ bg::difference(g1, g2, pieces);
+
+ typename bg::default_length_result<G1>::type length = 0;
+ std::size_t n = 0;
+ for (typename std::vector<OutputType>::iterator it = pieces.begin();
+ it != pieces.end();
+ ++it)
+ {
+ if (expected_point_count > 0)
+ {
+ n += bg::num_points(*it);
+ }
+
+ length += bg::length(*it);
+ }
+
+ BOOST_CHECK_MESSAGE(pieces.size() == expected_count,
+ "difference: " << caseid
+ << " #outputs expected: " << expected_count
+ << " detected: " << pieces.size()
+ );
+
+ BOOST_CHECK_EQUAL(n, expected_point_count);
+
+ BOOST_CHECK_CLOSE(length, expected_length, 0.001);
+
+ difference_output(caseid, g1, g2, pieces);
+}
+
 
 
 #endif

Modified: branches/release/libs/geometry/test/algorithms/test_distance.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_distance.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_distance.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -12,7 +12,7 @@
 #include <geometry_test_common.hpp>
 
 #include <boost/geometry/algorithms/distance.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
 
 

Modified: branches/release/libs/geometry/test/algorithms/test_envelope.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_envelope.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_envelope.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry/geometries/box.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 template<typename Box, std::size_t DimensionCount>

Modified: branches/release/libs/geometry/test/algorithms/test_equals.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_equals.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_equals.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry/algorithms/equals.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 template <typename Geometry1, typename Geometry2>

Modified: branches/release/libs/geometry/test/algorithms/test_expand.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_expand.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_expand.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,9 +14,9 @@
 
 #include <boost/geometry/algorithms/expand.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 #include <boost/geometry/algorithms/assign.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 
 template <typename Geometry, typename Box>

Modified: branches/release/libs/geometry/test/algorithms/test_for_each.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_for_each.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_for_each.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,8 +15,8 @@
 
 #include <boost/geometry/algorithms/distance.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 
 template<typename Point>

Modified: branches/release/libs/geometry/test/algorithms/test_intersection.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_intersection.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_intersection.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -24,7 +24,7 @@
 
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 #if defined(TEST_WITH_SVG)
@@ -39,11 +39,15 @@
         G1 const& g1, G2 const& g2,
         std::size_t expected_count = 0, std::size_t expected_point_count = 0,
         double expected_length_or_area = 0,
- double percentage = 0.0001)
+ double percentage = 0.0001,
+ bool debug = false)
 {
     static const bool is_line = bg::geometry_id<OutputType>::type::value == 2;
 
- //std::cout << caseid << std::endl;
+ if (debug)
+ {
+ std::cout << std::endl << "case " << caseid << std::endl;
+ }
 
 
     typedef typename bg::coordinate_type<G1>::type coordinate_type;
@@ -59,6 +63,7 @@
> strategy;
 
     // Check both normal behaviour, and _inserter behaviour
+ if (! debug)
     {
         std::vector<OutputType> out;
         bg::intersection(g1, g2, out);
@@ -83,12 +88,10 @@
             ? bg::length(*it)
             : bg::area(*it);
 
- /*
- std::cout << std::endl << "case " << caseid << " ";
- std::cout
- << std::setprecision(20)
- << bg::dsv(*it) << std::endl;
- */
+ if (debug)
+ {
+ std::cout << std::setprecision(20) << bg::wkt(*it) << std::endl;
+ }
     }
 
 
@@ -159,6 +162,11 @@
     }
 #endif
 
+ if (debug)
+ {
+ std::cout << "end case " << caseid << std::endl;
+ }
+
     return length_or_area;
 }
 
@@ -167,7 +175,8 @@
         std::string const& wkt1, std::string const& wkt2,
         std::size_t expected_count = 0, std::size_t expected_point_count = 0,
         double expected_length_or_area = 0,
- double percentage = 0.0001)
+ double percentage = 0.0001,
+ bool debug = false)
 {
     G1 g1;
     bg::read_wkt(wkt1, g1);
@@ -181,11 +190,39 @@
 
     return test_intersection<OutputType, void>(caseid, g1, g2,
         expected_count, expected_point_count,
- expected_length_or_area, percentage);
+ expected_length_or_area, percentage,
+ debug);
+}
+
+template <typename OutputType, typename Areal, typename Linear>
+void test_one_lp(std::string const& caseid,
+ std::string const& wkt_areal, std::string const& wkt_linear,
+ std::size_t expected_count = 0, std::size_t expected_point_count = 0,
+ double expected_length = 0,
+ double percentage = 0.0001,
+ bool debug1 = false, bool debug2 = false)
+{
+ Areal areal;
+ bg::read_wkt(wkt_areal, areal);
+ bg::correct(areal);
+
+ Linear linear;
+ bg::read_wkt(wkt_linear, linear);
+
+ test_intersection<OutputType, void>(caseid, areal, linear,
+ expected_count, expected_point_count,
+ expected_length, percentage, debug1);
+
+ // A linestring reversed should deliver exactly the same.
+ bg::reverse(linear);
+
+ test_intersection<OutputType, void>(caseid + "_rev", areal, linear,
+ expected_count, expected_point_count,
+ expected_length, percentage, debug2);
 }
 
 template <typename Geometry1, typename Geometry2>
-void test_point_output(std::string const& wkt1, std::string const& wkt2, int expected_count)
+void test_point_output(std::string const& wkt1, std::string const& wkt2, unsigned int expected_count)
 {
     Geometry1 g1;
     bg::read_wkt(wkt1, g1);

Modified: branches/release/libs/geometry/test/algorithms/test_intersects.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_intersects.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_intersects.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -18,7 +18,7 @@
 #include <boost/geometry/geometries/ring.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 template <typename Geometry1, typename Geometry2>

Modified: branches/release/libs/geometry/test/algorithms/test_length.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_length.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_length.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -12,7 +12,7 @@
 #include <geometry_test_common.hpp>
 
 #include <boost/geometry/algorithms/length.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
 
 

Modified: branches/release/libs/geometry/test/algorithms/test_overlaps.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_overlaps.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_overlaps.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -18,7 +18,7 @@
 #include <boost/geometry/geometries/ring.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 template <typename Geometry1, typename Geometry2>

Modified: branches/release/libs/geometry/test/algorithms/test_perimeter.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_perimeter.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_perimeter.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry/strategies/strategies.hpp>
 
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 template <typename Geometry>

Modified: branches/release/libs/geometry/test/algorithms/test_reverse.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_reverse.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_reverse.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,7 +14,7 @@
 #include <geometry_test_common.hpp>
 #include <boost/geometry/algorithms/reverse.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 template <typename Geometry>

Modified: branches/release/libs/geometry/test/algorithms/test_simplify.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_simplify.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_simplify.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry/algorithms/distance.hpp>
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 template <typename Tag, typename Geometry>
 struct test_inserter

Modified: branches/release/libs/geometry/test/algorithms/test_union.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_union.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_union.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -26,7 +26,7 @@
 
 #include <boost/geometry/strategies/strategies.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 #if defined(TEST_WITH_SVG)

Modified: branches/release/libs/geometry/test/algorithms/test_unique.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_unique.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_unique.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <geometry_test_common.hpp>
 #include <boost/geometry/algorithms/unique.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 template <typename Geometry>

Modified: branches/release/libs/geometry/test/algorithms/test_within.hpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/test_within.hpp (original)
+++ branches/release/libs/geometry/test/algorithms/test_within.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -19,7 +19,7 @@
 #include <boost/geometry/geometries/ring.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 #include <boost/geometry/strategies/cartesian/point_in_box.hpp>
 #include <boost/geometry/strategies/cartesian/box_in_box.hpp>

Modified: branches/release/libs/geometry/test/algorithms/transform.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/transform.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/transform.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -24,8 +24,8 @@
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 
-#include <boost/geometry/util/write_dsv.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <test_common/test_point.hpp>
 

Modified: branches/release/libs/geometry/test/concepts/linestring_concept.cpp
==============================================================================
--- branches/release/libs/geometry/test/concepts/linestring_concept.cpp (original)
+++ branches/release/libs/geometry/test/concepts/linestring_concept.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -19,7 +19,7 @@
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/concepts/linestring_concept.hpp>
 
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 
 #include <test_common/test_point.hpp>

Modified: branches/release/libs/geometry/test/core/ring.cpp
==============================================================================
--- branches/release/libs/geometry/test/core/ring.cpp (original)
+++ branches/release/libs/geometry/test/core/ring.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -27,7 +27,7 @@
 #include <boost/geometry/geometries/polygon.hpp>
 
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/domains/gis/io/wkt/multi_wkt.cpp
==============================================================================
--- branches/release/libs/geometry/test/domains/gis/io/wkt/multi_wkt.cpp (original)
+++ branches/release/libs/geometry/test/domains/gis/io/wkt/multi_wkt.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -35,8 +35,8 @@
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt_multi.hpp>
+#include <boost/geometry/domains/gis/io/wkt/read_multi.hpp>
+#include <boost/geometry/domains/gis/io/wkt/write_multi.hpp>
 
 
 template <typename T>

Modified: branches/release/libs/geometry/test/domains/gis/io/wkt/wkt.cpp
==============================================================================
--- branches/release/libs/geometry/test/domains/gis/io/wkt/wkt.cpp (original)
+++ branches/release/libs/geometry/test/domains/gis/io/wkt/wkt.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -30,8 +30,8 @@
 #include <boost/geometry/strategies/strategies.hpp>
 #include <boost/geometry/core/point_type.hpp>
 #include <boost/geometry/core/topological_dimension.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/write_wkt.hpp>
+#include <boost/geometry/domains/gis/io/wkt/read.hpp>
+#include <boost/geometry/domains/gis/io/wkt/write.hpp>
 
 
 template <typename G>

Modified: branches/release/libs/geometry/test/geometries/boost_polygon.cpp
==============================================================================
--- branches/release/libs/geometry/test/geometries/boost_polygon.cpp (original)
+++ branches/release/libs/geometry/test/geometries/boost_polygon.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -22,7 +22,7 @@
 #include <boost/geometry/geometries/adapted/boost_polygon/ring.hpp>
 #include <boost/geometry/geometries/adapted/boost_polygon/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <iostream>
 

Modified: branches/release/libs/geometry/test/geometries/boost_polygon_overlay.cpp
==============================================================================
--- branches/release/libs/geometry/test/geometries/boost_polygon_overlay.cpp (original)
+++ branches/release/libs/geometry/test/geometries/boost_polygon_overlay.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <boost/geometry/geometries/adapted/boost_polygon/box.hpp>
 #include <boost/geometry/geometries/adapted/boost_polygon/ring.hpp>
 #include <boost/geometry/geometries/adapted/boost_polygon/polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include<iostream>
 

Modified: branches/release/libs/geometry/test/geometries/boost_range.cpp
==============================================================================
--- branches/release/libs/geometry/test/geometries/boost_range.cpp (original)
+++ branches/release/libs/geometry/test/geometries/boost_range.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -21,7 +21,7 @@
 #include <boost/geometry/geometries/adapted/boost_range/sliced.hpp>
 #include <boost/geometry/geometries/adapted/boost_range/uniqued.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 #include <sstream>
 

Modified: branches/release/libs/geometry/test/geometries/segment.cpp
==============================================================================
--- branches/release/libs/geometry/test/geometries/segment.cpp (original)
+++ branches/release/libs/geometry/test/geometries/segment.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -25,7 +25,7 @@
 #include <boost/geometry/geometries/adapted/c_array.hpp>
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>
 
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 
 #include <test_common/test_point.hpp>

Modified: branches/release/libs/geometry/test/iterators/closing_iterator.cpp
==============================================================================
--- branches/release/libs/geometry/test/iterators/closing_iterator.cpp (original)
+++ branches/release/libs/geometry/test/iterators/closing_iterator.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -22,7 +22,7 @@
 #include <boost/geometry/iterators/closing_iterator.hpp>
 
 #include <boost/geometry/core/coordinate_type.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 

Modified: branches/release/libs/geometry/test/iterators/ever_circling_iterator.cpp
==============================================================================
--- branches/release/libs/geometry/test/iterators/ever_circling_iterator.cpp (original)
+++ branches/release/libs/geometry/test/iterators/ever_circling_iterator.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -20,7 +20,7 @@
 #include <boost/geometry/iterators/ever_circling_iterator.hpp>
 
 #include <boost/geometry/core/coordinate_type.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 

Modified: branches/release/libs/geometry/test/multi/Jamfile.v2
==============================================================================
--- branches/release/libs/geometry/test/multi/Jamfile.v2 (original)
+++ branches/release/libs/geometry/test/multi/Jamfile.v2 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -8,4 +8,5 @@
 # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 # http://www.boost.org/LICENSE_1_0.txt)
 
-build-project algorithms ;
\ No newline at end of file
+build-project algorithms ;
+build-project io ;
\ No newline at end of file

Modified: branches/release/libs/geometry/test/multi/algorithms/Jamfile.v2
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/Jamfile.v2 (original)
+++ branches/release/libs/geometry/test/multi/algorithms/Jamfile.v2 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,6 +17,7 @@
     [ run multi_correct.cpp ]
     [ run multi_covered_by.cpp ]
     [ run multi_difference.cpp ]
+ [ run multi_distance.cpp ]
     [ run multi_envelope.cpp ]
     [ run multi_equals.cpp ]
     [ run multi_for_each.cpp ]

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_area.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_area.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_area.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,7 +14,8 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_centroid.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_centroid.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_centroid.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -25,7 +25,7 @@
 #include <boost/geometry/multi/geometries/multi_point.hpp>
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 
 // #define REPORT_RESULTS

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_convert.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_convert.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_convert.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -13,6 +13,9 @@
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
+
 
 template <typename Point1, typename Point2>
 void test_mixed_point_types()

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_convex_hull.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_convex_hull.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_convex_hull.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -21,7 +21,7 @@
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 #include <boost/geometry/multi/core/point_order.hpp>
 #include <boost/geometry/multi/core/point_type.hpp>
@@ -31,7 +31,8 @@
 #include <boost/geometry/multi/algorithms/num_points.hpp>
 #include <boost/geometry/multi/algorithms/detail/for_each_range.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/multi/geometries/multi_point.hpp>
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_correct.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_correct.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_correct.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -13,7 +13,8 @@
 
 #include <boost/geometry/multi/algorithms/correct.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/box.hpp>
 #include <boost/geometry/geometries/ring.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_covered_by.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_covered_by.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_covered_by.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -7,8 +7,6 @@
 
 #include <geometry_test_common.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
-
 #include <boost/geometry/algorithms/correct.hpp>
 #include <boost/geometry/algorithms/covered_by.hpp>
 
@@ -21,6 +19,9 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
+
 #include <algorithms/test_covered_by.hpp>
 
 

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_difference.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_difference.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_difference.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -26,7 +26,7 @@
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 template <typename Ring, typename Polygon, typename MultiPolygon>
 void test_areal()
@@ -81,6 +81,43 @@
         case_78_multi[0], case_78_multi[1],
             1, 1, 1.0, 1, 1, 1.0);
 
+ // Ticket on GGL list 2011/10/25
+ // to mix polygon/multipolygon in call to difference
+ test_one<Polygon, Polygon, Polygon>("ggl_list_20111025_vd_pp",
+ ggl_list_20111025_vd[0], ggl_list_20111025_vd[1],
+ 1, -999, 8.0, 1, -999, 12.5);
+ test_one<Polygon, Polygon, MultiPolygon>("ggl_list_20111025_vd_pm",
+ ggl_list_20111025_vd[0], ggl_list_20111025_vd[3],
+ 1, -999, 8.0, 1, -999, 12.5);
+ test_one<Polygon, MultiPolygon, Polygon>("ggl_list_20111025_vd_mp",
+ ggl_list_20111025_vd[2], ggl_list_20111025_vd[1],
+ 1, -999, 8.0, 1, -999, 12.5);
+ test_one<Polygon, MultiPolygon, MultiPolygon>("ggl_list_20111025_vd_mm",
+ ggl_list_20111025_vd[2], ggl_list_20111025_vd[3],
+ 1, -999, 8.0, 1, -999, 12.5);
+
+ // Second case
+ // This can be tested with this SQL for SQL-Server
+ /*
+ with viewy as (select geometry::STGeomFromText(
+ 'POLYGON((5 0,5 4,8 4,8 0,5 0))',0) as p,
+ geometry::STGeomFromText(
+ 'MULTIPOLYGON(((0 0,0 2,2 2,2 0,0 0)),((4 0,4 2,6 2,6 0,4 0)))',0) as q)
+ select
+ p.STDifference(q).STArea(),p.STDifference(q).STNumGeometries(),p.STDifference(q) as p_min_q,
+ q.STDifference(p).STArea(),q.STDifference(p).STNumGeometries(),q.STDifference(p) as q_min_p,
+ p.STSymDifference(q).STArea(),q.STSymDifference(p) as p_xor_q
+ from viewy
+
+ Outputting:
+ 10, 1, <WKB>, 6, 2, <WKB>, 16, <WKB>
+ */
+
+ test_one<Polygon, Polygon, MultiPolygon>("ggl_list_20111025_vd_2",
+ ggl_list_20111025_vd_2[0], ggl_list_20111025_vd_2[1],
+ 1, -999, 10.0, 2, -999, 6.0);
+
+
     /* TODO: fix
     test_one<Polygon, MultiPolygon, MultiPolygon>("case_101_multi",
         case_101_multi[0], case_101_multi[1],
@@ -106,6 +143,20 @@
 */
 }
 
+template <typename MultiPolygon, typename MultiLineString>
+void test_areal_linear()
+{
+ typedef typename boost::range_value<MultiPolygon>::type Polygon;
+ typedef typename boost::range_value<MultiLineString>::type LineString;
+ typedef typename bg::point_type<Polygon>::type Point;
+ typedef bg::model::ring<Point> Ring;
+
+ test_one_lp<LineString, LineString, MultiPolygon>("case_mp_ls_1", "LINESTRING(2 0,2 5)", case_multi_simplex[0], 3, 5, 1.30);
+ test_one_lp<LineString, MultiLineString, Polygon>("case_p_mls_1", "MULTILINESTRING((2 0,2 5),(3 0,3 5))", case_single_simplex, 3, 6, 2.5);
+ test_one_lp<LineString, MultiLineString, MultiPolygon>("case_mp_mls_1", "MULTILINESTRING((2 0,2 5),(3 0,3 5))", case_multi_simplex[0], 6, 11, 3.1666667);
+ test_one_lp<LineString, MultiLineString, Ring>("case_r_mls_1", "MULTILINESTRING((2 0,2 5),(3 0,3 5))", case_single_simplex, 3, 6, 2.5);
+}
+
 
 template <typename P>
 void test_all()
@@ -115,6 +166,7 @@
     typedef bg::model::polygon<P> polygon;
     typedef bg::model::multi_polygon<polygon> multi_polygon;
     test_areal<ring, polygon, multi_polygon>();
+ test_areal_linear<multi_polygon, bg::model::multi_linestring<bg::model::linestring<P> > >();
 }
 
 

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_distance.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_distance.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_distance.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -11,7 +11,7 @@
 #include <geometry_test_common.hpp>
 
 #include <boost/geometry/algorithms/distance.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 #include <boost/geometry/strategies/strategies.hpp>
 
@@ -20,7 +20,7 @@
 #include <boost/geometry/multi/geometries/multi_point.hpp>
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_envelope.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_envelope.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_envelope.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -21,7 +21,7 @@
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_equals.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_equals.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_equals.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_for_each.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_for_each.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_for_each.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -10,7 +10,8 @@
 #include <boost/geometry/algorithms/for_each.hpp>
 #include <boost/geometry/multi/algorithms/for_each.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/box.hpp>
 #include <boost/geometry/geometries/ring.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_intersection.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_intersection.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_intersection.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -25,7 +25,7 @@
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 template <typename Ring, typename Polygon, typename MultiPolygon>
 void test_areal()
@@ -151,6 +151,19 @@
     test_point_output<box, multi_polygon>("box(3 0,4 6)", case_multi_simplex[0], 8);
 }
 
+template <typename MultiPolygon, typename MultiLineString>
+void test_areal_linear()
+{
+ typedef typename boost::range_value<MultiPolygon>::type Polygon;
+ typedef typename boost::range_value<MultiLineString>::type LineString;
+ typedef typename bg::point_type<Polygon>::type Point;
+ typedef bg::model::ring<Point> Ring;
+
+ test_one_lp<LineString, MultiPolygon, LineString>("case_mp_ls_1", case_multi_simplex[0], "LINESTRING(2 0,2 5)", 2, 4, 3.70);
+ test_one_lp<LineString, Polygon, MultiLineString>("case_p_mls_1", case_single_simplex, "MULTILINESTRING((2 0,2 5),(3 0,3 5))", 2, 4, 7.5);
+ test_one_lp<LineString, MultiPolygon, MultiLineString>("case_mp_mls_1", case_multi_simplex[0], "MULTILINESTRING((2 0,2 5),(3 0,3 5))", 4, 8, 6.8333333);
+ test_one_lp<LineString, Ring, MultiLineString>("case_r_mls_1", case_single_simplex, "MULTILINESTRING((2 0,2 5),(3 0,3 5))", 2, 4, 7.5);
+}
 
 template <typename P>
 void test_all()
@@ -185,6 +198,7 @@
     typedef bg::model::multi_linestring<linestring> multi_linestring;
 
     test_linear<linestring, multi_linestring, box>();
+ test_areal_linear<multi_polygon, multi_linestring>();
 #endif
 
     test_point_output<P>();

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_length.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_length.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_length.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -14,7 +14,8 @@
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_num_geometries.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_num_geometries.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_num_geometries.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -10,7 +10,8 @@
 #include <boost/geometry/algorithms/num_geometries.hpp>
 #include <boost/geometry/multi/algorithms/num_geometries.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_num_interior_rings.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_num_interior_rings.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_num_interior_rings.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -10,7 +10,8 @@
 #include <boost/geometry/algorithms/num_interior_rings.hpp>
 #include <boost/geometry/multi/algorithms/num_interior_rings.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_num_points.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_num_points.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_num_points.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -10,7 +10,8 @@
 #include <boost/geometry/algorithms/num_points.hpp>
 #include <boost/geometry/multi/algorithms/num_points.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_perimeter.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_perimeter.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_perimeter.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -10,7 +10,8 @@
 #include <boost/geometry/algorithms/perimeter.hpp>
 #include <boost/geometry/multi/algorithms/perimeter.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_reverse.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_reverse.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_reverse.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -10,7 +10,8 @@
 #include <boost/geometry/algorithms/reverse.hpp>
 #include <boost/geometry/multi/algorithms/reverse.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_simplify.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_simplify.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_simplify.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -9,7 +9,8 @@
 
 #include <boost/geometry/multi/algorithms/simplify.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/box.hpp>
 #include <boost/geometry/geometries/ring.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_transform.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_transform.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_transform.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -28,8 +28,8 @@
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 
 // This test is a little different from transform.cpp test.

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_union.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_union.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_union.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -23,7 +23,7 @@
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 
 template <typename Ring, typename Polygon, typename MultiPolygon>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_unique.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_unique.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_unique.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -10,7 +10,8 @@
 #include <boost/geometry/algorithms/unique.hpp>
 #include <boost/geometry/multi/algorithms/unique.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/multi_within.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/multi_within.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/multi_within.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -7,7 +7,8 @@
 
 #include <geometry_test_common.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/multi/io/wkt/wkt.hpp>
 
 #include <boost/geometry/algorithms/correct.hpp>
 #include <boost/geometry/algorithms/within.hpp>

Modified: branches/release/libs/geometry/test/multi/algorithms/overlay/multi_overlay_cases.hpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/overlay/multi_overlay_cases.hpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/overlay/multi_overlay_cases.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -375,7 +375,7 @@
 
 static std::string case_recursive_boxes_4[2] =
 {
- // Occured after refactoring assemble
+ // Occurred after refactoring assemble
     "MULTIPOLYGON(((9 3,10 4,10 3,9 3)),((9 9,10 10,10 9,9 9)),((0 1,0 3,1 4,0 4,0 5,1 6,0 6,0 8,1 9,1 8,2 9,2 7,1.5 6.5,2.5 5.5,3 6,3 5,4 6,2 6,2 7,3 8,2 8,3 9,0 9,0 10,6 10,5.5 9.5,6 9,6 10,7 10,7.5 9.5,8 10,8 9,7 9,7 8,6 8,6.5 7.5,7 8,8 8,8 9,9 9,9.5 8.5,10 9,10 8,9.5 7.5,10 7,10 5,8 5,8 4,7 3,7 2,8 3,8 4,9 5,9 3,10 2,10 1,8 1,8.5 0.5,9 1,10 0,4 0,4 1,3 1,3 0,1 0,1 1,0 0,0 1),(4 2,4.5 1.5,5 2,5 4,4.5 3.5,5 3,4 3,4 2),(3 3,4 4,2 4,2.5 3.5,3 4,3 3),(6 4,6.5 3.5,7 4,6 4),(5 7,5 9,4 9,4 8,5 7)))",
     "MULTIPOLYGON(((1 0,2 1,2 0,1 0)),((7 9,7 10,8 10,7 9)),((1 0,0 0,0 3,1 3,2 2,2 3,1 3,1 4,2 4,2 5,1 4,0 4,0 8,1 7,1 6,2 7,1 7,1 9,0 9,0 10,7 10,6 9,6.5 8.5,7 9,8 9,9 8,8 8,9 7,9 6,10 7,10 5,9 5,9 4,10 5,10 0,7 0,8 1,7 1,6 0,3 0,3 1,1 1,1 0),(5 1,5.5 0.5,6 1,6 2,6.5 1.5,7 2,8 2,8 4,7 3,6 3,6 2,5 2,6 1,5 1),(4 4,5 4,5 5,4 4),(4 6,4 7,3 7,2 6,3 6,3 7,4 6),(6 5,6.5 4.5,7 5,6 5,7 6,7 7,6 7,6 5),(3.5 7.5,4 8,4 9,3 8,3.5 7.5)),((9 8,9 9,8 9,9 10,10 10,10 8,9 8)))"
 };
@@ -410,5 +410,22 @@
     "MULTIPOLYGON(((2500 2500,2791 3586,3062 3474,2500 2500)),((2500 2500,3474 3062,3586 2791,3625 2500,3586 2208,3474 1937,3295 1704,3062 1525,2791 1413,2499 1375,2208 1413,1937 1525,1704 1704,1525 1937,1413 2208,1375 2500,2500 2500)))"
 };
 
+// Case, not literally on this list but derived, to mix polygon/multipolygon in call to difference
+static std::string ggl_list_20111025_vd[4] =
+ {
+ "POLYGON((0 0,0 4,4 0,0 0))",
+ "POLYGON((10 0,10 5,15 0,10 0))",
+ "MULTIPOLYGON(((0 0,0 4,4 0,0 0)))",
+ "MULTIPOLYGON(((10 0,10 5,15 0,10 0)))"
+ };
+
+// Same, mail with other case with text "Say the MP is the 2 squares below and P is the blue-ish rectangle."
+static std::string ggl_list_20111025_vd_2[2] =
+ {
+ "POLYGON((5 0,5 4,8 4,8 0,5 0))",
+ "MULTIPOLYGON(((0 0,0 2,2 2,2 0,0 0)),((4 0,4 2,6 2,6 0,4 0)))"
+ };
+
+
 
 #endif // BOOST_GEOMETRY_TEST_MULTI_OVERLAY_CASES_HPP

Modified: branches/release/libs/geometry/test/multi/algorithms/overlay/multi_overlay_common.hpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/overlay/multi_overlay_common.hpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/overlay/multi_overlay_common.hpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -15,7 +15,7 @@
 #include <boost/geometry/multi/geometries/multi_linestring.hpp>
 #include <boost/geometry/multi/geometries/multi_polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 //#include <boost/geometry/multi/io/svg/write_svg.hpp>
 
 

Modified: branches/release/libs/geometry/test/multi/algorithms/overlay/multi_traverse.cpp
==============================================================================
--- branches/release/libs/geometry/test/multi/algorithms/overlay/multi_traverse.cpp (original)
+++ branches/release/libs/geometry/test/multi/algorithms/overlay/multi_traverse.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -34,7 +34,7 @@
 
 #include <boost/geometry/multi/views/detail/range_type.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt_multi.hpp>
+#include <boost/geometry/multi/io/wkt/read.hpp>
 
 
 #include "multi_overlay_cases.hpp"

Modified: branches/release/libs/geometry/test/policies/compare.cpp
==============================================================================
--- branches/release/libs/geometry/test/policies/compare.cpp (original)
+++ branches/release/libs/geometry/test/policies/compare.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -12,7 +12,7 @@
 #include <algorithm>
 
 #include <boost/geometry/algorithms/make.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 #include <boost/geometry/policies/compare.hpp>
 

Modified: branches/release/libs/geometry/test/strategies/projected_point.cpp
==============================================================================
--- branches/release/libs/geometry/test/strategies/projected_point.cpp (original)
+++ branches/release/libs/geometry/test/strategies/projected_point.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -18,7 +18,7 @@
 #include <boost/geometry/strategies/cartesian/distance_projected_point.hpp>
 #include <boost/geometry/strategies/concepts/distance_concept.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 #include <boost/geometry/geometries/point.hpp>

Modified: branches/release/libs/geometry/test/strategies/within.cpp
==============================================================================
--- branches/release/libs/geometry/test/strategies/within.cpp (original)
+++ branches/release/libs/geometry/test/strategies/within.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -28,7 +28,7 @@
 #include <boost/geometry/geometries/box.hpp>
 #include <boost/geometry/geometries/polygon.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/util/as_range.cpp
==============================================================================
--- branches/release/libs/geometry/test/util/as_range.cpp (original)
+++ branches/release/libs/geometry/test/util/as_range.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -22,7 +22,7 @@
 #include <boost/geometry/core/cs.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 template <int D, typename Range>
 double sum(Range const& range)

Modified: branches/release/libs/geometry/test/util/rational.cpp
==============================================================================
--- branches/release/libs/geometry/test/util/rational.cpp (original)
+++ branches/release/libs/geometry/test/util/rational.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,7 +16,7 @@
 #include <geometry_test_common.hpp>
 
 #include <boost/geometry/geometries/geometries.hpp>
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
 #include <boost/geometry/util/rational.hpp>
 
 void test_coordinate_cast(std::string const& s, int expected_nom, int expected_denom)

Modified: branches/release/libs/geometry/test/util/write_dsv.cpp
==============================================================================
--- branches/release/libs/geometry/test/util/write_dsv.cpp (original)
+++ branches/release/libs/geometry/test/util/write_dsv.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,12 +17,12 @@
 
 #include <geometry_test_common.hpp>
 
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 
 
 #include <boost/geometry/geometries/geometries.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/views/box_view.cpp
==============================================================================
--- branches/release/libs/geometry/test/views/box_view.cpp (original)
+++ branches/release/libs/geometry/test/views/box_view.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/views/box_view.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 

Modified: branches/release/libs/geometry/test/views/closeable_view.cpp
==============================================================================
--- branches/release/libs/geometry/test/views/closeable_view.cpp (original)
+++ branches/release/libs/geometry/test/views/closeable_view.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,8 +16,8 @@
 
 #include <boost/geometry/views/closeable_view.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>

Modified: branches/release/libs/geometry/test/views/reversible_closeable.cpp
==============================================================================
--- branches/release/libs/geometry/test/views/reversible_closeable.cpp (original)
+++ branches/release/libs/geometry/test/views/reversible_closeable.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -18,8 +18,8 @@
 #include <boost/geometry/views/closeable_view.hpp>
 #include <boost/geometry/views/reversible_view.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>

Modified: branches/release/libs/geometry/test/views/reversible_view.cpp
==============================================================================
--- branches/release/libs/geometry/test/views/reversible_view.cpp (original)
+++ branches/release/libs/geometry/test/views/reversible_view.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -16,8 +16,8 @@
 
 #include <boost/geometry/views/reversible_view.hpp>
 
-#include <boost/geometry/domains/gis/io/wkt/wkt.hpp>
-#include <boost/geometry/util/write_dsv.hpp>
+#include <boost/geometry/io/wkt/wkt.hpp>
+#include <boost/geometry/io/dsv/write.hpp>
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/adapted/boost_tuple.hpp>

Modified: branches/release/libs/geometry/test/views/segment_view.cpp
==============================================================================
--- branches/release/libs/geometry/test/views/segment_view.cpp (original)
+++ branches/release/libs/geometry/test/views/segment_view.cpp 2012-01-07 12:56:46 EST (Sat, 07 Jan 2012)
@@ -17,7 +17,7 @@
 #include <boost/geometry/geometries/geometries.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/views/segment_view.hpp>
-#include <boost/geometry/domains/gis/io/wkt/read_wkt.hpp>
+#include <boost/geometry/io/wkt/read.hpp>
 
 
 


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