|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r57149 - in sandbox/ggl/formal_review_request/libs/ggl/doc: . doxygen_input/images doxygen_input/pages doxygen_output/html
From: barend.gehrels_at_[hidden]
Date: 2009-10-25 06:40:40
Author: barendgehrels
Date: 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
New Revision: 57149
URL: http://svn.boost.org/trac/boost/changeset/57149
Log:
Doc updates to reflect o.a. movements core/concepts -> geometries/concepts
Added:
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/images/x01_qt_example_output.png (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__concept_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__concept_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__append_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__append_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__clear_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__clear_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x62.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x63.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x64.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x65.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x67.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x68.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x69.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6c.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6d.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6f.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x70.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x72.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x73.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x74.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x75.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x76.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x77.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x78.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x79.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x7e.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept_1_1detail.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1checker.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within__concept_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within__concept_8hpp_source.html (contents, props changed)
Removed:
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1nsphere__tag.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__access.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__type.html
Text files modified:
sandbox/ggl/formal_review_request/libs/ggl/doc/Doxyfile | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/pages/doxygen_pages.hpp | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/01__point__example_8cpp-example.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html | 30
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/06__transformation__example_8cpp-example.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html | 416 ++++++------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html | 342 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html | 28
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html | 485 ++++++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html | 369 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html | 339 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html | 59
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html | 28
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html | 441 ++++++------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html | 610 +++++++++--------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html | 120 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html | 715 ++++++++++----------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html | 259 ++++---
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html | 233 +++---
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html | 149 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html | 1019 +++++++++++++++---------------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html | 182 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html | 434 ++++++------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html | 645 ++++++++----------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html | 59
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html | 300 ++++----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html | 30
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html | 50
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html | 749 ++++++++++-----------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html | 174 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html | 20
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html | 176 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html | 80 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp_source.html | 95 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html | 108 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html | 9
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html | 7
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html | 38
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html | 11
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html | 135 +++
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer-members.html | 9
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html | 133 +++
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html | 9
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html | 127 +++
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html | 227 +++---
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html | 304 ++++----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/compiling.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/concepts.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html | 277 ++++----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html | 368 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html | 36
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html | 33
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html | 384 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html | 239 +++---
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp_source.html | 141 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html | 5
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html | 104 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html | 26
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html | 44
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html | 34
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html | 33
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x63.html | 34
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x65.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x68.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x69.html | 5
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6e.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html | 34
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html | 33
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x73.html | 35
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html | 351 +---------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html | 67 +
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html | 7
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html | 1339 ++++++++++++++++++++-------------------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html | 241 ++----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__arithmetic.html | 11
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__boolean__relations.html | 56
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html | 18
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__centroid.html | 122 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__combine.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__concepts.html | 61 +
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convert.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convex__hull.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__core.html | 34 +
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__envelope.html | 74 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__intermediate.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__length.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__overlay.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__perimeter.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__sectionalize.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__selected.html | 22
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__svg.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__transform.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__utility.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html | 57
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/index.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp_source.html | 143 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html | 80 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html | 111 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html | 172 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html | 159 +++-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html | 136 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html | 164 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html | 83 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html | 81 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html | 81 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html | 246 ++----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html | 67 +
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html | 7
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html | 50
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html | 46
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaces.html | 1
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp_source.html | 28
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ogc.html | 5
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html | 40
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html | 22
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html | 144 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html | 194 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html | 129 +--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html | 112 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html | 20
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html | 152 ++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp_source.html | 121 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html | 274 ++++----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html | 43
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html | 26
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side-members.html | 5
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side.html | 49 +
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html | 824 ++++++++++++------------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html | 622 +++++++++---------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html | 381 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html | 2
214 files changed, 9811 insertions(+), 9729 deletions(-)
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/Doxyfile
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/Doxyfile (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/Doxyfile 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -86,7 +86,8 @@
../../../boost/ggl/algorithms/detail \
../../../boost/ggl/algorithms/overlay \
../../../boost/ggl/arithmetic \
- ../../../boost/ggl/core/concepts \
+ ../../../boost/ggl/geometries/concepts \
+ ../../../boost/ggl/geometries/concepts/detail \
../../../boost/ggl/geometries \
../../../boost/ggl/geometries/adapted \
../../../boost/ggl/geometries/register \
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/images/x01_qt_example_output.png
==============================================================================
Binary file. No diff available.
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/pages/doxygen_pages.hpp
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/pages/doxygen_pages.hpp (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/pages/doxygen_pages.hpp 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -24,7 +24,6 @@
There are concepts for
- points
- box
-- n-sphere (meaning circle or sphere)
- linestring
- ring (linear ring, a polygon without holes)
- polygon
@@ -55,7 +54,7 @@
- there should then be clear traits class to make a linestring empty
- there should then be a append_point traits class to add a poitn to a linestring
-There are also concepts for boxes, n-spheres, segments, rings and polygons.
+There are also concepts for boxes, segments, rings and polygons.
The Generic Geometry Library uses Boost Concept Check Library (BCCL) and Meta Programming Language (MPL) to define
@@ -102,7 +101,7 @@
An often used headerfile is geometries.hpp:
- \#include <ggl/geometries/geometries.hpp> This includes all default geometries: point, linestring,
- polygon, linear_ring, box, circle/sphere. It is not included in the "geometry.hpp" headerfile because
+ polygon, linear_ring, box. It is not included in the "geometry.hpp" headerfile because
users are allowed to use their own geometries. However, for library users who want to use the provided
geometries it is most useful.
@@ -239,9 +238,12 @@
Besides this the Generic Geometry Library provides the following additional classes:
- \ref ggl::box "box": Box, used for selections and for envelopes (bounding boxes)
-- \ref ggl::nsphere "n-sphere", meaning circle" and "sphere". Circle is convenient for selections
- \ref ggl::segment "segment": Segment, helper class, used for e.g. intersections
+Finally geometry types can be added as extensions. This is e.g. done with an
+"n-sphere" meaning circle" and "sphere". Circle is convenient for selections.
+
+
\section Algorithms
The Generic Geometry Library implements the following OGC algorithms, which are applicable to most or all geometries
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/01__point__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/01__point__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/01__point__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -101,7 +101,7 @@
<span class="comment">// 4: there is also an assign algorithm, in the same way as make, but not returning</span>
<a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> c4;
- <a name="a5"></a><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(c4, 1, 1);
+ <a name="a5"></a><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(c4, 1, 1);
<span class="comment">// 5: there is also a parse algorithm which takes strings (not so useful here, but</span>
<span class="comment">// convenient for geographic points using "32N", "18E" etc).</span>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -112,15 +112,15 @@
<span class="comment">// points can also be assigned using "assign" and added to a linestring using "append"</span>
<a name="_a2"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> lp;
- <a name="a3"></a><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(lp, 2.5, 2.1);
- <a name="a4"></a><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ls, lp);
+ <a name="a3"></a><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(lp, 2.5, 2.1);
+ <a name="a4"></a><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ls, lp);
<span class="comment">// Lines can be streamed using DSV (delimiter separated values)</span>
std::cout << <a name="a5"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(ls) << std::endl;
<span class="comment">// The bounding box of linestrings can be calculated</span>
<a name="_a6"></a><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a> b;
- <a name="a7"></a><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(ls, b);
+ <a name="a7"></a><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(ls, b);
std::cout << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b) << std::endl;
<span class="comment">// The length of the line can be calulated</span>
@@ -148,7 +148,7 @@
<span class="comment">// Add some three points more, let's do it using a classic array.</span>
<span class="comment">// (See documentation for picture of this linestring)</span>
<span class="keyword">const</span> <span class="keywordtype">double</span> c[][2] = { {3.1, 3.1}, {4.9, 1.1}, {3.1, 1.9} };
- <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ls, c);
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ls, c);
std::cout << <span class="stringliteral">"appended: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(ls) << std::endl;
<span class="comment">// Output as iterator-pair on a vector</span>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -87,12 +87,12 @@
{3.4, 2.0}, {4.1, 3.0}, {5.3, 2.6}, {5.4, 1.2}, {4.9, 0.8}, {2.9, 0.7},
{2.0, 1.3} <span class="comment">// closing point is opening point</span>
};
- <a name="a1"></a><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(poly, coor);
+ <a name="a1"></a><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(poly, coor);
}
<span class="comment">// Polygons should be closed, and directed clockwise. If you're not sure if that is the case,</span>
<span class="comment">// call the correct algorithm</span>
- <a name="a2"></a><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>(poly);
+ <a name="a2"></a><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>(poly);
<span class="comment">// Polygons can be streamed as text</span>
<span class="comment">// (or more precisely: as DSV (delimiter separated values))</span>
@@ -100,7 +100,7 @@
<span class="comment">// As with lines, bounding box of polygons can be calculated</span>
<a name="_a4"></a><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a> b;
- <a name="a5"></a><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(poly, b);
+ <a name="a5"></a><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(poly, b);
std::cout << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b) << std::endl;
<span class="comment">// The area of the polygon can be calulated</span>
@@ -108,7 +108,7 @@
<span class="comment">// And the centroid, which is the center of gravity</span>
<a name="_a7"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> cent;
- <a name="a8"></a><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(poly, cent);
+ <a name="a8"></a><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(poly, cent);
std::cout << <span class="stringliteral">"centroid: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(cent) << std::endl;
<span class="comment">// Actually in most cases you don't want the centroid, which is only defined for polygons.</span>
@@ -130,22 +130,22 @@
<a name="_a11"></a><a class="code" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring<point_2d></a>& inner = poly.<a class="code" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a>().back();
<span class="keyword">const</span> <span class="keywordtype">double</span> coor[][2] = { {4.0, 2.0}, {4.2, 1.4}, {4.8, 1.9}, {4.4, 2.2}, {4.0, 2.0} };
- <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(inner, coor);
+ <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(inner, coor);
}
- <a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>(poly);
+ <a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>(poly);
std::cout << <span class="stringliteral">"with inner ring:"</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(poly) << std::endl;
<span class="comment">// The area of the polygon is changed of course</span>
std::cout << <span class="stringliteral">"new area of polygon: "</span> << <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(poly) << std::endl;
- <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(poly, cent);
+ <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(poly, cent);
std::cout << <span class="stringliteral">"new centroid: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(cent) << std::endl;
<span class="comment">// You can test whether points are within a polygon</span>
std::cout << <span class="stringliteral">"point in polygon:"</span>
- << <span class="stringliteral">" p1: "</span> << boolstr(<a name="a12"></a><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(make<point_2d>(3.0, 2.0), poly))
- << <span class="stringliteral">" p2: "</span> << boolstr(<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(make<point_2d>(3.7, 2.0), poly))
- << <span class="stringliteral">" p3: "</span> << boolstr(<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(make<point_2d>(4.4, 2.0), poly))
+ << <span class="stringliteral">" p1: "</span> << boolstr(<a name="a12"></a><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>(make<point_2d>(3.0, 2.0), poly))
+ << <span class="stringliteral">" p2: "</span> << boolstr(<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>(make<point_2d>(3.7, 2.0), poly))
+ << <span class="stringliteral">" p3: "</span> << boolstr(<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>(make<point_2d>(4.4, 2.0), poly))
<< std::endl;
<span class="comment">// You can call for_each or for_each_segment on polygons to, this will visit all points / segments</span>
@@ -179,11 +179,11 @@
<span class="keyword">typedef</span> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon<point_2d, std::vector, std::deque></a> polygon_type;
polygon_type poly2;
<a name="_a14"></a><a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<polygon_type>::type</a>& ring = <a name="a15"></a><a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly2);
- <a name="a16"></a><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(2.8, 1.9));
- <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(2.9, 2.4));
- <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(3.3, 2.2));
- <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(3.2, 1.8));
- <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(2.8, 1.9));
+ <a name="a16"></a><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(2.8, 1.9));
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(2.9, 2.4));
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(3.3, 2.2));
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(3.2, 1.8));
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(ring, make<point_2d>(2.8, 1.9));
std::cout << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(poly2) << std::endl;
<span class="keywordflow">return</span> 0;
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/06__transformation__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/06__transformation__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/06__transformation__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -72,7 +72,7 @@
<span class="keyword">const</span> <span class="keywordtype">double</span> coor[][2] = { {0, 0}, {0, 7}, {2, 2}, {2, 0}, {0, 0} };
<span class="comment">// note that for this syntax you have to include the two</span>
<span class="comment">// include files above (c_array_cartesian.hpp, std_as_linestring.hpp)</span>
- <a name="a5"></a><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(poly, coor);
+ <a name="a5"></a><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(poly, coor);
<span class="comment">//read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))", poly);</span>
<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(poly, poly2, translate);
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/07__graph__route__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -167,7 +167,7 @@
{
ggl_vertex_property()
{
- <a name="a3"></a><a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">ggl::assign_zero</a>(location);
+ <a name="a3"></a><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">ggl::assign_zero</a>(location);
}
ggl_vertex_property(Point <span class="keyword">const</span>& loc)
{
@@ -216,7 +216,7 @@
= boost::add_vertex(graph);
<span class="comment">// Set the property (= location)</span>
- boost::put(<a name="a5"></a><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">boost::get</a>(vertex_ggl_property, graph), new_vertex,
+ boost::put(<a name="a5"></a><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">boost::get</a>(vertex_ggl_property, graph), new_vertex,
ggl_vertex_property<typename M::key_type>(key));
<span class="comment">// Add to the map, using POINT as key</span>
@@ -290,10 +290,10 @@
{
<span class="comment">// Get properties of edge and of vertex</span>
ggl_edge_property<Route> <span class="keyword">const</span>& edge_prop =
- <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">boost::get</a>(<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">boost::get</a>(edge_ggl_property, graph), opt_edge.first);
+ <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">boost::get</a>(<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">boost::get</a>(edge_ggl_property, graph), opt_edge.first);
ggl_vertex_property<typename ggl::point_type<Route>::type> <span class="keyword">const</span>& vertex_prop =
- <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">boost::get</a>(<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">boost::get</a>(vertex_ggl_property, graph), vertex2);
+ <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">boost::get</a>(<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">boost::get</a>(vertex_ggl_property, graph), vertex2);
<span class="comment">// Depending on how edge connects to vertex, copy it forward or backward</span>
<span class="keywordflow">if</span> (<a name="a7"></a><a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">ggl::equals</a>(edge_prop.line().front(), vertex_prop.location))
@@ -349,7 +349,7 @@
<span class="comment">// Init a bounding box, lateron used to define SVG map</span>
<a name="_a10"></a><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box_2d</a> box;
- <a name="a11"></a><a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">ggl::assign_inverse</a>(box);
+ <a name="a11"></a><a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">ggl::assign_inverse</a>(box);
<span class="comment">// Read the cities</span>
<span class="keyword">typedef</span> boost::tuple<point_type, std::string, vertex_type> city_type;
@@ -386,8 +386,8 @@
<span class="comment">// Call Dijkstra (without named-parameter to be compatible with all VC)</span>
boost::dijkstra_shortest_paths(graph, city1.get<2>(),
&predecessors[0], &costs[0],
- <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">boost::get</a>(edge_ggl_property, graph),
- <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">boost::get</a>(boost::vertex_index, graph),
+ <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">boost::get</a>(edge_ggl_property, graph),
+ <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">boost::get</a>(boost::vertex_index, graph),
std::less<double>(), std::plus<double>(),
(std::numeric_limits<double>::max)(), <span class="keywordtype">double</span>(),
boost::dijkstra_visitor<boost::null_visitor>());
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,6 +50,12 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access< Geometry, Dimension ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point< Geometry, Point ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear< Geometry ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access< Geometry, Index, Dimension ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class defining "get" and "set" to get and set <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> coordinate values. More...<br></td></tr>
@@ -69,7 +75,7 @@
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t D, typename G > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type< G >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">ggl::get</a> (const G &geometry, detail::signature_getset_dimension *dummy=0)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t I, std::size_t D, typename G > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">ggl::set</a> (G &geometry, const typename coordinate_type< G >::type &value, detail::signature_getset_index_dimension *dummy=0)</td></tr>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/access_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -69,220 +69,224 @@
<a name="l00027"></a><a class="code" href="namespaceggl_1_1traits.html">00027</a> <span class="keyword">namespace </span>traits
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029
-<a name="l00042"></a>00042 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Dimension>
-<a name="l00043"></a><a class="code" href="structggl_1_1traits_1_1access.html">00043</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> {};
+<a name="l00041"></a>00041 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Dimension>
+<a name="l00042"></a><a class="code" href="structggl_1_1traits_1_1access.html">00042</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> {};
+<a name="l00043"></a>00043
<a name="l00044"></a>00044
-<a name="l00045"></a>00045
-<a name="l00059"></a>00059 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Dimension>
-<a name="l00060"></a><a class="code" href="structggl_1_1traits_1_1indexed__access.html">00060</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1indexed__access.html" title="Traits class defining &quot;get&quot; and &quot;set&quot; to get and set point coordinate...">indexed_access</a> {};
+<a name="l00058"></a>00058 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Dimension>
+<a name="l00059"></a><a class="code" href="structggl_1_1traits_1_1indexed__access.html">00059</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1indexed__access.html" title="Traits class defining &quot;get&quot; and &quot;set&quot; to get and set point coordinate...">indexed_access</a> {};
+<a name="l00060"></a>00060
<a name="l00061"></a>00061
-<a name="l00062"></a>00062
-<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00077"></a><a class="code" href="structggl_1_1traits_1_1use__std.html">00077</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">use_std</a>
-<a name="l00078"></a>00078 {
-<a name="l00079"></a><a class="code" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">00079</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">value</a> = <span class="keyword">true</span>;
-<a name="l00080"></a>00080 };
+<a name="l00075"></a>00075 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00076"></a><a class="code" href="structggl_1_1traits_1_1use__std.html">00076</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">use_std</a>
+<a name="l00077"></a>00077 {
+<a name="l00078"></a><a class="code" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">00078</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1traits_1_1use__std.html#53e09180303edd2ec2735f749db2305d">value</a> = <span class="keyword">true</span>;
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
<a name="l00081"></a>00081
-<a name="l00082"></a>00082 } <span class="comment">// namespace traits</span>
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">template</span>
-<a name="l00090"></a>00090 <
-<a name="l00091"></a>00091 <span class="keyword">typename</span> Tag,
-<a name="l00092"></a>00092 <span class="keyword">typename</span> Geometry,
-<a name="l00093"></a>00093 <span class="keyword">typename</span>
-<a name="l00094"></a>00094 CoordinateType, std::size_t Dimension
-<a name="l00095"></a>00095 >
-<a name="l00096"></a>00096 <span class="keyword">struct </span>access
-<a name="l00097"></a>00097 {
-<a name="l00098"></a>00098 <span class="comment">//static inline T get(const G& ) {}</span>
-<a name="l00099"></a>00099 <span class="comment">//static inline void set(G& g, T const& value) {}</span>
-<a name="l00100"></a>00100 };
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keyword">template</span>
-<a name="l00103"></a>00103 <
-<a name="l00104"></a>00104 <span class="keyword">typename</span> Tag,
-<a name="l00105"></a>00105 <span class="keyword">typename</span> Geometry,
-<a name="l00106"></a>00106 <span class="keyword">typename</span> CoordinateType,
-<a name="l00107"></a>00107 std::size_t Index,
-<a name="l00108"></a>00108 std::size_t Dimension
-<a name="l00109"></a>00109 >
-<a name="l00110"></a>00110 <span class="keyword">struct </span>indexed_access
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112 <span class="comment">//static inline T get(const G& ) {}</span>
-<a name="l00113"></a>00113 <span class="comment">//static inline void set(G& g, T const& value) {}</span>
+<a name="l00082"></a>00082
+<a name="l00094"></a>00094 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00095"></a><a class="code" href="structggl_1_1traits_1_1clear.html">00095</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a>
+<a name="l00096"></a>00096 {};
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00111"></a>00111 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00112"></a><a class="code" href="structggl_1_1traits_1_1append__point.html">00112</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1append__point.html" title="Traits class, optional, might be implemented to append a point.">append_point</a>
+<a name="l00113"></a>00113 {
<a name="l00114"></a>00114 };
<a name="l00115"></a>00115
-<a name="l00116"></a>00116 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension>
-<a name="l00117"></a>00117 <span class="keyword">struct </span>access<point_tag, Point, CoordinateType, Dimension>
-<a name="l00118"></a>00118 {
-<a name="l00119"></a>00119 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Point <span class="keyword">const</span>& point)
-<a name="l00120"></a>00120 {
-<a name="l00121"></a>00121 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::access<Point, Dimension>::get</a>(point);
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Point& p, CoordinateType <span class="keyword">const</span>& value)
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::access<Point, Dimension>::set</a>(p, value);
-<a name="l00126"></a>00126 }
-<a name="l00127"></a>00127 };
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <span class="keyword">template</span> <<span class="keyword">typename</span> Nsphere, <span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension>
-<a name="l00130"></a>00130 <span class="keyword">struct </span>access<nsphere_tag, Nsphere, CoordinateType, Dimension>
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Nsphere <span class="keyword">const</span>& nsphere)
-<a name="l00133"></a>00133 {
-<a name="l00134"></a>00134 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::access<Nsphere, Dimension>::get</a>(nsphere);
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Nsphere& s, CoordinateType <span class="keyword">const</span>& value)
-<a name="l00137"></a>00137 {
-<a name="l00138"></a>00138 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::access<Nsphere, Dimension>::set</a>(s, value);
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140 };
-<a name="l00141"></a>00141
-<a name="l00142"></a>00142 <span class="keyword">template</span>
-<a name="l00143"></a>00143 <
-<a name="l00144"></a>00144 <span class="keyword">typename</span> Box,
-<a name="l00145"></a>00145 <span class="keyword">typename</span> CoordinateType,
-<a name="l00146"></a>00146 std::size_t Index,
-<a name="l00147"></a>00147 std::size_t Dimension
-<a name="l00148"></a>00148 >
-<a name="l00149"></a>00149 <span class="keyword">struct </span>indexed_access<box_tag, Box, CoordinateType, Index, Dimension>
-<a name="l00150"></a>00150 {
-<a name="l00151"></a>00151 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Box <span class="keyword">const</span>& box)
-<a name="l00152"></a>00152 {
-<a name="l00153"></a>00153 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::indexed_access<Box, Index, Dimension>::get</a>(box);
-<a name="l00154"></a>00154 }
-<a name="l00155"></a>00155 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Box& b, CoordinateType <span class="keyword">const</span>& value)
-<a name="l00156"></a>00156 {
-<a name="l00157"></a>00157 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access<Box, Index, Dimension>::set</a>(b, value);
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159 };
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="keyword">template</span>
-<a name="l00162"></a>00162 <
-<a name="l00163"></a>00163 <span class="keyword">typename</span> Segment,
-<a name="l00164"></a>00164 <span class="keyword">typename</span> CoordinateType,
-<a name="l00165"></a>00165 std::size_t Index,
-<a name="l00166"></a>00166 std::size_t Dimension
-<a name="l00167"></a>00167 >
-<a name="l00168"></a>00168 <span class="keyword">struct </span>indexed_access<segment_tag, Segment, CoordinateType, Index, Dimension>
-<a name="l00169"></a>00169 {
-<a name="l00170"></a>00170 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Segment <span class="keyword">const</span>& segment)
-<a name="l00171"></a>00171 {
-<a name="l00172"></a>00172 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::indexed_access<Segment, Index, Dimension>::get</a>(segment);
-<a name="l00173"></a>00173 }
-<a name="l00174"></a>00174 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Segment& segment, CoordinateType <span class="keyword">const</span>& value)
-<a name="l00175"></a>00175 {
-<a name="l00176"></a>00176 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access<Segment, Index, Dimension>::set</a>(segment, value);
-<a name="l00177"></a>00177 }
-<a name="l00178"></a>00178 };
-<a name="l00179"></a>00179
-<a name="l00180"></a>00180 } <span class="comment">// namespace core_dispatch</span>
-<a name="l00181"></a>00181 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00182"></a>00182 <span class="preprocessor"></span>
-<a name="l00183"></a>00183
-<a name="l00184"></a>00184 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00185"></a>00185 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
-<a name="l00186"></a>00186 {
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <span class="comment">// Two dummy tags to distinguish get/set variants below.</span>
-<a name="l00189"></a>00189 <span class="comment">// They don't have to be specified by the user. The functions are distinguished</span>
-<a name="l00190"></a>00190 <span class="comment">// by template signature also, but for e.g. GCC this is not enough. So give them</span>
-<a name="l00191"></a>00191 <span class="comment">// a different signature.</span>
-<a name="l00192"></a>00192 <span class="keyword">struct </span>signature_getset_dimension {};
-<a name="l00193"></a>00193 <span class="keyword">struct </span>signature_getset_index_dimension {};
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 } <span class="comment">// namespace detail</span>
-<a name="l00196"></a>00196 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00197"></a>00197 <span class="preprocessor"></span>
-<a name="l00198"></a>00198
-<a name="l00208"></a>00208 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G>
-<a name="l00209"></a><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">00209</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G& geometry,
-<a name="l00210"></a>00210 detail::signature_getset_dimension* dummy = 0)
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 } <span class="comment">// namespace traits</span>
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <span class="keyword">template</span>
+<a name="l00128"></a>00128 <
+<a name="l00129"></a>00129 <span class="keyword">typename</span> Tag,
+<a name="l00130"></a>00130 <span class="keyword">typename</span> Geometry,
+<a name="l00131"></a>00131 <span class="keyword">typename</span>
+<a name="l00132"></a>00132 CoordinateType, std::size_t Dimension
+<a name="l00133"></a>00133 >
+<a name="l00134"></a>00134 <span class="keyword">struct </span>access
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="comment">//static inline T get(const G& ) {}</span>
+<a name="l00137"></a>00137 <span class="comment">//static inline void set(G& g, T const& value) {}</span>
+<a name="l00138"></a>00138 };
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keyword">template</span>
+<a name="l00141"></a>00141 <
+<a name="l00142"></a>00142 <span class="keyword">typename</span> Tag,
+<a name="l00143"></a>00143 <span class="keyword">typename</span> Geometry,
+<a name="l00144"></a>00144 <span class="keyword">typename</span> CoordinateType,
+<a name="l00145"></a>00145 std::size_t Index,
+<a name="l00146"></a>00146 std::size_t Dimension
+<a name="l00147"></a>00147 >
+<a name="l00148"></a>00148 <span class="keyword">struct </span>indexed_access
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 <span class="comment">//static inline T get(const G& ) {}</span>
+<a name="l00151"></a>00151 <span class="comment">//static inline void set(G& g, T const& value) {}</span>
+<a name="l00152"></a>00152 };
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension>
+<a name="l00155"></a>00155 <span class="keyword">struct </span>access<point_tag, Point, CoordinateType, Dimension>
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Point <span class="keyword">const</span>& point)
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">traits::access<Point, Dimension>::get</a>(point);
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Point& p, CoordinateType <span class="keyword">const</span>& value)
+<a name="l00162"></a>00162 {
+<a name="l00163"></a>00163 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::access<Point, Dimension>::set</a>(p, value);
+<a name="l00164"></a>00164 }
+<a name="l00165"></a>00165 };
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="keyword">template</span>
+<a name="l00168"></a>00168 <
+<a name="l00169"></a>00169 <span class="keyword">typename</span> Box,
+<a name="l00170"></a>00170 <span class="keyword">typename</span> CoordinateType,
+<a name="l00171"></a>00171 std::size_t Index,
+<a name="l00172"></a>00172 std::size_t Dimension
+<a name="l00173"></a>00173 >
+<a name="l00174"></a>00174 <span class="keyword">struct </span>indexed_access<box_tag, Box, CoordinateType, Index, Dimension>
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Box <span class="keyword">const</span>& box)
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">traits::indexed_access<Box, Index, Dimension>::get</a>(box);
+<a name="l00179"></a>00179 }
+<a name="l00180"></a>00180 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Box& b, CoordinateType <span class="keyword">const</span>& value)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access<Box, Index, Dimension>::set</a>(b, value);
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184 };
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keyword">template</span>
+<a name="l00187"></a>00187 <
+<a name="l00188"></a>00188 <span class="keyword">typename</span> Segment,
+<a name="l00189"></a>00189 <span class="keyword">typename</span> CoordinateType,
+<a name="l00190"></a>00190 std::size_t Index,
+<a name="l00191"></a>00191 std::size_t Dimension
+<a name="l00192"></a>00192 >
+<a name="l00193"></a>00193 <span class="keyword">struct </span>indexed_access<segment_tag, Segment, CoordinateType, Index, Dimension>
+<a name="l00194"></a>00194 {
+<a name="l00195"></a>00195 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(Segment <span class="keyword">const</span>& segment)
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">traits::indexed_access<Segment, Index, Dimension>::get</a>(segment);
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(Segment& segment, CoordinateType <span class="keyword">const</span>& value)
+<a name="l00200"></a>00200 {
+<a name="l00201"></a>00201 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::indexed_access<Segment, Index, Dimension>::set</a>(segment, value);
+<a name="l00202"></a>00202 }
+<a name="l00203"></a>00203 };
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00206"></a>00206 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00207"></a>00207 <span class="preprocessor"></span>
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00210"></a>00210 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
<a name="l00211"></a>00211 {
-<a name="l00212"></a>00212 boost::ignore_unused_variable_warning(dummy);
-<a name="l00213"></a>00213
-<a name="l00214"></a>00214 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216 <span class="keyword">typedef</span> core_dispatch::access
-<a name="l00217"></a>00217 <
-<a name="l00218"></a>00218 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00219"></a>00219 ncg_type,
-<a name="l00220"></a>00220 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<ncg_type>::type</a>,
-<a name="l00221"></a>00221 D
-<a name="l00222"></a>00222 > coord_access_type;
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="comment">// Two dummy tags to distinguish get/set variants below.</span>
+<a name="l00214"></a>00214 <span class="comment">// They don't have to be specified by the user. The functions are distinguished</span>
+<a name="l00215"></a>00215 <span class="comment">// by template signature also, but for e.g. GCC this is not enough. So give them</span>
+<a name="l00216"></a>00216 <span class="comment">// a different signature.</span>
+<a name="l00217"></a>00217 <span class="keyword">struct </span>signature_getset_dimension {};
+<a name="l00218"></a>00218 <span class="keyword">struct </span>signature_getset_index_dimension {};
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 } <span class="comment">// namespace detail</span>
+<a name="l00221"></a>00221 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00222"></a>00222 <span class="preprocessor"></span>
<a name="l00223"></a>00223
-<a name="l00224"></a>00224 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">coord_access_type::get</a>(geometry);
-<a name="l00225"></a>00225 }
-<a name="l00226"></a>00226
-<a name="l00227"></a>00227
-<a name="l00237"></a>00237 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G>
-<a name="l00238"></a><a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">00238</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G& geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a>& value,
-<a name="l00239"></a>00239 detail::signature_getset_dimension* dummy = 0)
-<a name="l00240"></a>00240 {
-<a name="l00241"></a>00241 boost::ignore_unused_variable_warning(dummy);
-<a name="l00242"></a>00242
-<a name="l00243"></a>00243 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
-<a name="l00244"></a>00244
-<a name="l00245"></a>00245 <span class="keyword">typedef</span> core_dispatch::access
-<a name="l00246"></a>00246 <
-<a name="l00247"></a>00247 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00248"></a>00248 ncg_type,
-<a name="l00249"></a>00249 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<ncg_type>::type</a>,
-<a name="l00250"></a>00250 D
-<a name="l00251"></a>00251 > coord_access_type;
+<a name="l00233"></a>00233 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G>
+<a name="l00234"></a><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">00234</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G& geometry,
+<a name="l00235"></a>00235 detail::signature_getset_dimension* dummy = 0)
+<a name="l00236"></a>00236 {
+<a name="l00237"></a>00237 boost::ignore_unused_variable_warning(dummy);
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="keyword">typedef</span> core_dispatch::access
+<a name="l00242"></a>00242 <
+<a name="l00243"></a>00243 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
+<a name="l00244"></a>00244 ncg_type,
+<a name="l00245"></a>00245 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<ncg_type>::type</a>,
+<a name="l00246"></a>00246 D
+<a name="l00247"></a>00247 > coord_access_type;
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">coord_access_type::get</a>(geometry);
+<a name="l00250"></a>00250 }
+<a name="l00251"></a>00251
<a name="l00252"></a>00252
-<a name="l00253"></a>00253 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
-<a name="l00254"></a>00254 }
-<a name="l00255"></a>00255
-<a name="l00256"></a>00256 <span class="comment">// Note: doxygen needs a construct to distinguish get/set (like the gcc compiler)</span>
-<a name="l00257"></a>00257
-<a name="l00268"></a>00268 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G>
-<a name="l00269"></a><a class="code" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">00269</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G& geometry,
-<a name="l00270"></a>00270 detail::signature_getset_index_dimension* dummy = 0)
-<a name="l00271"></a>00271 {
-<a name="l00272"></a>00272 boost::ignore_unused_variable_warning(dummy);
-<a name="l00273"></a>00273
-<a name="l00274"></a>00274 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
-<a name="l00275"></a>00275
-<a name="l00276"></a>00276 <span class="keyword">typedef</span> core_dispatch::indexed_access
-<a name="l00277"></a>00277 <
-<a name="l00278"></a>00278 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00279"></a>00279 ncg_type,
-<a name="l00280"></a>00280 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<ncg_type>::type</a>,
-<a name="l00281"></a>00281 I,
-<a name="l00282"></a>00282 D
-<a name="l00283"></a>00283 > coord_access_type;
-<a name="l00284"></a>00284
-<a name="l00285"></a>00285 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">coord_access_type::get</a>(geometry);
-<a name="l00286"></a>00286 }
-<a name="l00287"></a>00287
-<a name="l00298"></a>00298 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G>
-<a name="l00299"></a><a class="code" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">00299</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G& geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a>& value,
-<a name="l00300"></a>00300 detail::signature_getset_index_dimension* dummy = 0)
-<a name="l00301"></a>00301 {
-<a name="l00302"></a>00302 boost::ignore_unused_variable_warning(dummy);
-<a name="l00303"></a>00303
-<a name="l00304"></a>00304 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
-<a name="l00305"></a>00305
-<a name="l00306"></a>00306 <span class="keyword">typedef</span> core_dispatch::indexed_access
-<a name="l00307"></a>00307 <
-<a name="l00308"></a>00308 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>, ncg_type,
-<a name="l00309"></a>00309 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<ncg_type>::type</a>,
-<a name="l00310"></a>00310 I,
-<a name="l00311"></a>00311 D
-<a name="l00312"></a>00312 > coord_access_type;
-<a name="l00313"></a>00313
-<a name="l00314"></a>00314 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
-<a name="l00315"></a>00315 }
-<a name="l00316"></a>00316
-<a name="l00317"></a>00317 } <span class="comment">// namespace ggl</span>
-<a name="l00318"></a>00318
-<a name="l00319"></a>00319 <span class="preprocessor">#endif // GGL_CORE_ACCESS_HPP</span>
+<a name="l00262"></a>00262 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G>
+<a name="l00263"></a><a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">00263</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G& geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a>& value,
+<a name="l00264"></a>00264 detail::signature_getset_dimension* dummy = 0)
+<a name="l00265"></a>00265 {
+<a name="l00266"></a>00266 boost::ignore_unused_variable_warning(dummy);
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 <span class="keyword">typedef</span> core_dispatch::access
+<a name="l00271"></a>00271 <
+<a name="l00272"></a>00272 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
+<a name="l00273"></a>00273 ncg_type,
+<a name="l00274"></a>00274 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<ncg_type>::type</a>,
+<a name="l00275"></a>00275 D
+<a name="l00276"></a>00276 > coord_access_type;
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
+<a name="l00279"></a>00279 }
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="comment">// Note: doxygen needs a construct to distinguish get/set (like the gcc compiler)</span>
+<a name="l00282"></a>00282
+<a name="l00293"></a>00293 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G>
+<a name="l00294"></a><a class="code" href="group__access.html#gd3c007fcbae837d56d13aa77ed03f920">00294</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a> <span class="keyword">get</span>(<span class="keyword">const</span> G& geometry,
+<a name="l00295"></a>00295 detail::signature_getset_index_dimension* dummy = 0)
+<a name="l00296"></a>00296 {
+<a name="l00297"></a>00297 boost::ignore_unused_variable_warning(dummy);
+<a name="l00298"></a>00298
+<a name="l00299"></a>00299 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="keyword">typedef</span> core_dispatch::indexed_access
+<a name="l00302"></a>00302 <
+<a name="l00303"></a>00303 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
+<a name="l00304"></a>00304 ncg_type,
+<a name="l00305"></a>00305 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<ncg_type>::type</a>,
+<a name="l00306"></a>00306 I,
+<a name="l00307"></a>00307 D
+<a name="l00308"></a>00308 > coord_access_type;
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">coord_access_type::get</a>(geometry);
+<a name="l00311"></a>00311 }
+<a name="l00312"></a>00312
+<a name="l00323"></a>00323 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> G>
+<a name="l00324"></a><a class="code" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">00324</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(G& geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a>& value,
+<a name="l00325"></a>00325 detail::signature_getset_index_dimension* dummy = 0)
+<a name="l00326"></a>00326 {
+<a name="l00327"></a>00327 boost::ignore_unused_variable_warning(dummy);
+<a name="l00328"></a>00328
+<a name="l00329"></a>00329 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
+<a name="l00330"></a>00330
+<a name="l00331"></a>00331 <span class="keyword">typedef</span> core_dispatch::indexed_access
+<a name="l00332"></a>00332 <
+<a name="l00333"></a>00333 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>, ncg_type,
+<a name="l00334"></a>00334 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<ncg_type>::type</a>,
+<a name="l00335"></a>00335 I,
+<a name="l00336"></a>00336 D
+<a name="l00337"></a>00337 > coord_access_type;
+<a name="l00338"></a>00338
+<a name="l00339"></a>00339 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">coord_access_type::set</a>(geometry, value);
+<a name="l00340"></a>00340 }
+<a name="l00341"></a>00341
+<a name="l00342"></a>00342 } <span class="comment">// namespace ggl</span>
+<a name="l00343"></a>00343
+<a name="l00344"></a>00344 <span class="preprocessor">#endif // GGL_CORE_ACCESS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/adapt__turns_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -48,8 +48,8 @@
<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ADAPT_TURNS_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ADAPT_TURNS_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_OVERLAY_ADAPT_TURNS_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_OVERLAY_ADAPT_TURNS_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <algorithm></span>
<a name="l00013"></a>00013
@@ -595,7 +595,7 @@
<a name="l00553"></a>00553
<a name="l00554"></a>00554 } <span class="comment">// namespace ggl</span>
<a name="l00555"></a>00555
-<a name="l00556"></a>00556 <span class="preprocessor">#endif // GGL_ADAPT_TURNS_HPP</span>
+<a name="l00556"></a>00556 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_ADAPT_TURNS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/strategies/agnostic/agn_within.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< P, PS ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::winding< P, PS >::windings</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a></td></tr>
-
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__within_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,216 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/strategies/agnostic/agn_within.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_AGNOSTIC_WITHIN_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_AGNOSTIC_WITHIN_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
-<a name="l00021"></a>00021 {
-<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
-<a name="l00023"></a>00023 {
-<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1within.html">00024</a> <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>
-<a name="l00025"></a>00025 {
-<a name="l00026"></a>00026
-<a name="l00037"></a>00037 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS = P>
-<a name="l00038"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html">00038</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a>
-<a name="l00039"></a>00039 {
-<a name="l00040"></a>00040 <span class="keyword">private</span> :
-<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P>::type</a> PT;
-<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<PS>::type</a> ST;
-<a name="l00043"></a>00043
-<a name="l00045"></a>00045 <span class="keyword">struct </span>windings
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 <span class="keywordtype">int</span> count;
-<a name="l00048"></a>00048 <span class="keywordtype">bool</span> touches;
-<a name="l00049"></a>00049 <span class="keyword">const</span> P& p;
-<a name="l00050"></a>00050 <span class="keyword">inline</span> <span class="keyword">explicit</span> windings(<span class="keyword">const</span> P& ap)
-<a name="l00051"></a>00051 : count(0)
-<a name="l00052"></a>00052 , touches(<span class="keyword">false</span>)
-<a name="l00053"></a>00053 , p(ap)
-<a name="l00054"></a>00054 {}
-<a name="l00055"></a>00055 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>()<span class="keyword"> const</span>
-<a name="l00056"></a>00056 <span class="keyword"> </span>{
-<a name="l00057"></a>00057 <span class="keywordflow">return</span> ! touches && count != 0;
-<a name="l00058"></a>00058 }
-<a name="l00059"></a>00059 };
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D>
-<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_touch(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a>& s, windings& state)
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 <span class="keyword">const</span> PT& p = get<D>(state.p);
-<a name="l00065"></a>00065 <span class="keyword">const</span> ST& s1 = get<0, D>(s);
-<a name="l00066"></a>00066 <span class="keyword">const</span> ST& s2 = get<1, D>(s);
-<a name="l00067"></a>00067 <span class="keywordflow">if</span> ((s1 <= p && s2 >= p) || (s2 <= p && s1 >= p))
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 state.touches = <span class="keyword">true</span>;
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> 0;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D>
-<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_segment(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a>& s, windings& state)
-<a name="l00077"></a>00077 {
-<a name="l00078"></a>00078 <span class="keyword">const</span> PT& p = get<D>(state.p);
-<a name="l00079"></a>00079 <span class="keyword">const</span> ST& s1 = get<0, D>(s);
-<a name="l00080"></a>00080 <span class="keyword">const</span> ST& s2 = get<1, D>(s);
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="comment">// Check if one of segment endpoints is at same level of point</span>
-<a name="l00083"></a>00083 <span class="keywordtype">bool</span> eq1 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(s1, p);
-<a name="l00084"></a>00084 <span class="keywordtype">bool</span> eq2 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(s2, p);
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> (eq1 && eq2)
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="comment">// Both equal p -> segment is horizontal (or vertical for D=0)</span>
-<a name="l00089"></a>00089 <span class="comment">// The only thing which has to be done is check if point is ON segment</span>
-<a name="l00090"></a>00090 <span class="keywordflow">return</span> check_touch<1 - D>(s, state);
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keywordflow">return</span>
-<a name="l00094"></a>00094 eq1 ? (s2 > p ? 1 : -1) <span class="comment">// P on level s1, UP/DOWN depending on s2</span>
-<a name="l00095"></a>00095 : eq2 ? (s1 > p ? -1 : 1) <span class="comment">// idem</span>
-<a name="l00096"></a>00096 : s1 < p && s2 > p ? 2 <span class="comment">// P between s1 -> s2 --> UP</span>
-<a name="l00097"></a>00097 : s2 < p && s1 > p ? -2 <span class="comment">// P between s2 -> s1 --> DOWN</span>
-<a name="l00098"></a>00098 : 0;
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keyword">public</span> :
-<a name="l00103"></a>00103
-<a name="l00104"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">00104</a> <span class="keyword">typedef</span> windings <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a>;
-<a name="l00105"></a>00105
-<a name="l00106"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">00106</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a>(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a>& s, <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a>& state)<span class="keyword"> const</span>
-<a name="l00107"></a>00107 <span class="keyword"> </span>{
-<a name="l00108"></a>00108 <span class="keywordtype">int</span> cnt = check_segment<1>(s, state);
-<a name="l00109"></a>00109 <span class="keywordflow">if</span> (cnt != 0)
-<a name="l00110"></a>00110 {
-<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__side.html" title="Traits class binding a side determination strategy to a coordinate system.">strategy_side<typename cs_tag<P>::type</a>, P, PS>::type SS;
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type<P, PS>::type</a> side = SS::side(s, state.p);
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 <span class="keywordflow">if</span> (<a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">math::equals</a>(side, 0))
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 <span class="comment">// Point is lying on segment</span>
-<a name="l00118"></a>00118 state.touches = <span class="keyword">true</span>;
-<a name="l00119"></a>00119 state.count = 0;
-<a name="l00120"></a>00120 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="comment">// Side is NEG for right, POS for left.</span>
-<a name="l00124"></a>00124 <span class="comment">// CNT is -2 for down, 2 for up (or -1/1)</span>
-<a name="l00125"></a>00125 <span class="comment">// Side positive thus means UP and LEFTSIDE or DOWN and RIGHTSIDE</span>
-<a name="l00126"></a>00126 <span class="comment">// See accompagnying figure (TODO)</span>
-<a name="l00127"></a>00127 <span class="keywordtype">int</span> sd = (side > 0 ? 1 : -1) * cnt;
-<a name="l00128"></a>00128 <span class="keywordflow">if</span> (sd > 0)
-<a name="l00129"></a>00129 {
-<a name="l00130"></a>00130 state.count += cnt;
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 }
-<a name="l00134"></a>00134 <span class="keywordflow">return</span> ! state.touches;
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 };
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 } <span class="comment">// namespace within</span>
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 } <span class="comment">// namespace strategy</span>
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS>
-<a name="l00146"></a>00146 <span class="keyword">struct </span>strategy_within<cartesian_tag, cartesian_tag, P, PS>
-<a name="l00147"></a>00147 {
-<a name="l00148"></a>00148 <span class="keyword">typedef</span> strategy::within::winding<P, PS> <a class="code" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">type</a>;
-<a name="l00149"></a>00149 };
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS>
-<a name="l00152"></a>00152 <span class="keyword">struct </span>strategy_within<geographic_tag, geographic_tag, P, PS>
-<a name="l00153"></a>00153 {
-<a name="l00154"></a>00154 <span class="keyword">typedef</span> strategy::within::winding<P, PS> <a class="code" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">type</a>;
-<a name="l00155"></a>00155 };
-<a name="l00156"></a>00156 <span class="preprocessor">#endif</span>
-<a name="l00157"></a>00157 <span class="preprocessor"></span>
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 } <span class="comment">// namespace ggl</span>
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_WITHIN_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,136 +51,130 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_AREA_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_AREA_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00015"></a>00015
<a name="l00016"></a>00016
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="point__order_8hpp.html">ggl/core/point_order.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>></span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>></span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="calculate__sum_8hpp.html">ggl/algorithms/detail/calculate_sum.hpp</a>></span>
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="area__result_8hpp.html">ggl/strategies/area_result.hpp</a>></span>
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="preprocessor">#include <<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="point__order_8hpp.html">ggl/core/point_order.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="calculate__sum_8hpp.html">ggl/algorithms/detail/calculate_sum.hpp</a>></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="area__result_8hpp.html">ggl/strategies/area_result.hpp</a>></span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#include <<a class="code" href="area__concept_8hpp.html">ggl/strategies/concepts/area_concept.hpp</a>></span>
+<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
<a name="l00033"></a>00033
-<a name="l00056"></a>00056 <span class="keyword">namespace </span>ggl
-<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> {
+<a name="l00059"></a>00059 <span class="keyword">namespace </span>ggl
+<a name="l00060"></a>00060 {
<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <span class="keyword">template</span><<span class="keyword">typename</span> B, <span class="keyword">typename</span> S>
-<a name="l00063"></a>00063 <span class="keyword">struct </span>box_area
-<a name="l00064"></a>00064 {
-<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> return_type;
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(B <span class="keyword">const</span>& b, S <span class="keyword">const</span>&)
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <span class="comment">// Currently only works for Cartesian boxes</span>
-<a name="l00070"></a>00070 <span class="comment">// Todo: use strategy</span>
-<a name="l00071"></a>00071 <span class="comment">// Todo: use concept</span>
-<a name="l00072"></a>00072 assert_dimension<B, 2>();
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 return_type <span class="keyword">const</span> dx = get<max_corner, 0>(b) - get<min_corner, 0>(b);
-<a name="l00075"></a>00075 return_type <span class="keyword">const</span> dy = get<max_corner, 1>(b) - get<min_corner, 1>(b);
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keywordflow">return</span> dx * dy;
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079 };
+<a name="l00062"></a>00062 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> {
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span><<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00066"></a>00066 <span class="keyword">struct </span>box_area
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Box>::type return_type;
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(Box <span class="keyword">const</span>& box, Strategy <span class="keyword">const</span>&)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="comment">// Currently only works for 2D Cartesian boxes</span>
+<a name="l00073"></a>00073 <span class="comment">// Todo: use extreme-strategy</span>
+<a name="l00074"></a>00074 assert_dimension<Box, 2>();
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 return_type <span class="keyword">const</span> dx = get<max_corner, 0>(box)
+<a name="l00077"></a>00077 - get<min_corner, 0>(box);
+<a name="l00078"></a>00078 return_type <span class="keyword">const</span> dy = get<max_corner, 1>(box)
+<a name="l00079"></a>00079 - get<min_corner, 1>(box);
<a name="l00080"></a>00080
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="keyword">template</span><<span class="keyword">typename</span> C, <span class="keyword">typename</span> S>
-<a name="l00083"></a>00083 <span class="keyword">struct </span>circle_area
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<C>::type coordinate_type;
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> dx * dy;
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085
<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="comment">// Returning the coordinate precision, but if integer, returning a double</span>
-<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
-<a name="l00089"></a>00089 <
-<a name="l00090"></a>00090 boost::is_integral<coordinate_type>::type::value,
-<a name="l00091"></a>00091 double,
-<a name="l00092"></a>00092 coordinate_type
-<a name="l00093"></a>00093 >::type return_type;
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(C <span class="keyword">const</span>& c, S <span class="keyword">const</span>&)
-<a name="l00096"></a>00096 {
-<a name="l00097"></a>00097 <span class="comment">// Currently only works for Cartesian circles</span>
-<a name="l00098"></a>00098 <span class="comment">// Todo: use strategy</span>
-<a name="l00099"></a>00099 <span class="comment">// Todo: use concept</span>
-<a name="l00100"></a>00100 assert_dimension<C, 2>();
+<a name="l00087"></a>00087
+<a name="l00091"></a>00091 <span class="keyword">template</span>
+<a name="l00092"></a>00092 <
+<a name="l00093"></a>00093 <span class="keyword">typename</span> Ring,
+<a name="l00094"></a>00094 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00095"></a>00095 <span class="comment">// closing_selector Closed -- for now assuming CLOSED, p(0) == p(n-1)</span>
+<a name="l00096"></a>00096 <span class="keyword">typename</span> Strategy
+<a name="l00097"></a>00097 >
+<a name="l00098"></a>00098 <span class="keyword">struct </span>ring_area
+<a name="l00099"></a>00099 {};
+<a name="l00100"></a>00100
<a name="l00101"></a>00101
-<a name="l00102"></a>00102 return_type r = get_radius<0>(c);
-<a name="l00103"></a>00103 r *= r * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math::pi</a>;
-<a name="l00104"></a>00104 <span class="keywordflow">return</span> r;
-<a name="l00105"></a>00105 }
-<a name="l00106"></a>00106 };
-<a name="l00107"></a>00107
+<a name="l00102"></a>00102 <span class="keyword">template</span><<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy>
+<a name="l00103"></a>00103 <span class="keyword">struct </span>ring_area<Ring, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, Strategy>
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_area_strategy.html" title="Checks strategy for area.">ggl::concept::AreaStrategy<Strategy></a>) );
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type type;
<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="comment">// Area of a linear linear_ring</span>
-<a name="l00110"></a>00110 <span class="keyword">template</span>
-<a name="l00111"></a>00111 <
-<a name="l00112"></a>00112 <span class="keyword">typename</span> R,
-<a name="l00113"></a>00113 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
-<a name="l00114"></a>00114 <span class="comment">// closing_selector Closed -- for now assuming CLOSED, p(0) == p(n-1)</span>
-<a name="l00115"></a>00115 <span class="keyword">typename</span> S
-<a name="l00116"></a>00116 >
-<a name="l00117"></a>00117 <span class="keyword">struct </span>ring_area
-<a name="l00118"></a>00118 {};
+<a name="l00109"></a>00109 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(Ring <span class="keyword">const</span>& ring, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 assert_dimension<Ring, 2>();
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="comment">// A closed linear_ring has at least four points,</span>
+<a name="l00114"></a>00114 <span class="comment">// if not, there is no (zero) area</span>
+<a name="l00115"></a>00115 <span class="keywordflow">if</span> (boost::size(ring) < 4)
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 <span class="keywordflow">return</span> type();
+<a name="l00118"></a>00118 }
<a name="l00119"></a>00119
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> S>
-<a name="l00122"></a>00122 <span class="keyword">struct </span>ring_area<R, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, S>
-<a name="l00123"></a>00123 {
-<a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
-<a name="l00125"></a>00125 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(R <span class="keyword">const</span>& ring, S <span class="keyword">const</span>& strategy)
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 assert_dimension<R, 2>();
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <span class="comment">// A closed linear_ring has at least four points,</span>
-<a name="l00130"></a>00130 <span class="comment">// if not, there is no (zero) area</span>
-<a name="l00131"></a>00131 <span class="keywordflow">if</span> (boost::size(ring) >= 4)
-<a name="l00132"></a>00132 {
-<a name="l00133"></a>00133 <span class="keyword">typename</span> S::state_type state_type;
-<a name="l00134"></a>00134 <span class="keywordflow">if</span> (<a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(ring, strategy, state_type))
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 <span class="keywordflow">return</span> state_type.area();
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keywordflow">return</span> type();
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142 };
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> S>
-<a name="l00145"></a>00145 <span class="keyword">struct </span>ring_area<R, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a>, S>
-<a name="l00146"></a>00146 {
-<a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
-<a name="l00148"></a>00148 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(R <span class="keyword">const</span>& ring, S <span class="keyword">const</span>& strategy)
-<a name="l00149"></a>00149 {
-<a name="l00150"></a>00150 <span class="comment">// Counter clockwise rings negate the area result</span>
-<a name="l00151"></a>00151 <span class="keywordflow">return</span> -ring_area<R, clockwise, S>::apply(ring, strategy);
-<a name="l00152"></a>00152 }
-<a name="l00153"></a>00153 };
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 }} <span class="comment">// namespace detail::area</span>
-<a name="l00157"></a>00157
-<a name="l00158"></a>00158 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00159"></a>00159 <span class="preprocessor"></span>
-<a name="l00160"></a>00160 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00161"></a>00161 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00120"></a>00120 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Ring>::type iterator_type;
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">typename</span> Strategy::state_type state = strategy.init();
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 iterator_type it = boost::begin(ring);
+<a name="l00125"></a>00125 <span class="keywordflow">for</span> (iterator_type previous = it++;
+<a name="l00126"></a>00126 it != boost::end(ring);
+<a name="l00127"></a>00127 previous = it++)
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 Strategy::apply(*previous, *it, state);
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 <span class="keywordflow">return</span> Strategy::result(state);
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 };
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keyword">template</span><<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy>
+<a name="l00137"></a>00137 <span class="keyword">struct </span>ring_area<Ring, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a>, Strategy>
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type type;
+<a name="l00140"></a>00140 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(Ring <span class="keyword">const</span>& ring, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 <span class="comment">// Counter clockwise rings negate the area result</span>
+<a name="l00143"></a>00143 <span class="keywordflow">return</span> -ring_area<Ring, clockwise, Strategy>::apply(ring, strategy);
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145 };
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 }} <span class="comment">// namespace detail::area</span>
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00151"></a>00151 <span class="preprocessor"></span>
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00155"></a>00155 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keyword">template</span>
+<a name="l00158"></a>00158 <
+<a name="l00159"></a>00159 <span class="keyword">typename</span> Tag,
+<a name="l00160"></a>00160 <span class="keyword">typename</span> Geometry,
+<a name="l00161"></a>00161 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00162"></a>00162 <span class="keyword">typename</span> Strategy
+<a name="l00163"></a>00163 >
<a name="l00164"></a>00164 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>
<a name="l00165"></a>00165 : detail::calculate_null
<a name="l00166"></a>00166 <
@@ -192,63 +186,63 @@
<a name="l00172"></a>00172
<a name="l00173"></a>00173 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a><box_tag, Geometry, Order, Strategy>
-<a name="l00175"></a>00175 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::box_area<Geometry, Strategy>
+<a name="l00175"></a>00175 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::box_area<Geometry, Strategy>
<a name="l00176"></a>00176 {};
<a name="l00177"></a>00177
<a name="l00178"></a>00178
-<a name="l00179"></a>00179 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
-<a name="l00180"></a>00180 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a><nsphere_tag, Geometry, Order, Strategy>
-<a name="l00181"></a>00181 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::circle_area<Geometry, Strategy>
-<a name="l00182"></a>00182 {};
-<a name="l00183"></a>00183
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <span class="comment">// Area of ring currently returns area of closed rings but it might be argued</span>
-<a name="l00186"></a>00186 <span class="comment">// that it is 0.0, because a ring is just a line.</span>
-<a name="l00187"></a>00187 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
-<a name="l00188"></a>00188 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a><ring_tag, Geometry, Order, Strategy>
-<a name="l00189"></a>00189 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::ring_area<Geometry, Order, Strategy>
-<a name="l00190"></a>00190 {};
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, order_selector Order, <span class="keyword">typename</span> Strategy>
-<a name="l00193"></a>00193 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a><polygon_tag, Polygon, Order, Strategy>
-<a name="l00194"></a>00194 : detail::calculate_polygon_sum
-<a name="l00195"></a>00195 <
-<a name="l00196"></a>00196 typename Strategy::return_type,
-<a name="l00197"></a>00197 Polygon,
-<a name="l00198"></a>00198 Strategy,
-<a name="l00199"></a>00199 detail::area::ring_area
-<a name="l00200"></a>00200 <
-<a name="l00201"></a>00201 typename ring_type<Polygon>::type,
-<a name="l00202"></a>00202 Order,
-<a name="l00203"></a>00203 Strategy
-<a name="l00204"></a>00204 >
-<a name="l00205"></a>00205 >
-<a name="l00206"></a>00206 <span class="comment">//: detail::area::polygon_area<Geometry, Order, Strategy> </span>
-<a name="l00207"></a>00207 {};
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="comment">// Area of ring currently returns area of closed rings but it might be argued</span>
+<a name="l00182"></a>00182 <span class="comment">// that it is 0.0, because a ring is just a line.</span>
+<a name="l00183"></a>00183 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00184"></a>00184 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a><ring_tag, Geometry, Order, Strategy>
+<a name="l00185"></a>00185 : detail::<a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>::ring_area<Geometry, Order, Strategy>
+<a name="l00186"></a>00186 {};
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00189"></a>00189 <span class="keyword">struct </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a><polygon_tag, Polygon, Order, Strategy>
+<a name="l00190"></a>00190 : detail::calculate_polygon_sum
+<a name="l00191"></a>00191 <
+<a name="l00192"></a>00192 typename Strategy::return_type,
+<a name="l00193"></a>00193 Polygon,
+<a name="l00194"></a>00194 Strategy,
+<a name="l00195"></a>00195 detail::area::ring_area
+<a name="l00196"></a>00196 <
+<a name="l00197"></a>00197 typename ring_type<Polygon>::type,
+<a name="l00198"></a>00198 Order,
+<a name="l00199"></a>00199 Strategy
+<a name="l00200"></a>00200 >
+<a name="l00201"></a>00201 >
+<a name="l00202"></a>00202 <span class="comment">//: detail::area::polygon_area<Geometry, Order, Strategy></span>
+<a name="l00203"></a>00203 {};
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 } <span class="comment">// namespace dispatch</span>
+<a name="l00206"></a>00206 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00207"></a>00207 <span class="preprocessor"></span>
<a name="l00208"></a>00208
-<a name="l00209"></a>00209 } <span class="comment">// namespace dispatch</span>
-<a name="l00210"></a>00210 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00211"></a>00211 <span class="preprocessor"></span>
-<a name="l00212"></a>00212
-<a name="l00213"></a>00213
-<a name="l00225"></a>00225 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00226"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">00226</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1area__result.html" title="Meta-function defining return type of area function.">area_result<Geometry>::type</a> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(Geometry <span class="keyword">const</span>& geometry)
-<a name="l00227"></a>00227 {
-<a name="l00228"></a>00228 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">area_result<Geometry>::strategy_type</a> strategy_type;
-<a name="l00229"></a>00229
-<a name="l00230"></a>00230 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">dispatch::area</a>
-<a name="l00231"></a>00231 <
-<a name="l00232"></a>00232 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00233"></a>00233 Geometry,
-<a name="l00234"></a>00234 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order<Geometry>::value</a>,
-<a name="l00235"></a>00235 strategy_type
-<a name="l00236"></a>00236 >::apply(geometry, strategy_type());
-<a name="l00237"></a>00237 }
-<a name="l00238"></a>00238
-<a name="l00248"></a>00248 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00249"></a><a class="code" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">00249</a> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(
-<a name="l00250"></a>00250 Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00251"></a>00251 {
+<a name="l00209"></a>00209
+<a name="l00221"></a>00221 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00222"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">00222</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1area__result.html" title="Meta-function defining return type of area function.">area_result<Geometry>::type</a> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(Geometry <span class="keyword">const</span>& geometry)
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 concept::check<const Geometry>();
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">area_result<Geometry>::strategy_type</a> strategy_type;
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">dispatch::area</a>
+<a name="l00229"></a>00229 <
+<a name="l00230"></a>00230 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00231"></a>00231 Geometry,
+<a name="l00232"></a>00232 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order<Geometry>::value</a>,
+<a name="l00233"></a>00233 strategy_type
+<a name="l00234"></a>00234 >::apply(geometry, strategy_type());
+<a name="l00235"></a>00235 }
+<a name="l00236"></a>00236
+<a name="l00246"></a>00246 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00247"></a><a class="code" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">00247</a> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(
+<a name="l00248"></a>00248 Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00249"></a>00249 {
+<a name="l00250"></a>00250 concept::check<const Geometry>();
+<a name="l00251"></a>00251
<a name="l00252"></a>00252 <span class="keywordflow">return</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">dispatch::area</a>
<a name="l00253"></a>00253 <
<a name="l00254"></a>00254 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,22 +53,22 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gda8ccb0bcdd94cebe5b66374259c1fe2">ggl::centroid</a> (const G &geometry, P &c, S const &strategy)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gc7e9651663cd19868cae40c20c72afdc">ggl::centroid</a> (Geometry const &geometry, Point &c)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">ggl::centroid</a> (const G &geometry, P &c)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename P , typename G , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g8c284d8ca53c0ace8827431178438852">ggl::make_centroid</a> (const G &geometry, S const &strategy)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename P , typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">ggl::make_centroid</a> (const G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">ggl::centroid</a> (Geometry const &geometry, Point &c, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Point , typename Geometry , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gb077a07483ee2fdd17d66e63b237aaa6">ggl::make_centroid</a> (Geometry const &geometry, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Point , typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">ggl::make_centroid</a> (Geometry const &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
</table>
</div>
<hr size="1">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,198 +53,311 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <cstddef></span>
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="exception_8hpp.html">ggl/core/exception.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>></span>
-<a name="l00026"></a>00026
-<a name="l00045"></a>00045 <span class="keyword">namespace </span>ggl
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047
-<a name="l00048"></a><a class="code" href="classggl_1_1centroid__exception.html">00048</a> <span class="keyword">class </span><a class="code" href="classggl_1_1centroid__exception.html">centroid_exception</a> : <span class="keyword">public</span> ggl::<a class="code" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="exception_8hpp.html">ggl/core/exception.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="centroid__concept_8hpp.html">ggl/strategies/concepts/centroid_concept.hpp</a>></span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
+<a name="l00027"></a>00027
+<a name="l00048"></a>00048 <span class="keyword">namespace </span>ggl
<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keyword">public</span>:
-<a name="l00051"></a>00051
-<a name="l00052"></a><a class="code" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">00052</a> <a class="code" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">centroid_exception</a>() {}
-<a name="l00053"></a>00053
-<a name="l00054"></a><a class="code" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">00054</a> <span class="keyword">virtual</span> <span class="keywordtype">char</span> <span class="keyword">const</span>* <a class="code" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">what</a>() <span class="keyword">const</span> throw()
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keywordflow">return</span> <span class="stringliteral">"centroid calculation exception"</span>;
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058 };
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a> {
+<a name="l00050"></a>00050
+<a name="l00051"></a><a class="code" href="classggl_1_1centroid__exception.html">00051</a> <span class="keyword">class </span><a class="code" href="classggl_1_1centroid__exception.html">centroid_exception</a> : <span class="keyword">public</span> ggl::<a class="code" href="structggl_1_1exception.html" title="Base exception class for GGL.">exception</a>
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">public</span>:
+<a name="l00054"></a>00054
+<a name="l00055"></a><a class="code" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">00055</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">centroid_exception</a>()
+<a name="l00056"></a>00056 {}
+<a name="l00057"></a>00057
+<a name="l00058"></a><a class="code" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">00058</a> <span class="keyword">virtual</span> <span class="keywordtype">char</span> <span class="keyword">const</span>* <a class="code" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">what</a>() <span class="keyword">const</span> throw()
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> <span class="stringliteral">"GGL Centroid calculation exception"</span>;
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
<a name="l00064"></a>00064
-<a name="l00068"></a>00068 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> R>
-<a name="l00069"></a>00069 <span class="keyword">inline</span> <span class="keywordtype">bool</span> ring_ok(R <span class="keyword">const</span>& ring, P& c)
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071 std::size_t <span class="keyword">const</span> n = boost::size(ring);
-<a name="l00072"></a>00072 <span class="keywordflow">if</span> (n > 1)
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00075"></a>00075 }
-<a name="l00076"></a>00076 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (n <= 0)
-<a name="l00077"></a>00077 {
-<a name="l00078"></a>00078 <span class="keywordflow">throw</span> centroid_exception();
-<a name="l00079"></a>00079 }
-<a name="l00080"></a>00080 <span class="keywordflow">else</span>
-<a name="l00081"></a>00081 {
-<a name="l00082"></a>00082 <span class="comment">// n == 1: Take over the first point in a "coordinate neutral way"</span>
-<a name="l00083"></a>00083 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(ring.front(), c);
-<a name="l00084"></a>00084 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00085"></a>00085 }
-<a name="l00086"></a>00086 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088
-<a name="l00092"></a>00092 <span class="keyword">template</span><<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00093"></a>00093 <span class="keyword">struct </span>centroid_ring
-<a name="l00094"></a>00094 {
-<a name="l00095"></a>00095 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring <span class="keyword">const</span>& ring, Point& c, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a> {
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>Centro<span class="keywordtype">id</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00071"></a>00071 <span class="keyword">struct </span>centroid_point
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>& point, PointCentroid& <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>,
+<a name="l00074"></a>00074 Strategy <span class="keyword">const</span>&, <span class="keyword">typename</span> Strategy::state_type&)
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(point, centroid);
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keyword">template</span>
+<a name="l00083"></a>00083 <
+<a name="l00084"></a>00084 <span class="keyword">typename</span> Box,
+<a name="l00085"></a>00085 <span class="keyword">typename</span> Point,
+<a name="l00086"></a>00086 std::size_t Dimension,
+<a name="l00087"></a>00087 std::size_t DimensionCount
+<a name="l00088"></a>00088 >
+<a name="l00089"></a>00089 <span class="keyword">struct </span>centroid_box_calculator
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type
+<a name="l00092"></a>00092 <
+<a name="l00093"></a>00093 Box, Point
+<a name="l00094"></a>00094 >::type coordinate_type;
+<a name="l00095"></a>00095 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>& box, Point& <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>)
<a name="l00096"></a>00096 {
-<a name="l00097"></a>00097 <span class="keywordflow">if</span> (ring_ok(ring, c))
-<a name="l00098"></a>00098 {
-<a name="l00099"></a>00099 <span class="keyword">typename</span> Strategy::state_type state;
-<a name="l00100"></a>00100 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(ring, strategy, state);
-<a name="l00101"></a>00101 state.centroid(c);
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104 };
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106
-<a name="l00112"></a>00112 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00113"></a>00113 <span class="keyword">struct </span>centroid_polygon
-<a name="l00114"></a>00114 {
-<a name="l00115"></a>00115 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& poly, Point& c, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 <span class="keywordflow">if</span> (ring_ok(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), c))
-<a name="l00118"></a>00118 {
-<a name="l00119"></a>00119 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00097"></a>00097 coordinate_type <span class="keyword">const</span> c1 = get<min_corner, Dimension>(box);
+<a name="l00098"></a>00098 coordinate_type <span class="keyword">const</span> c2 = get<max_corner, Dimension>(box);
+<a name="l00099"></a>00099 coordinate_type m = c1 + c2;
+<a name="l00100"></a>00100 m /= 2.0;
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 set<Dimension>(centroid, m);
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 centroid_box_calculator
+<a name="l00105"></a>00105 <
+<a name="l00106"></a>00106 Box, Point,
+<a name="l00107"></a>00107 Dimension + 1, DimensionCount
+<a name="l00108"></a>00108 >::apply(box, centroid);
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110 };
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keyword">template</span><<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00114"></a>00114 <span class="keyword">struct </span>centroid_box_calculator<Box, Point, DimensionCount, DimensionCount>
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>& , Point& )
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119 };
<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy, state);
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00124"></a>00124 <
-<a name="l00125"></a>00125 <span class="keyword">typename</span> interior_type<Polygon>::type
-<a name="l00126"></a>00126 >::type iterator_type;
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00129"></a>00129 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00130"></a>00130 ++it)
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(*it, strategy, state);
-<a name="l00133"></a>00133 }
-<a name="l00134"></a>00134 state.centroid(c);
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137 };
-<a name="l00138"></a>00138
-<a name="l00143"></a>00143 <span class="keyword">template</span><<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00144"></a>00144 <span class="keyword">struct </span>centroid_box
-<a name="l00145"></a>00145 {
-<a name="l00146"></a>00146 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>& box, Point& c, Strategy <span class="keyword">const</span>&)
-<a name="l00147"></a>00147 {
-<a name="l00148"></a>00148 <span class="comment">// TODO: adapt using strategies</span>
-<a name="l00149"></a>00149 assert_dimension<Box, 2>();
-<a name="l00150"></a>00150 set<0>(c, (get<min_corner, 0>(box) + get<max_corner, 0>(box)) / 2);
-<a name="l00151"></a>00151 set<1>(c, (get<min_corner, 1>(box) + get<max_corner, 1>(box)) / 2);
-<a name="l00152"></a>00152 }
-<a name="l00153"></a>00153 };
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 }} <span class="comment">// namespace detail::centroid</span>
-<a name="l00156"></a>00156 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00157"></a>00157 <span class="preprocessor"></span>
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00160"></a>00160 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00161"></a>00161 {
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">template</span><<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00123"></a>00123 <span class="keyword">struct </span>centroid_box
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box <span class="keyword">const</span>& box, Point& <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>,
+<a name="l00126"></a>00126 Strategy <span class="keyword">const</span>&, <span class="keyword">typename</span> Strategy::state_type&)
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 centroid_box_calculator
+<a name="l00129"></a>00129 <
+<a name="l00130"></a>00130 Box, Point,
+<a name="l00131"></a>00131 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
+<a name="l00132"></a>00132 >::apply(box, centroid);
+<a name="l00133"></a>00133 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135 };
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137
+<a name="l00141"></a>00141 <span class="keyword">template</span><<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00142"></a>00142 <span class="keyword">struct </span>centroid_ring
+<a name="l00143"></a>00143 {
+<a name="l00144"></a>00144 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Ring <span class="keyword">const</span>& ring, Point& <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>,
+<a name="l00145"></a>00145 Strategy <span class="keyword">const</span>& strategy, <span class="keyword">typename</span> Strategy::state_type& state)
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Ring>::type iterator_type;
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <span class="comment">// There is one thing where centroid is different from e.g. within.</span>
+<a name="l00150"></a>00150 <span class="comment">// If the ring has only one point, it might make sense that</span>
+<a name="l00151"></a>00151 <span class="comment">// that point is the centroid. So then, pass it twice, as a trick</span>
+<a name="l00152"></a>00152 <span class="comment">// to avoid adding another method.</span>
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keywordflow">switch</span>(boost::size(ring))
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 <span class="keywordflow">case</span> 0 : <span class="comment">// will cause exception in the end</span>
+<a name="l00157"></a>00157 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00158"></a>00158 <span class="keywordflow">case</span> 1 :
+<a name="l00159"></a>00159 Strategy::apply(ring.front(), ring.front(), state);
+<a name="l00160"></a>00160 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00161"></a>00161 }
<a name="l00162"></a>00162
-<a name="l00163"></a>00163 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00164"></a>00164 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a> {};
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00167"></a>00167 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a><box_tag, Box, Point, Strategy>
-<a name="l00168"></a>00168 : detail::<a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>::centroid_box<Box, Point, Strategy>
-<a name="l00169"></a>00169 {};
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00172"></a>00172 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a><ring_tag, Ring, Point, Strategy>
-<a name="l00173"></a>00173 : detail::<a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>::centroid_ring<Ring, Point, Strategy>
-<a name="l00174"></a>00174 {};
+<a name="l00163"></a>00163 <span class="comment">// Normal behaviour:</span>
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 iterator_type it = boost::begin(ring);
+<a name="l00166"></a>00166 <span class="keywordflow">for</span> (iterator_type previous = it++;
+<a name="l00167"></a>00167 it != boost::end(ring);
+<a name="l00168"></a>00168 previous = it++)
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 Strategy::apply(*previous, *it, state);
+<a name="l00171"></a>00171 }
+<a name="l00172"></a>00172 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00173"></a>00173 }
+<a name="l00174"></a>00174 };
<a name="l00175"></a>00175
-<a name="l00176"></a>00176 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00177"></a>00177 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a><polygon_tag, Polygon, Point, Strategy>
-<a name="l00178"></a>00178 : detail::<a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>::centroid_polygon<Polygon, Point, Strategy>
-<a name="l00179"></a>00179
-<a name="l00180"></a>00180 {};
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 } <span class="comment">// namespace dispatch</span>
-<a name="l00183"></a>00183 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00184"></a>00184 <span class="preprocessor"></span>
-<a name="l00185"></a>00185
-<a name="l00202"></a>00202 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> P>
-<a name="l00203"></a><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">00203</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(<span class="keyword">const</span> G& geometry, P& c)
-<a name="l00204"></a>00204 {
-<a name="l00205"></a>00205 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<G>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00206"></a>00206 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__centroid.html" title="Traits class binding a centroid calculation strategy to a coordinate system.">strategy_centroid</a>
-<a name="l00207"></a>00207 <
-<a name="l00208"></a>00208 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a>,
-<a name="l00209"></a>00209 P,
-<a name="l00210"></a>00210 point_type
-<a name="l00211"></a>00211 >::type strategy_type;
-<a name="l00212"></a>00212
-<a name="l00213"></a>00213 <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">dispatch::centroid</a>
-<a name="l00214"></a>00214 <
-<a name="l00215"></a>00215 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00216"></a>00216 G,
-<a name="l00217"></a>00217 P,
-<a name="l00218"></a>00218 strategy_type
-<a name="l00219"></a>00219 >::apply(geometry, c, strategy_type());
-<a name="l00220"></a>00220 }
-<a name="l00221"></a>00221
-<a name="l00230"></a>00230 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keyword">typename</span> S>
-<a name="l00231"></a><a class="code" href="group__centroid.html#gda8ccb0bcdd94cebe5b66374259c1fe2">00231</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(<span class="keyword">const</span> G& geometry, P& c, S <span class="keyword">const</span>& strategy)
-<a name="l00232"></a>00232 {
-<a name="l00233"></a>00233 <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">dispatch::centroid</a>
-<a name="l00234"></a>00234 <
-<a name="l00235"></a>00235 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00236"></a>00236 G,
-<a name="l00237"></a>00237 P,
-<a name="l00238"></a>00238 S
-<a name="l00239"></a>00239 >::apply(geometry, c, strategy);
-<a name="l00240"></a>00240 }
-<a name="l00241"></a>00241
-<a name="l00242"></a>00242 <span class="comment">// Versions returning a centroid</span>
-<a name="l00243"></a>00243
-<a name="l00251"></a>00251 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> G>
-<a name="l00252"></a><a class="code" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">00252</a> <span class="keyword">inline</span> P <a class="code" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4" title="Calculate and return centroid.">make_centroid</a>(<span class="keyword">const</span> G& geometry)
-<a name="l00253"></a>00253 {
-<a name="l00254"></a>00254 P c;
-<a name="l00255"></a>00255 <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(geometry, c);
-<a name="l00256"></a>00256 <span class="keywordflow">return</span> c;
-<a name="l00257"></a>00257 }
-<a name="l00258"></a>00258
-<a name="l00267"></a>00267 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> G, <span class="keyword">typename</span> S>
-<a name="l00268"></a><a class="code" href="group__centroid.html#g8c284d8ca53c0ace8827431178438852">00268</a> <span class="keyword">inline</span> P <a class="code" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4" title="Calculate and return centroid.">make_centroid</a>(<span class="keyword">const</span> G& geometry, S <span class="keyword">const</span>& strategy)
-<a name="l00269"></a>00269 {
-<a name="l00270"></a>00270 P c;
-<a name="l00271"></a>00271 <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(geometry, c, strategy);
-<a name="l00272"></a>00272 <span class="keywordflow">return</span> c;
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274
-<a name="l00275"></a>00275 } <span class="comment">// namespace ggl</span>
-<a name="l00276"></a>00276
-<a name="l00277"></a>00277 <span class="preprocessor">#endif // GGL_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00176"></a>00176
+<a name="l00182"></a>00182 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00183"></a>00183 <span class="keyword">struct </span>centroid_polygon
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Polygon <span class="keyword">const</span>& poly, Point& centroid,
+<a name="l00186"></a>00186 Strategy <span class="keyword">const</span>& strategy, <span class="keyword">typename</span> Strategy::state_type& state)
+<a name="l00187"></a>00187 {
+<a name="l00188"></a>00188 <span class="keyword">typedef</span> centroid_ring
+<a name="l00189"></a>00189 <
+<a name="l00190"></a>00190 <span class="keyword">typename</span> ring_type<Polygon>::type,
+<a name="l00191"></a>00191 Point,
+<a name="l00192"></a>00192 Strategy
+<a name="l00193"></a>00193 > per_ring;
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 per_ring::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), centroid, strategy, state);
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00198"></a>00198 <
+<a name="l00199"></a>00199 <span class="keyword">typename</span> interior_type<Polygon>::type
+<a name="l00200"></a>00200 >::type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00201"></a>00201 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00202"></a>00202 ++it)
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204 per_ring::apply(*it, centroid, strategy, state);
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">// always check exception</span>
+<a name="l00207"></a>00207 }
+<a name="l00208"></a>00208 };
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 }} <span class="comment">// namespace detail::centroid</span>
+<a name="l00212"></a>00212 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00213"></a>00213 <span class="preprocessor"></span>
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00216"></a>00216 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00217"></a>00217 {
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="keyword">template</span>
+<a name="l00220"></a>00220 <
+<a name="l00221"></a>00221 <span class="keyword">typename</span> Tag,
+<a name="l00222"></a>00222 std::size_t Dimension,
+<a name="l00223"></a>00223 <span class="keyword">typename</span> Geometry,
+<a name="l00224"></a>00224 <span class="keyword">typename</span> Point,
+<a name="l00225"></a>00225 <span class="keyword">typename</span> Strategy
+<a name="l00226"></a>00226 >
+<a name="l00227"></a>00227 <span class="keyword">struct </span>centroid {};
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 <span class="keyword">template</span>
+<a name="l00230"></a>00230 <
+<a name="l00231"></a>00231 std::size_t Dimension,
+<a name="l00232"></a>00232 <span class="keyword">typename</span> Geometry,
+<a name="l00233"></a>00233 <span class="keyword">typename</span> Point,
+<a name="l00234"></a>00234 <span class="keyword">typename</span> Strategy
+<a name="l00235"></a>00235 >
+<a name="l00236"></a>00236 <span class="keyword">struct </span>centroid<point_tag, Dimension, Geometry, Point, Strategy>
+<a name="l00237"></a>00237 : detail::centroid::centroid_point<Geometry, Point, Strategy>
+<a name="l00238"></a>00238 {};
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240 <span class="keyword">template</span>
+<a name="l00241"></a>00241 <
+<a name="l00242"></a>00242 std::size_t Dimension,
+<a name="l00243"></a>00243 <span class="keyword">typename</span> Box,
+<a name="l00244"></a>00244 <span class="keyword">typename</span> Point,
+<a name="l00245"></a>00245 <span class="keyword">typename</span> Strategy
+<a name="l00246"></a>00246 >
+<a name="l00247"></a>00247 <span class="keyword">struct </span>centroid<box_tag, Dimension, Box, Point, Strategy>
+<a name="l00248"></a>00248 : detail::centroid::centroid_box<Box, Point, Strategy>
+<a name="l00249"></a>00249 {};
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00252"></a>00252 <span class="keyword">struct </span>centroid<ring_tag, 2, Ring, Point, Strategy>
+<a name="l00253"></a>00253 : detail::centroid::centroid_ring<Ring, Point, Strategy>
+<a name="l00254"></a>00254 {};
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00257"></a>00257 <span class="keyword">struct </span>centroid<polygon_tag, 2, Polygon, Point, Strategy>
+<a name="l00258"></a>00258 : detail::centroid::centroid_polygon<Polygon, Point, Strategy>
+<a name="l00259"></a>00259
+<a name="l00260"></a>00260 {};
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 } <span class="comment">// namespace dispatch</span>
+<a name="l00263"></a>00263 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00264"></a>00264 <span class="preprocessor"></span>
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266
+<a name="l00276"></a>00276 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00277"></a><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">00277</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(Geometry <span class="keyword">const</span>& geometry, Point& c,
+<a name="l00278"></a>00278 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00279"></a>00279 {
+<a name="l00280"></a>00280 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html" title="Checks strategy for area.">ggl::concept::CentroidStrategy<Strategy></a>) );
+<a name="l00281"></a>00281
+<a name="l00282"></a>00282 concept::check<const Geometry>();
+<a name="l00283"></a>00283 concept::check<Point>();
+<a name="l00284"></a>00284
+<a name="l00285"></a>00285 assert_dimension_equal<Geometry, Point>();
+<a name="l00286"></a>00286 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00289"></a>00289
+<a name="l00290"></a>00290 <span class="comment">// Call dispatch apply method. That one returns true if centroid</span>
+<a name="l00291"></a>00291 <span class="comment">// should be taken from state.</span>
+<a name="l00292"></a>00292 <span class="keywordflow">if</span> (<a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">dispatch::centroid</a>
+<a name="l00293"></a>00293 <
+<a name="l00294"></a>00294 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00295"></a>00295 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<point_type>::type::value</a>,
+<a name="l00296"></a>00296 Geometry,
+<a name="l00297"></a>00297 Point,
+<a name="l00298"></a>00298 Strategy
+<a name="l00299"></a>00299 >::apply(geometry, c, strategy, state))
+<a name="l00300"></a>00300 {
+<a name="l00301"></a>00301 <span class="keywordflow">if</span> (! Strategy::result(state, c))
+<a name="l00302"></a>00302 {
+<a name="l00303"></a>00303 <span class="keywordflow">throw</span> <a class="code" href="classggl_1_1centroid__exception.html">centroid_exception</a>();
+<a name="l00304"></a>00304 }
+<a name="l00305"></a>00305 }
+<a name="l00306"></a>00306 }
+<a name="l00307"></a>00307
+<a name="l00308"></a>00308
+<a name="l00309"></a>00309
+<a name="l00327"></a>00327 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00328"></a><a class="code" href="group__centroid.html#gc7e9651663cd19868cae40c20c72afdc">00328</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(Geometry <span class="keyword">const</span>& geometry, Point& c)
+<a name="l00329"></a>00329 {
+<a name="l00330"></a>00330 concept::check<const Geometry>();
+<a name="l00331"></a>00331 concept::check<Point>();
+<a name="l00332"></a>00332
+<a name="l00333"></a>00333 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00334"></a>00334 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__centroid.html" title="Traits class binding a centroid calculation strategy to a coordinate system.">strategy_centroid</a>
+<a name="l00335"></a>00335 <
+<a name="l00336"></a>00336 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a>,
+<a name="l00337"></a>00337 Point,
+<a name="l00338"></a>00338 point_type
+<a name="l00339"></a>00339 >::type strategy_type;
+<a name="l00340"></a>00340
+<a name="l00341"></a>00341 <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(geometry, c, strategy_type());
+<a name="l00342"></a>00342 }
+<a name="l00343"></a>00343
+<a name="l00344"></a>00344 <span class="comment">// Versions returning a centroid</span>
+<a name="l00345"></a>00345
+<a name="l00354"></a>00354 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Geometry>
+<a name="l00355"></a><a class="code" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">00355</a> <span class="keyword">inline</span> Point <a class="code" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c" title="Calculate and return centroid.">make_centroid</a>(Geometry <span class="keyword">const</span>& geometry)
+<a name="l00356"></a>00356 {
+<a name="l00357"></a>00357 concept::check<const Geometry>();
+<a name="l00358"></a>00358 concept::check<Point>();
+<a name="l00359"></a>00359
+<a name="l00360"></a>00360 Point c;
+<a name="l00361"></a>00361 <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(geometry, c);
+<a name="l00362"></a>00362 <span class="keywordflow">return</span> c;
+<a name="l00363"></a>00363 }
+<a name="l00364"></a>00364
+<a name="l00374"></a>00374 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00375"></a><a class="code" href="group__centroid.html#gb077a07483ee2fdd17d66e63b237aaa6">00375</a> <span class="keyword">inline</span> Point <a class="code" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c" title="Calculate and return centroid.">make_centroid</a>(Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00376"></a>00376 {
+<a name="l00377"></a>00377 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html" title="Checks strategy for area.">ggl::concept::CentroidStrategy<Strategy></a>) );
+<a name="l00378"></a>00378
+<a name="l00379"></a>00379 concept::check<const Geometry>();
+<a name="l00380"></a>00380 concept::check<Point>();
+<a name="l00381"></a>00381
+<a name="l00382"></a>00382 Point c;
+<a name="l00383"></a>00383 <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>(geometry, c, strategy);
+<a name="l00384"></a>00384 <span class="keywordflow">return</span> c;
+<a name="l00385"></a>00385 }
+<a name="l00386"></a>00386
+<a name="l00387"></a>00387 } <span class="comment">// namespace ggl</span>
+<a name="l00388"></a>00388
+<a name="l00389"></a>00389 <span class="preprocessor">#endif // GGL_ALGORITHMS_CENTROID_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -59,198 +59,205 @@
<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="point__order_8hpp.html">ggl/core/point_order.hpp</a>></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="as__range_8hpp.html">ggl/util/as_range.hpp</a>></span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026
-<a name="l00045"></a>00045 <span class="keyword">namespace </span>ggl {
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a> {
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keyword">template</span>
-<a name="l00051"></a>00051 <
-<a name="l00052"></a>00052 <span class="keyword">typename</span> Geometry,
-<a name="l00053"></a>00053 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order
-<a name="l00054"></a>00054 >
-<a name="l00055"></a>00055 <span class="keyword">struct </span>hull_inserter
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 <span class="comment">// Member template function, to avoid inconvenient declaration</span>
-<a name="l00058"></a>00058 <span class="comment">// of output-iterator-type</span>
-<a name="l00059"></a>00059 <span class="keyword">template</span> <<span class="keyword">typename</span> OutputIterator>
-<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Geometry <span class="keyword">const</span>& geometry,
-<a name="l00061"></a>00061 OutputIterator out)
-<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Geometry>::type point_type;
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_convex_hull
-<a name="l00066"></a>00066 <
-<a name="l00067"></a>00067 <span class="keyword">typename</span> cs_tag<point_type>::type,
-<a name="l00068"></a>00068 point_type
-<a name="l00069"></a>00069 >::type strategy_type;
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 strategy_type s(<a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">as_range</a>
-<a name="l00072"></a>00072 <
-<a name="l00073"></a>00073 <span class="keyword">typename</span> as_range_type<Geometry>::type
-<a name="l00074"></a>00074 >(geometry));
-<a name="l00075"></a>00075 s.get(out, Order == <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>);
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> out;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 };
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="keyword">template</span>
-<a name="l00081"></a>00081 <
-<a name="l00082"></a>00082 <span class="keyword">typename</span> Geometry,
-<a name="l00083"></a>00083 <span class="keyword">typename</span> OutputGeometry
-<a name="l00084"></a>00084 >
-<a name="l00085"></a>00085 <span class="keyword">struct </span>hull_to_geometry
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>& geometry, OutputGeometry& out)
-<a name="l00088"></a>00088 {
-<a name="l00089"></a>00089 hull_inserter
-<a name="l00090"></a>00090 <
-<a name="l00091"></a>00091 Geometry,
-<a name="l00092"></a>00092 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order<OutputGeometry>::value</a>
-<a name="l00093"></a>00093 >::apply(geometry,
-<a name="l00094"></a>00094 std::back_inserter(
-<a name="l00095"></a>00095 <a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">ggl::as_range</a>
-<a name="l00096"></a>00096 <
-<a name="l00097"></a>00097 <span class="keyword">typename</span> <a class="code" href="structggl_1_1as__range__type.html" title="Meta-function utility returning either type itself, or outer ring.">ggl::as_range_type<OutputGeometry>::type</a>
-<a name="l00098"></a>00098 >(out)));
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100 };
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102
+<a name="l00047"></a>00047 <span class="keyword">namespace </span>ggl {
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a> {
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">template</span>
+<a name="l00053"></a>00053 <
+<a name="l00054"></a>00054 <span class="keyword">typename</span> Geometry,
+<a name="l00055"></a>00055 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order
+<a name="l00056"></a>00056 >
+<a name="l00057"></a>00057 <span class="keyword">struct </span>hull_inserter
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="comment">// Member template function, to avoid inconvenient declaration</span>
+<a name="l00060"></a>00060 <span class="comment">// of output-iterator-type</span>
+<a name="l00061"></a>00061 <span class="keyword">template</span> <<span class="keyword">typename</span> OutputIterator>
+<a name="l00062"></a>00062 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Geometry <span class="keyword">const</span>& geometry,
+<a name="l00063"></a>00063 OutputIterator out)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Geometry>::type point_type;
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_convex_hull
+<a name="l00068"></a>00068 <
+<a name="l00069"></a>00069 <span class="keyword">typename</span> cs_tag<point_type>::type,
+<a name="l00070"></a>00070 point_type
+<a name="l00071"></a>00071 >::type strategy_type;
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 strategy_type s(<a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">as_range</a>
+<a name="l00074"></a>00074 <
+<a name="l00075"></a>00075 <span class="keyword">typename</span> as_range_type<Geometry>::type
+<a name="l00076"></a>00076 >(geometry));
+<a name="l00077"></a>00077 s.get(out, Order == <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>);
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> out;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keyword">template</span>
+<a name="l00083"></a>00083 <
+<a name="l00084"></a>00084 <span class="keyword">typename</span> Geometry,
+<a name="l00085"></a>00085 <span class="keyword">typename</span> OutputGeometry
+<a name="l00086"></a>00086 >
+<a name="l00087"></a>00087 <span class="keyword">struct </span>hull_to_geometry
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>& geometry, OutputGeometry& out)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 hull_inserter
+<a name="l00092"></a>00092 <
+<a name="l00093"></a>00093 Geometry,
+<a name="l00094"></a>00094 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order<OutputGeometry>::value</a>
+<a name="l00095"></a>00095 >::apply(geometry,
+<a name="l00096"></a>00096 std::back_inserter(
+<a name="l00097"></a>00097 <a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">ggl::as_range</a>
+<a name="l00098"></a>00098 <
+<a name="l00099"></a>00099 <span class="keyword">typename</span> <a class="code" href="structggl_1_1as__range__type.html" title="Meta-function utility returning either type itself, or outer ring.">ggl::as_range_type<OutputGeometry>::type</a>
+<a name="l00100"></a>00100 >(out)));
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 };
<a name="l00103"></a>00103
<a name="l00104"></a>00104
-<a name="l00105"></a>00105 }} <span class="comment">// namespace detail::convex_hull</span>
-<a name="l00106"></a>00106 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00107"></a>00107 <span class="preprocessor"></span>
-<a name="l00108"></a>00108 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00109"></a>00109 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00110"></a>00110 {
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="keyword">template</span>
-<a name="l00113"></a>00113 <
-<a name="l00114"></a>00114 <span class="keyword">typename</span> Tag1,
-<a name="l00115"></a>00115 <span class="keywordtype">bool</span> IsMulti,
-<a name="l00116"></a>00116 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Output
-<a name="l00117"></a>00117 >
-<a name="l00118"></a>00118 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>
-<a name="l00119"></a>00119 {};
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Output>
-<a name="l00123"></a>00123 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>
-<a name="l00124"></a>00124 <
-<a name="l00125"></a>00125 polygon_tag, false,
-<a name="l00126"></a>00126 Polygon, Output
-<a name="l00127"></a>00127 >
-<a name="l00128"></a>00128 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_to_geometry<Polygon, Output>
-<a name="l00129"></a>00129 {};
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Output>
-<a name="l00132"></a>00132 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>
-<a name="l00133"></a>00133 <
-<a name="l00134"></a>00134 ring_tag, false,
-<a name="l00135"></a>00135 Polygon, Output
-<a name="l00136"></a>00136 >
-<a name="l00137"></a>00137 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_to_geometry<Polygon, Output>
-<a name="l00138"></a>00138 {};
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Output>
-<a name="l00141"></a>00141 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>
-<a name="l00142"></a>00142 <
-<a name="l00143"></a>00143 linestring_tag, false,
-<a name="l00144"></a>00144 Polygon, Output
-<a name="l00145"></a>00145 >
-<a name="l00146"></a>00146 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_to_geometry<Polygon, Output>
-<a name="l00147"></a>00147 {};
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 }} <span class="comment">// namespace detail::convex_hull</span>
+<a name="l00108"></a>00108 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00109"></a>00109 <span class="preprocessor"></span>
+<a name="l00110"></a>00110 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">template</span>
+<a name="l00115"></a>00115 <
+<a name="l00116"></a>00116 <span class="keyword">typename</span> Tag1,
+<a name="l00117"></a>00117 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00118"></a>00118 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Output
+<a name="l00119"></a>00119 >
+<a name="l00120"></a>00120 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>
+<a name="l00121"></a>00121 {};
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Output>
+<a name="l00125"></a>00125 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>
+<a name="l00126"></a>00126 <
+<a name="l00127"></a>00127 polygon_tag, false,
+<a name="l00128"></a>00128 Polygon, Output
+<a name="l00129"></a>00129 >
+<a name="l00130"></a>00130 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_to_geometry<Polygon, Output>
+<a name="l00131"></a>00131 {};
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Output>
+<a name="l00134"></a>00134 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>
+<a name="l00135"></a>00135 <
+<a name="l00136"></a>00136 ring_tag, false,
+<a name="l00137"></a>00137 Polygon, Output
+<a name="l00138"></a>00138 >
+<a name="l00139"></a>00139 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_to_geometry<Polygon, Output>
+<a name="l00140"></a>00140 {};
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Output>
+<a name="l00143"></a>00143 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>
+<a name="l00144"></a>00144 <
+<a name="l00145"></a>00145 linestring_tag, false,
+<a name="l00146"></a>00146 Polygon, Output
+<a name="l00147"></a>00147 >
+<a name="l00148"></a>00148 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_to_geometry<Polygon, Output>
+<a name="l00149"></a>00149 {};
<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="keyword">template</span>
-<a name="l00152"></a>00152 <
-<a name="l00153"></a>00153 <span class="keyword">typename</span> GeometryTag,
-<a name="l00154"></a>00154 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
-<a name="l00155"></a>00155 <span class="keywordtype">bool</span> IsMulti,
-<a name="l00156"></a>00156 <span class="keyword">typename</span> GeometryIn
-<a name="l00157"></a>00157 >
-<a name="l00158"></a>00158 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a> {};
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, order_selector Order>
-<a name="l00161"></a>00161 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a>
-<a name="l00162"></a>00162 <
-<a name="l00163"></a>00163 linestring_tag,
-<a name="l00164"></a>00164 Order, false,
-<a name="l00165"></a>00165 Linestring
-<a name="l00166"></a>00166 >
-<a name="l00167"></a>00167 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_inserter<Linestring, Order>
-<a name="l00168"></a>00168 {};
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, order_selector Order>
-<a name="l00172"></a>00172 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a>
-<a name="l00173"></a>00173 <
-<a name="l00174"></a>00174 ring_tag,
-<a name="l00175"></a>00175 Order, false,
-<a name="l00176"></a>00176 Ring
-<a name="l00177"></a>00177 >
-<a name="l00178"></a>00178 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_inserter<Ring, Order>
-<a name="l00179"></a>00179 {};
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, order_selector Order>
-<a name="l00183"></a>00183 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a>
-<a name="l00184"></a>00184 <
-<a name="l00185"></a>00185 polygon_tag,
-<a name="l00186"></a>00186 Order, false,
-<a name="l00187"></a>00187 Polygon
-<a name="l00188"></a>00188 >
-<a name="l00189"></a>00189 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_inserter<Polygon, Order>
-<a name="l00190"></a>00190 {};
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="keyword">template</span>
+<a name="l00154"></a>00154 <
+<a name="l00155"></a>00155 <span class="keyword">typename</span> GeometryTag,
+<a name="l00156"></a>00156 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00157"></a>00157 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00158"></a>00158 <span class="keyword">typename</span> GeometryIn
+<a name="l00159"></a>00159 >
+<a name="l00160"></a>00160 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a> {};
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, order_selector Order>
+<a name="l00163"></a>00163 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a>
+<a name="l00164"></a>00164 <
+<a name="l00165"></a>00165 linestring_tag,
+<a name="l00166"></a>00166 Order, false,
+<a name="l00167"></a>00167 Linestring
+<a name="l00168"></a>00168 >
+<a name="l00169"></a>00169 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_inserter<Linestring, Order>
+<a name="l00170"></a>00170 {};
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, order_selector Order>
+<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a>
+<a name="l00175"></a>00175 <
+<a name="l00176"></a>00176 ring_tag,
+<a name="l00177"></a>00177 Order, false,
+<a name="l00178"></a>00178 Ring
+<a name="l00179"></a>00179 >
+<a name="l00180"></a>00180 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_inserter<Ring, Order>
+<a name="l00181"></a>00181 {};
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, order_selector Order>
+<a name="l00185"></a>00185 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a>
+<a name="l00186"></a>00186 <
+<a name="l00187"></a>00187 polygon_tag,
+<a name="l00188"></a>00188 Order, false,
+<a name="l00189"></a>00189 Polygon
+<a name="l00190"></a>00190 >
+<a name="l00191"></a>00191 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_inserter<Polygon, Order>
+<a name="l00192"></a>00192 {};
<a name="l00193"></a>00193
-<a name="l00194"></a>00194 } <span class="comment">// namespace dispatch</span>
-<a name="l00195"></a>00195 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00196"></a>00196 <span class="preprocessor"></span>
-<a name="l00197"></a>00197
-<a name="l00198"></a>00198
-<a name="l00211"></a>00211 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2>
-<a name="l00212"></a><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">00212</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>(Geometry1 <span class="keyword">const</span>& geometry,
-<a name="l00213"></a>00213 Geometry2& out)
-<a name="l00214"></a>00214 {
-<a name="l00215"></a>00215 <a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">dispatch::convex_hull</a>
-<a name="l00216"></a>00216 <
-<a name="l00217"></a>00217 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry1>::type</a>,
-<a name="l00218"></a>00218 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry1>::type::value</a>,
-<a name="l00219"></a>00219 Geometry1,
-<a name="l00220"></a>00220 Geometry2
-<a name="l00221"></a>00221 >::apply(geometry, out);
-<a name="l00222"></a>00222 }
-<a name="l00223"></a>00223
-<a name="l00224"></a>00224
-<a name="l00237"></a>00237 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator>
-<a name="l00238"></a><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">00238</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a>(Geometry <span class="keyword">const</span>& geometry,
-<a name="l00239"></a>00239 OutputIterator out)
-<a name="l00240"></a>00240 {
-<a name="l00241"></a>00241 <span class="keywordflow">return</span> <a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">dispatch::convex_hull_inserter</a>
-<a name="l00242"></a>00242 <
-<a name="l00243"></a>00243 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00244"></a>00244 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order<Geometry>::value</a>,
-<a name="l00245"></a>00245 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
-<a name="l00246"></a>00246 Geometry
-<a name="l00247"></a>00247 >::apply(geometry, out);
-<a name="l00248"></a>00248 }
-<a name="l00249"></a>00249
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 } <span class="comment">// namespace dispatch</span>
+<a name="l00197"></a>00197 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00198"></a>00198 <span class="preprocessor"></span>
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200
+<a name="l00213"></a>00213 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2>
+<a name="l00214"></a><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">00214</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>(Geometry1 <span class="keyword">const</span>& geometry,
+<a name="l00215"></a>00215 Geometry2& out)
+<a name="l00216"></a>00216 {
+<a name="l00217"></a>00217 concept::check<const Geometry1>();
+<a name="l00218"></a>00218 concept::check<Geometry2>();
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">dispatch::convex_hull</a>
+<a name="l00221"></a>00221 <
+<a name="l00222"></a>00222 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry1>::type</a>,
+<a name="l00223"></a>00223 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry1>::type::value</a>,
+<a name="l00224"></a>00224 Geometry1,
+<a name="l00225"></a>00225 Geometry2
+<a name="l00226"></a>00226 >::apply(geometry, out);
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229
+<a name="l00243"></a>00243 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator>
+<a name="l00244"></a><a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">00244</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">convex_hull_inserter</a>(Geometry <span class="keyword">const</span>& geometry,
+<a name="l00245"></a>00245 OutputIterator out)
+<a name="l00246"></a>00246 {
+<a name="l00247"></a>00247 <span class="comment">// Concept: output point type = point type of input geometry</span>
+<a name="l00248"></a>00248 concept::check<const Geometry>();
+<a name="l00249"></a>00249 concept::check<typename point_type<Geometry>::type>();
<a name="l00250"></a>00250
-<a name="l00251"></a>00251 } <span class="comment">// namespace ggl</span>
-<a name="l00252"></a>00252
-<a name="l00253"></a>00253 <span class="preprocessor">#endif // GGL_ALGORITHMS_CONVEX_HULL_HPP</span>
+<a name="l00251"></a>00251 <span class="keywordflow">return</span> <a class="code" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72" title="Calculate the convex hull of a geometry, output-iterator version.">dispatch::convex_hull_inserter</a>
+<a name="l00252"></a>00252 <
+<a name="l00253"></a>00253 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00254"></a>00254 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order<Geometry>::value</a>,
+<a name="l00255"></a>00255 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
+<a name="l00256"></a>00256 Geometry
+<a name="l00257"></a>00257 >::apply(geometry, out);
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259
+<a name="l00260"></a>00260
+<a name="l00261"></a>00261 } <span class="comment">// namespace ggl</span>
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="preprocessor">#endif // GGL_ALGORITHMS_CONVEX_HULL_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,8 +50,8 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">ggl::correct</a> (G &geometry)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">ggl::correct</a> (Geometry &geometry)</td></tr>
</table>
</div>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,184 +51,187 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_CORRECT_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_CORRECT_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <algorithm></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <functional></span>
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>></span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>></span>
-<a name="l00027"></a>00027
+<a name="l00012"></a>00012 <span class="preprocessor">#include <cstddef></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include <algorithm></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <functional></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>></span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>></span>
<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a> {
-<a name="l00034"></a>00034
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">namespace </span>ggl
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a> {
<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keywordtype">int</span> Dimension, <span class="keywordtype">int</span> DimensionCount>
-<a name="l00037"></a>00037 <span class="keyword">struct </span>correct_box_loop
-<a name="l00038"></a>00038 {
-<a name="l00039"></a>00039 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Box>::type coordinate_type;
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 <span class="keywordflow">if</span> (get<min_corner, Dimension>(box) > get<max_corner, Dimension>(box))
-<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 <span class="comment">// Swap the coordinates</span>
-<a name="l00046"></a>00046 coordinate_type max_value = get<min_corner, Dimension>(box);
-<a name="l00047"></a>00047 coordinate_type min_value = get<max_corner, Dimension>(box);
-<a name="l00048"></a>00048 set<min_corner, Dimension>(box, min_value);
-<a name="l00049"></a>00049 set<max_corner, Dimension>(box, max_value);
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 correct_box_loop
-<a name="l00053"></a>00053 <
-<a name="l00054"></a>00054 Box, Dimension + 1, DimensionCount
-<a name="l00055"></a>00055 >::apply(box);
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057 };
-<a name="l00058"></a>00058
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00038"></a>00038 <span class="keyword">struct </span>correct_box_loop
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Box>::type coordinate_type;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordflow">if</span> (get<min_corner, Dimension>(box) > get<max_corner, Dimension>(box))
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="comment">// Swap the coordinates</span>
+<a name="l00047"></a>00047 coordinate_type max_value = get<min_corner, Dimension>(box);
+<a name="l00048"></a>00048 coordinate_type min_value = get<max_corner, Dimension>(box);
+<a name="l00049"></a>00049 set<min_corner, Dimension>(box, min_value);
+<a name="l00050"></a>00050 set<max_corner, Dimension>(box, max_value);
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 correct_box_loop
+<a name="l00054"></a>00054 <
+<a name="l00055"></a>00055 Box, Dimension + 1, DimensionCount
+<a name="l00056"></a>00056 >::apply(box);
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058 };
<a name="l00059"></a>00059
<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keywordtype">int</span> DimensionCount>
-<a name="l00062"></a>00062 <span class="keyword">struct </span>correct_box_loop<Box, DimensionCount, DimensionCount>
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
-<a name="l00065"></a>00065 {}
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 };
-<a name="l00068"></a>00068
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00063"></a>00063 <span class="keyword">struct </span>correct_box_loop<Box, DimensionCount, DimensionCount>
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
+<a name="l00066"></a>00066 {}
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 };
<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="comment">// correct an box: make min/max are correct</span>
-<a name="l00071"></a>00071 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00072"></a>00072 <span class="keyword">struct </span>correct_box
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
-<a name="l00076"></a>00076 {
-<a name="l00077"></a>00077 <span class="comment">// Currently only for Cartesian coordinates</span>
-<a name="l00078"></a>00078 <span class="comment">// TODO: adapt using strategies</span>
-<a name="l00079"></a>00079 correct_box_loop
-<a name="l00080"></a>00080 <
-<a name="l00081"></a>00081 Box, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
-<a name="l00082"></a>00082 >::apply(box);
-<a name="l00083"></a>00083 }
-<a name="l00084"></a>00084 };
-<a name="l00085"></a>00085
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="comment">// correct an box: make min/max are correct</span>
+<a name="l00072"></a>00072 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00073"></a>00073 <span class="keyword">struct </span>correct_box
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="comment">// Currently only for Cartesian coordinates</span>
+<a name="l00079"></a>00079 <span class="comment">// TODO: adapt using strategies</span>
+<a name="l00080"></a>00080 correct_box_loop
+<a name="l00081"></a>00081 <
+<a name="l00082"></a>00082 Box, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
+<a name="l00083"></a>00083 >::apply(box);
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085 };
<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="comment">// close a linear_ring, if not closed</span>
-<a name="l00088"></a>00088 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Predicate>
-<a name="l00089"></a>00089 <span class="keyword">struct </span>correct_ring
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Ring>::type point_type;
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_area
-<a name="l00094"></a>00094 <
-<a name="l00095"></a>00095 <span class="keyword">typename</span> cs_tag<point_type>::type,
-<a name="l00096"></a>00096 point_type
-<a name="l00097"></a>00097 >::type strategy_type;
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keyword">typedef</span> detail::area::ring_area
-<a name="l00100"></a>00100 <
-<a name="l00101"></a>00101 Ring,
-<a name="l00102"></a>00102 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order<Ring>::value</a>,
-<a name="l00103"></a>00103 strategy_type
-<a name="l00104"></a>00104 > ring_area_type;
-<a name="l00105"></a>00105
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="comment">// close a linear_ring, if not closed</span>
+<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Predicate>
+<a name="l00090"></a>00090 <span class="keyword">struct </span>correct_ring
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Ring>::type point_type;
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_area
+<a name="l00095"></a>00095 <
+<a name="l00096"></a>00096 <span class="keyword">typename</span> cs_tag<point_type>::type,
+<a name="l00097"></a>00097 point_type
+<a name="l00098"></a>00098 >::type strategy_type;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">typedef</span> detail::area::ring_area
+<a name="l00101"></a>00101 <
+<a name="l00102"></a>00102 Ring,
+<a name="l00103"></a>00103 <a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">ggl::point_order<Ring>::value</a>,
+<a name="l00104"></a>00104 strategy_type
+<a name="l00105"></a>00105 > ring_area_type;
<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring& r)
-<a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 <span class="comment">// Check close-ness</span>
-<a name="l00110"></a>00110 <span class="keywordflow">if</span> (boost::size(r) > 2)
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112 <span class="comment">// check if closed, if not, close it</span>
-<a name="l00113"></a>00113 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(r.front(), r.back()))
-<a name="l00114"></a>00114 {
-<a name="l00115"></a>00115 r.push_back(r.front());
-<a name="l00116"></a>00116 }
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118 <span class="comment">// Check area</span>
-<a name="l00119"></a>00119 Predicate predicate;
-<a name="l00120"></a>00120 <span class="keywordflow">if</span> (predicate(ring_area_type::apply(r, strategy_type()), 0))
-<a name="l00121"></a>00121 {
-<a name="l00122"></a>00122 std::reverse(boost::begin(r), boost::end(r));
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125 };
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <span class="comment">// correct a polygon: normalizes all rings, sets outer linear_ring clockwise, sets all</span>
-<a name="l00128"></a>00128 <span class="comment">// inner rings counter clockwise</span>
-<a name="l00129"></a>00129 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
-<a name="l00130"></a>00130 <span class="keyword">struct </span>correct_polygon
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Polygon>::type ring_type;
-<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon& poly)
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 correct_ring<ring_type, std::less<double> >::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly));
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
-<a name="l00139"></a>00139 <
-<a name="l00140"></a>00140 <span class="keyword">typename</span> interior_type<Polygon>::type
-<a name="l00141"></a>00141 >::type iterator_type;
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00144"></a>00144 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); ++it)
-<a name="l00145"></a>00145 {
-<a name="l00146"></a>00146 correct_ring<ring_type, std::greater<double> >::apply(*it);
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149 };
-<a name="l00150"></a>00150
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring& r)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="comment">// Check close-ness</span>
+<a name="l00111"></a>00111 <span class="keywordflow">if</span> (boost::size(r) > 2)
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 <span class="comment">// check if closed, if not, close it</span>
+<a name="l00114"></a>00114 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(r.front(), r.back()))
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 r.push_back(r.front());
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119 <span class="comment">// Check area</span>
+<a name="l00120"></a>00120 Predicate predicate;
+<a name="l00121"></a>00121 <span class="keywordflow">if</span> (predicate(ring_area_type::apply(r, strategy_type()), 0))
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 std::reverse(boost::begin(r), boost::end(r));
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126 };
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="comment">// correct a polygon: normalizes all rings, sets outer linear_ring clockwise, sets all</span>
+<a name="l00129"></a>00129 <span class="comment">// inner rings counter clockwise</span>
+<a name="l00130"></a>00130 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00131"></a>00131 <span class="keyword">struct </span>correct_polygon
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Polygon>::type ring_type;
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon& poly)
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 correct_ring<ring_type, std::less<double> >::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly));
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00140"></a>00140 <
+<a name="l00141"></a>00141 <span class="keyword">typename</span> interior_type<Polygon>::type
+<a name="l00142"></a>00142 >::type iterator_type;
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00145"></a>00145 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); ++it)
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 correct_ring<ring_type, std::greater<double> >::apply(*it);
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150 };
<a name="l00151"></a>00151
-<a name="l00152"></a>00152 }} <span class="comment">// namespace detail::correct</span>
-<a name="l00153"></a>00153 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00154"></a>00154 <span class="preprocessor"></span>
-<a name="l00155"></a>00155 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00156"></a>00156 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G>
-<a name="l00160"></a>00160 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a> {};
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
-<a name="l00163"></a>00163 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a><box_tag, B>
-<a name="l00164"></a>00164 : detail::<a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>::correct_box<B>
-<a name="l00165"></a>00165 {};
-<a name="l00166"></a>00166
-<a name="l00167"></a>00167 <span class="keyword">template</span> <<span class="keyword">typename</span> R>
-<a name="l00168"></a>00168 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a><ring_tag, R>
-<a name="l00169"></a>00169 : detail::<a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>::correct_ring<R, std::less<double> >
-<a name="l00170"></a>00170 {};
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00173"></a>00173 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a><polygon_tag, P>
-<a name="l00174"></a>00174 : detail::<a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>::correct_polygon<P>
-<a name="l00175"></a>00175 {};
-<a name="l00176"></a>00176
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 }} <span class="comment">// namespace detail::correct</span>
+<a name="l00154"></a>00154 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00155"></a>00155 <span class="preprocessor"></span>
+<a name="l00156"></a>00156 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry>
+<a name="l00161"></a>00161 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a> {};
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00164"></a>00164 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a><box_tag, Box>
+<a name="l00165"></a>00165 : detail::<a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>::correct_box<Box>
+<a name="l00166"></a>00166 {};
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring>
+<a name="l00169"></a>00169 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a><ring_tag, Ring>
+<a name="l00170"></a>00170 : detail::<a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>::correct_ring<Ring, std::less<double> >
+<a name="l00171"></a>00171 {};
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a><polygon_tag, Polygon>
+<a name="l00175"></a>00175 : detail::<a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>::correct_polygon<Polygon>
+<a name="l00176"></a>00176 {};
<a name="l00177"></a>00177
-<a name="l00178"></a>00178 } <span class="comment">// namespace dispatch</span>
-<a name="l00179"></a>00179 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00180"></a>00180 <span class="preprocessor"></span>
-<a name="l00181"></a>00181 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00182"></a><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">00182</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>(G& geometry)
-<a name="l00183"></a>00183 {
-<a name="l00184"></a>00184 dispatch::correct<typename tag<G>::type, G>::apply(geometry);
-<a name="l00185"></a>00185 }
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 } <span class="comment">// namespace dispatch</span>
+<a name="l00180"></a>00180 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00181"></a>00181 <span class="preprocessor"></span>
+<a name="l00182"></a>00182 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00183"></a><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">00183</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>(Geometry& geometry)
+<a name="l00184"></a>00184 {
+<a name="l00185"></a>00185 concept::check<const Geometry>();
<a name="l00186"></a>00186
-<a name="l00187"></a>00187 } <span class="comment">// namespace ggl</span>
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="preprocessor">#endif // GGL_ALGORITHMS_CORRECT_HPP</span>
+<a name="l00187"></a>00187 dispatch::correct<typename tag<Geometry>::type, Geometry>::apply(geometry);
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 } <span class="comment">// namespace ggl</span>
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="preprocessor">#endif // GGL_ALGORITHMS_CORRECT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2distance_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -308,36 +308,39 @@
<a name="l00328"></a><a class="code" href="group__distance.html#gd122aa78e960f37b9d61bb02c6913f55">00328</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1distance__result.html" title="Shortcut to define return type of distance strategy.">distance_result<Geometry1, Geometry2>::type</a> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(
<a name="l00329"></a>00329 Geometry1 <span class="keyword">const</span>& geometry1, Geometry2 <span class="keyword">const</span>& geometry2)
<a name="l00330"></a>00330 {
-<a name="l00331"></a>00331 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry1>::type</a> point1_type;
-<a name="l00332"></a>00332 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry2>::type</a> point2_type;
+<a name="l00331"></a>00331 concept::check<const Geometry1>();
+<a name="l00332"></a>00332 concept::check<const Geometry2>();
<a name="l00333"></a>00333
-<a name="l00334"></a>00334 <span class="comment">// Define a point-point-distance-strategy</span>
-<a name="l00335"></a>00335 <span class="comment">// for either the normal case, either the reversed case</span>
-<a name="l00336"></a>00336 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
-<a name="l00337"></a>00337 <
-<a name="l00338"></a>00338 <a class="code" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch<Geometry1, Geometry2>::type::value</a>,
-<a name="l00339"></a>00339 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
-<a name="l00340"></a>00340 <
-<a name="l00341"></a>00341 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point2_type>::type</a>,
-<a name="l00342"></a>00342 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point1_type>::type</a>,
-<a name="l00343"></a>00343 point2_type,
-<a name="l00344"></a>00344 point1_type
-<a name="l00345"></a>00345 >::type,
-<a name="l00346"></a>00346 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
-<a name="l00347"></a>00347 <
-<a name="l00348"></a>00348 <span class="keyword">typename</span> cs_tag<point1_type>::type,
-<a name="l00349"></a>00349 <span class="keyword">typename</span> cs_tag<point2_type>::type,
-<a name="l00350"></a>00350 point1_type,
-<a name="l00351"></a>00351 point2_type
-<a name="l00352"></a>00352 >::type
-<a name="l00353"></a>00353 >::type strategy;
-<a name="l00354"></a>00354
-<a name="l00355"></a>00355 <span class="keywordflow">return</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(geometry1, geometry2, strategy());
-<a name="l00356"></a>00356 }
+<a name="l00334"></a>00334 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry1>::type</a> point1_type;
+<a name="l00335"></a>00335 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry2>::type</a> point2_type;
+<a name="l00336"></a>00336
+<a name="l00337"></a>00337 <span class="comment">// Define a point-point-distance-strategy</span>
+<a name="l00338"></a>00338 <span class="comment">// for either the normal case, either the reversed case</span>
+<a name="l00339"></a>00339 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00340"></a>00340 <
+<a name="l00341"></a>00341 <a class="code" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch<Geometry1, Geometry2>::type::value</a>,
+<a name="l00342"></a>00342 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00343"></a>00343 <
+<a name="l00344"></a>00344 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point2_type>::type</a>,
+<a name="l00345"></a>00345 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point1_type>::type</a>,
+<a name="l00346"></a>00346 point2_type,
+<a name="l00347"></a>00347 point1_type
+<a name="l00348"></a>00348 >::type,
+<a name="l00349"></a>00349 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00350"></a>00350 <
+<a name="l00351"></a>00351 <span class="keyword">typename</span> cs_tag<point1_type>::type,
+<a name="l00352"></a>00352 <span class="keyword">typename</span> cs_tag<point2_type>::type,
+<a name="l00353"></a>00353 point1_type,
+<a name="l00354"></a>00354 point2_type
+<a name="l00355"></a>00355 >::type
+<a name="l00356"></a>00356 >::type strategy;
<a name="l00357"></a>00357
-<a name="l00358"></a>00358 } <span class="comment">// namespace ggl</span>
-<a name="l00359"></a>00359
-<a name="l00360"></a>00360 <span class="preprocessor">#endif // GGL_ALGORITHMS_DISTANCE_HPP</span>
+<a name="l00358"></a>00358 <span class="keywordflow">return</span> <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(geometry1, geometry2, strategy());
+<a name="l00359"></a>00359 }
+<a name="l00360"></a>00360
+<a name="l00361"></a>00361 } <span class="comment">// namespace ggl</span>
+<a name="l00362"></a>00362
+<a name="l00363"></a>00363 <span class="preprocessor">#endif // GGL_ALGORITHMS_DISTANCE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,22 +50,22 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename B > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g89671917cfb1753f65d4bcc2fc334bf9">ggl::envelope</a> (G const &geometry, B &mbr)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Box > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67">ggl::envelope</a> (Geometry const &geometry, Box &mbr)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename B , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">ggl::envelope</a> (G const &geometry, B &mbr, S const &strategy)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B , typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g938cf2804a87e138cbf4b5b65314a3e4">ggl::make_envelope</a> (G const &geometry)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B , typename G , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">ggl::make_envelope</a> (G const &geometry, S const &strategy)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Box , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8">ggl::envelope</a> (Geometry const &geometry, Box &mbr, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Box , typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">ggl::make_envelope</a> (Geometry const &geometry)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Box , typename Geometry , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g41b5f1545e745767f7afa6b1b889d279">ggl::make_envelope</a> (Geometry const &geometry, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
</table>
</div>
<hr size="1">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,252 +51,227 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_ENVELOPE_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_ENVELOPE_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="combine_8hpp.html">ggl/algorithms/combine.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="box__concept_8hpp.html">ggl/core/concepts/box_concept.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="linestring__concept_8hpp.html">ggl/core/concepts/linestring_concept.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="polygon__concept_8hpp.html">ggl/core/concepts/polygon_concept.hpp</a>></span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="ring__concept_8hpp.html">ggl/core/concepts/ring_concept.hpp</a>></span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
-<a name="l00028"></a>00028
-<a name="l00061"></a>00061 <span class="keyword">namespace </span>ggl
-<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a> {
-<a name="l00066"></a>00066
-<a name="l00068"></a>00068 <span class="keyword">template</span><<span class="keyword">typename</span> B, <span class="keyword">typename</span> S, <span class="keyword">typename</span> Strategy>
-<a name="l00069"></a>00069 <span class="keyword">struct </span>envelope_nsphere
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S <span class="keyword">const</span>& s, B& mbr, Strategy <span class="keyword">const</span>&)
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 assert_dimension<S, 2>();
-<a name="l00074"></a>00074 assert_dimension<B, 2>();
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">typename</span> radius_type<S>::type r = get_radius<0>(s);
-<a name="l00077"></a>00077 set<min_corner, 0>(mbr, get<0>(s) - r);
-<a name="l00078"></a>00078 set<min_corner, 1>(mbr, get<1>(s) - r);
-<a name="l00079"></a>00079 set<max_corner, 0>(mbr, get<0>(s) + r);
-<a name="l00080"></a>00080 set<max_corner, 1>(mbr, get<1>(s) + r);
+<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="combine_8hpp.html">ggl/algorithms/combine.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00025"></a>00025
+<a name="l00063"></a>00063 <span class="keyword">namespace </span>ggl
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a> {
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00072"></a>00072 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00073"></a>00073 <span class="keyword">struct </span>envelope_point
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>& p, Box& mbr, Strategy <span class="keyword">const</span>&)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="comment">// Envelope of a point is an empty box, a box with zero volume, located</span>
+<a name="l00078"></a>00078 <span class="comment">// at the point.</span>
+<a name="l00079"></a>00079 <span class="comment">// We just use the convert algorithm here</span>
+<a name="l00080"></a>00080 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">ggl::convert</a>(p, mbr);
<a name="l00081"></a>00081 }
<a name="l00082"></a>00082 };
<a name="l00083"></a>00083
<a name="l00084"></a>00084
-<a name="l00086"></a>00086 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00087"></a>00087 <span class="keyword">struct </span>envelope_point
+<a name="l00086"></a>00086 <span class="keyword">template</span><<span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00087"></a>00087 <span class="keyword">struct </span>envelope_segment
<a name="l00088"></a>00088 {
-<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& p, B& mbr, Strategy <span class="keyword">const</span>&)
+<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Segment <span class="keyword">const</span>& s, Box& mbr, Strategy <span class="keyword">const</span>&)
<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <span class="comment">// Envelope of a point is an empty box, a box with zero volume, located at the point.</span>
-<a name="l00092"></a>00092 <span class="comment">// We just use the convert algorithm here</span>
-<a name="l00093"></a>00093 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">ggl::convert</a>(p, mbr);
-<a name="l00094"></a>00094 }
-<a name="l00095"></a>00095 };
-<a name="l00096"></a>00096
+<a name="l00091"></a>00091 <span class="comment">// TODO: remove s.first/s.second, use strategies</span>
+<a name="l00092"></a>00092 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">ggl::assign_inverse</a>(mbr);
+<a name="l00093"></a>00093 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(mbr, s.first);
+<a name="l00094"></a>00094 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(mbr, s.second);
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096 };
<a name="l00097"></a>00097
-<a name="l00099"></a>00099 <span class="keyword">template</span><<span class="keyword">typename</span> S, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00100"></a>00100 <span class="keyword">struct </span>envelope_segment
-<a name="l00101"></a>00101 {
-<a name="l00102"></a>00102 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S <span class="keyword">const</span>& s, B& mbr, Strategy <span class="keyword">const</span>&)
-<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104 <span class="comment">// TODO: remove s.first/s.second, use strategies</span>
-<a name="l00105"></a>00105 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">ggl::assign_inverse</a>(mbr);
-<a name="l00106"></a>00106 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(mbr, s.first);
-<a name="l00107"></a>00107 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(mbr, s.second);
-<a name="l00108"></a>00108 }
-<a name="l00109"></a>00109 };
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111
-<a name="l00113"></a>00113 <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> Strategy>
-<a name="l00114"></a>00114 <span class="keyword">inline</span> <span class="keywordtype">void</span> envelope_range_state(R <span class="keyword">const</span>& range, Strategy <span class="keyword">const</span>& strategy, <span class="keyword">typename</span> Strategy::state_type& state)
-<a name="l00115"></a>00115 {
-<a name="l00116"></a>00116 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<R>::type iterator_type;
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="keywordflow">for</span> (iterator_type it = boost::begin(range); it != boost::end(range); it++)
-<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 strategy(*it, state);
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125
-<a name="l00127"></a>00127 <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00128"></a>00128 <span class="keyword">struct </span>envelope_range
-<a name="l00129"></a>00129 {
-<a name="l00131"></a>00131 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(R <span class="keyword">const</span>& range, B& mbr, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00132"></a>00132 {
-<a name="l00133"></a>00133 <span class="keyword">typename</span> Strategy::state_type state(mbr);
-<a name="l00134"></a>00134 envelope_range_state(range, strategy, state);
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136 };
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 }} <span class="comment">// namespace detail::envelope</span>
-<a name="l00139"></a>00139 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00140"></a>00140 <span class="preprocessor"></span>
-<a name="l00141"></a>00141 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00143"></a>00143 {
+<a name="l00098"></a>00098
+<a name="l00100"></a>00100 <span class="keyword">template</span><<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy>
+<a name="l00101"></a>00101 <span class="keyword">inline</span> <span class="keywordtype">void</span> envelope_range_state(Range <span class="keyword">const</span>& range,
+<a name="l00102"></a>00102 Strategy <span class="keyword">const</span>& strategy, <span class="keyword">typename</span> Strategy::state_type& state)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keywordflow">for</span> (iterator_type it = boost::begin(range);
+<a name="l00107"></a>00107 it != boost::end(range);
+<a name="l00108"></a>00108 ++it)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 strategy(*it, state);
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115
+<a name="l00117"></a>00117 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00118"></a>00118 <span class="keyword">struct </span>envelope_range
+<a name="l00119"></a>00119 {
+<a name="l00121"></a>00121 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>& range, Box& mbr,
+<a name="l00122"></a>00122 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="keyword">typename</span> Strategy::state_type state(mbr);
+<a name="l00125"></a>00125 envelope_range_state(range, strategy, state);
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127 };
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 }} <span class="comment">// namespace detail::envelope</span>
+<a name="l00130"></a>00130 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00131"></a>00131 <span class="preprocessor"></span>
+<a name="l00132"></a>00132 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keyword">template</span>
+<a name="l00137"></a>00137 <
+<a name="l00138"></a>00138 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2,
+<a name="l00139"></a>00139 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Box,
+<a name="l00140"></a>00140 <span class="keyword">typename</span> Strategy
+<a name="l00141"></a>00141 >
+<a name="l00142"></a>00142 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a> {};
+<a name="l00143"></a>00143
<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="keyword">template</span>
-<a name="l00146"></a>00146 <
-<a name="l00147"></a>00147 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2,
-<a name="l00148"></a>00148 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Box,
-<a name="l00149"></a>00149 <span class="keyword">typename</span> Strategy
-<a name="l00150"></a>00150 >
-<a name="l00151"></a>00151 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a> {};
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00155"></a>00155 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><point_tag, box_tag, P, B, Strategy>
-<a name="l00156"></a>00156 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_point<P, B, Strategy>
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158 <span class="keyword">private</span>:
-<a name="l00159"></a>00159 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<P>) );
-<a name="l00160"></a>00160 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00161"></a>00161 };
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00165"></a>00165 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><box_tag, box_tag, B, B, Strategy>
-<a name="l00166"></a>00166 {
-<a name="l00172"></a>00172 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B <span class="keyword">const</span>& b, B& mbr, Strategy <span class="keyword">const</span>&)
-<a name="l00173"></a>00173 {
-<a name="l00174"></a>00174 mbr = b;
-<a name="l00175"></a>00175 }
-<a name="l00176"></a>00176
-<a name="l00177"></a>00177 <span class="keyword">private</span>:
-<a name="l00178"></a>00178 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00179"></a>00179 };
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182 <span class="keyword">template</span> <<span class="keyword">typename</span> S, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00183"></a>00183 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><segment_tag, box_tag, S, B, Strategy>
-<a name="l00184"></a>00184 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_segment<S, B, Strategy>
-<a name="l00185"></a>00185 {};
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <span class="keyword">template</span> <<span class="keyword">typename</span> S, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00189"></a>00189 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><nsphere_tag, box_tag, S, B, Strategy>
-<a name="l00190"></a>00190 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_nsphere<S, B, Strategy>
-<a name="l00191"></a>00191 {
-<a name="l00192"></a>00192 <span class="keyword">private</span>:
-<a name="l00193"></a>00193 BOOST_CONCEPT_ASSERT( (concept::ConstNsphere<S>) );
-<a name="l00194"></a>00194 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00195"></a>00195 };
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 <span class="keyword">template</span> <<span class="keyword">typename</span> L, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00198"></a>00198 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><linestring_tag, box_tag, L, B, Strategy>
-<a name="l00199"></a>00199 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_range<L, B, Strategy>
-<a name="l00200"></a>00200 {
-<a name="l00201"></a>00201 <span class="keyword">private</span>:
-<a name="l00202"></a>00202 BOOST_CONCEPT_ASSERT( (concept::ConstLinestring<L>) );
-<a name="l00203"></a>00203 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00204"></a>00204 };
-<a name="l00205"></a>00205
-<a name="l00206"></a>00206
-<a name="l00207"></a>00207 <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00208"></a>00208 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><ring_tag, box_tag, R, B, Strategy>
-<a name="l00209"></a>00209 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_range<R, B, Strategy>
-<a name="l00210"></a>00210 {
-<a name="l00211"></a>00211 <span class="keyword">private</span>:
-<a name="l00212"></a>00212 BOOST_CONCEPT_ASSERT( (concept::ConstRing<R>) );
-<a name="l00213"></a>00213 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00214"></a>00214 };
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216
-<a name="l00217"></a>00217 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00218"></a>00218 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><polygon_tag, box_tag, P, B, Strategy>
-<a name="l00219"></a>00219 {
-<a name="l00220"></a>00220 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& poly, B& mbr, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00221"></a>00221 {
-<a name="l00222"></a>00222 <span class="comment">// For polygon inspecting outer linear_ring is sufficient</span>
-<a name="l00223"></a>00223
-<a name="l00224"></a>00224 detail::envelope::envelope_range
-<a name="l00225"></a>00225 <
-<a name="l00226"></a>00226 <span class="keyword">typename</span> ring_type<P>::type,
-<a name="l00227"></a>00227 B,
-<a name="l00228"></a>00228 Strategy
-<a name="l00229"></a>00229 >::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), mbr, strategy);
-<a name="l00230"></a>00230 }
+<a name="l00145"></a>00145 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00146"></a>00146 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><point_tag, box_tag, Point, Box, Strategy>
+<a name="l00147"></a>00147 : detail::<a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_point<Point, Box, Strategy>
+<a name="l00148"></a>00148 {};
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00152"></a>00152 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><box_tag, box_tag, Box, Box, Strategy>
+<a name="l00153"></a>00153 {
+<a name="l00159"></a>00159 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>& box, Box& mbr, Strategy <span class="keyword">const</span>&)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 mbr = box;
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163 };
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00167"></a>00167 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><segment_tag, box_tag, Segment, Box, Strategy>
+<a name="l00168"></a>00168 : detail::<a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_segment<Segment, Box, Strategy>
+<a name="l00169"></a>00169 {};
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><linestring_tag, box_tag, Linestring, Box, Strategy>
+<a name="l00175"></a>00175 : detail::<a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_range<Linestring, Box, Strategy>
+<a name="l00176"></a>00176 {};
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00180"></a>00180 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><ring_tag, box_tag, Ring, Box, Strategy>
+<a name="l00181"></a>00181 : detail::<a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_range<Ring, Box, Strategy>
+<a name="l00182"></a>00182 {};
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00186"></a>00186 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><polygon_tag, box_tag, Polygon, Box, Strategy>
+<a name="l00187"></a>00187 {
+<a name="l00188"></a>00188 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& poly, Box& mbr,
+<a name="l00189"></a>00189 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00190"></a>00190 {
+<a name="l00191"></a>00191 <span class="comment">// For polygon, inspecting outer ring is sufficient</span>
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 detail::envelope::envelope_range
+<a name="l00194"></a>00194 <
+<a name="l00195"></a>00195 <span class="keyword">typename</span> ring_type<Polygon>::type,
+<a name="l00196"></a>00196 Box,
+<a name="l00197"></a>00197 Strategy
+<a name="l00198"></a>00198 >::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), mbr, strategy);
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 };
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203
+<a name="l00204"></a>00204 } <span class="comment">// namespace dispatch</span>
+<a name="l00205"></a>00205 <span class="preprocessor">#endif</span>
+<a name="l00206"></a>00206 <span class="preprocessor"></span>
+<a name="l00207"></a>00207
+<a name="l00215"></a>00215 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00216"></a><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8">00216</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(Geometry <span class="keyword">const</span>& geometry,
+<a name="l00217"></a>00217 Box& mbr, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 concept::check<const Geometry>();
+<a name="l00220"></a>00220 concept::check<Box>();
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">dispatch::envelope</a>
+<a name="l00223"></a>00223 <
+<a name="l00224"></a>00224 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>, <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Box>::type</a>,
+<a name="l00225"></a>00225 Geometry, Box, Strategy
+<a name="l00226"></a>00226 >::apply(geometry, mbr, strategy);
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230
<a name="l00231"></a>00231
-<a name="l00232"></a>00232 <span class="keyword">private</span>:
-<a name="l00233"></a>00233 BOOST_CONCEPT_ASSERT( (concept::ConstPolygon<P>) );
-<a name="l00234"></a>00234 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00235"></a>00235 };
-<a name="l00236"></a>00236
-<a name="l00237"></a>00237
-<a name="l00238"></a>00238 } <span class="comment">// namespace dispatch</span>
-<a name="l00239"></a>00239 <span class="preprocessor">#endif</span>
-<a name="l00240"></a>00240 <span class="preprocessor"></span>
-<a name="l00241"></a>00241
-<a name="l00249"></a>00249 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> B, <span class="keyword">typename</span> S>
-<a name="l00250"></a><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">00250</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(G <span class="keyword">const</span>& geometry, B& mbr, S <span class="keyword">const</span>& strategy)
-<a name="l00251"></a>00251 {
-<a name="l00252"></a>00252 <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">dispatch::envelope</a>
-<a name="l00253"></a>00253 <
-<a name="l00254"></a>00254 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>, <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<B>::type</a>,
-<a name="l00255"></a>00255 G, B, S
-<a name="l00256"></a>00256 >::apply(geometry, mbr, strategy);
-<a name="l00257"></a>00257 }
-<a name="l00258"></a>00258
-<a name="l00259"></a>00259
+<a name="l00244"></a>00244 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Box>
+<a name="l00245"></a><a class="code" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67">00245</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(Geometry <span class="keyword">const</span>& geometry, Box& mbr)
+<a name="l00246"></a>00246 {
+<a name="l00247"></a>00247 concept::check<const Geometry>();
+<a name="l00248"></a>00248 concept::check<Box>();
+<a name="l00249"></a>00249
+<a name="l00250"></a>00250 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__envelope.html" title="Traits class binding envelope strategy to a coordinate system.">strategy_envelope</a>
+<a name="l00251"></a>00251 <
+<a name="l00252"></a>00252 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<typename point_type<Geometry>::type</a>>::type,
+<a name="l00253"></a>00253 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<typename point_type<Box>::type</a>>::type,
+<a name="l00254"></a>00254 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a>,
+<a name="l00255"></a>00255 Box
+<a name="l00256"></a>00256 >::type strategy;
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258 <a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(geometry, mbr, strategy);
+<a name="l00259"></a>00259 }
<a name="l00260"></a>00260
<a name="l00261"></a>00261
-<a name="l00274"></a>00274 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> B>
-<a name="l00275"></a><a class="code" href="group__envelope.html#g89671917cfb1753f65d4bcc2fc334bf9">00275</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(G <span class="keyword">const</span>& geometry, B& mbr)
-<a name="l00276"></a>00276 {
-<a name="l00277"></a>00277 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__envelope.html" title="Traits class binding envelope strategy to a coordinate system.">strategy_envelope</a>
-<a name="l00278"></a>00278 <
-<a name="l00279"></a>00279 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<typename point_type<G>::type</a>>::type,
-<a name="l00280"></a>00280 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<typename point_type<B>::type</a>>::type,
-<a name="l00281"></a>00281 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<G>::type</a>,
-<a name="l00282"></a>00282 B
-<a name="l00283"></a>00283 >::type strategy;
+<a name="l00268"></a>00268 <span class="keyword">template</span><<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00269"></a><a class="code" href="group__envelope.html#g41b5f1545e745767f7afa6b1b889d279">00269</a> <span class="keyword">inline</span> Box <a class="code" href="group__envelope.html#g41b5f1545e745767f7afa6b1b889d279" title="Calculate and return envelope of a geometry.">make_envelope</a>(Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00270"></a>00270 {
+<a name="l00271"></a>00271 concept::check<const Geometry>();
+<a name="l00272"></a>00272 concept::check<Box>();
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 Box <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>;
+<a name="l00275"></a>00275 <a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">dispatch::envelope</a>
+<a name="l00276"></a>00276 <
+<a name="l00277"></a>00277 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>, <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Box>::type</a>,
+<a name="l00278"></a>00278 Geometry, Box, Strategy
+<a name="l00279"></a>00279 >::apply(geometry, box, strategy);
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="keywordflow">return</span> box;
+<a name="l00282"></a>00282 }
+<a name="l00283"></a>00283
<a name="l00284"></a>00284
-<a name="l00285"></a>00285 <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>(geometry, mbr, strategy);
-<a name="l00286"></a>00286 }
-<a name="l00287"></a>00287
-<a name="l00288"></a>00288
-<a name="l00295"></a>00295 <span class="keyword">template</span><<span class="keyword">typename</span> B, <span class="keyword">typename</span> G, <span class="keyword">typename</span> S>
-<a name="l00296"></a><a class="code" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">00296</a> <span class="keyword">inline</span> B <a class="code" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d" title="Calculate and return envelope of a geometry.">make_envelope</a>(G <span class="keyword">const</span>& geometry, S <span class="keyword">const</span>& strategy)
-<a name="l00297"></a>00297 {
-<a name="l00298"></a>00298 B <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>;
-<a name="l00299"></a>00299 <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">dispatch::envelope</a>
-<a name="l00300"></a>00300 <
-<a name="l00301"></a>00301 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>, <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<B>::type</a>,
-<a name="l00302"></a>00302 G, B, S
-<a name="l00303"></a>00303 >::apply(geometry, box, strategy);
-<a name="l00304"></a>00304
-<a name="l00305"></a>00305 <span class="keywordflow">return</span> box;
-<a name="l00306"></a>00306 }
-<a name="l00307"></a>00307
+<a name="l00290"></a>00290 <span class="keyword">template</span><<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry>
+<a name="l00291"></a><a class="code" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">00291</a> <span class="keyword">inline</span> Box <a class="code" href="group__envelope.html#g41b5f1545e745767f7afa6b1b889d279" title="Calculate and return envelope of a geometry.">make_envelope</a>(Geometry <span class="keyword">const</span>& geometry)
+<a name="l00292"></a>00292 {
+<a name="l00293"></a>00293 concept::check<const Geometry>();
+<a name="l00294"></a>00294 concept::check<Box>();
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__envelope.html" title="Traits class binding envelope strategy to a coordinate system.">strategy_envelope</a>
+<a name="l00297"></a>00297 <
+<a name="l00298"></a>00298 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<typename point_type<Geometry>::type</a>>::type,
+<a name="l00299"></a>00299 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<typename point_type<Box>::type</a>>::type,
+<a name="l00300"></a>00300 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a>,
+<a name="l00301"></a>00301 Box
+<a name="l00302"></a>00302 >::type strategy;
+<a name="l00303"></a>00303 <span class="keywordflow">return</span> make_envelope<Box>(geometry, strategy);
+<a name="l00304"></a>00304 }
+<a name="l00305"></a>00305
+<a name="l00306"></a>00306
+<a name="l00307"></a>00307 } <span class="comment">// namespace ggl</span>
<a name="l00308"></a>00308
-<a name="l00314"></a>00314 <span class="keyword">template</span><<span class="keyword">typename</span> B, <span class="keyword">typename</span> G>
-<a name="l00315"></a><a class="code" href="group__envelope.html#g938cf2804a87e138cbf4b5b65314a3e4">00315</a> <span class="keyword">inline</span> B <a class="code" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d" title="Calculate and return envelope of a geometry.">make_envelope</a>(G <span class="keyword">const</span>& geometry)
-<a name="l00316"></a>00316 {
-<a name="l00317"></a>00317 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__envelope.html" title="Traits class binding envelope strategy to a coordinate system.">strategy_envelope</a>
-<a name="l00318"></a>00318 <
-<a name="l00319"></a>00319 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<typename point_type<G>::type</a>>::type,
-<a name="l00320"></a>00320 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<typename point_type<B>::type</a>>::type,
-<a name="l00321"></a>00321 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<G>::type</a>,
-<a name="l00322"></a>00322 B
-<a name="l00323"></a>00323 >::type strategy;
-<a name="l00324"></a>00324 <span class="keywordflow">return</span> make_envelope<B>(geometry, strategy);
-<a name="l00325"></a>00325 }
-<a name="l00326"></a>00326
-<a name="l00327"></a>00327
-<a name="l00328"></a>00328 } <span class="comment">// namespace ggl</span>
-<a name="l00329"></a>00329
-<a name="l00330"></a>00330 <span class="preprocessor">#endif // GGL_ALGORITHMS_ENVELOPE_HPP</span>
+<a name="l00309"></a>00309 <span class="preprocessor">#endif // GGL_ALGORITHMS_ENVELOPE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2for__each_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,311 +53,323 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include <algorithm></span>
<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include <<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>></span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include <<a class="code" href="iterators_2vertex__iterator_8hpp.html">ggl/iterators/vertex_iterator.hpp</a>></span>
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="keyword">namespace </span>ggl
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>for_each {
-<a name="l00040"></a>00040
+<a name="l00023"></a>00023 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>></span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include <<a class="code" href="iterators_2vertex__iterator_8hpp.html">ggl/iterators/vertex_iterator.hpp</a>></span>
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">namespace </span>ggl
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>for_each {
<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="comment">// There is probably something in boost type_traits</span>
-<a name="l00043"></a>00043 <span class="comment">// or MPL with this functionality</span>
-<a name="l00044"></a>00044 <span class="keyword">template</span> <<span class="keyword">typename</span> Type, <span class="keywordtype">bool</span> IsConst>
-<a name="l00045"></a>00045 <span class="keyword">struct </span>c_nc
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
-<a name="l00048"></a>00048 <
-<a name="l00049"></a>00049 IsConst,
-<a name="l00050"></a>00050 <span class="keyword">const</span> Type,
-<a name="l00051"></a>00051 Type
-<a name="l00052"></a>00052 >::type type;
-<a name="l00053"></a>00053 };
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="comment">// Utility to adapt a boost-range for const/non const</span>
-<a name="l00056"></a>00056 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> IsConst>
-<a name="l00057"></a>00057 <span class="keyword">struct </span>c_nc_range
-<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
-<a name="l00060"></a>00060 <
-<a name="l00061"></a>00061 IsConst,
-<a name="l00062"></a>00062 <span class="keyword">typename</span> boost::range_const_iterator<Range>::type,
-<a name="l00063"></a>00063 <span class="keyword">typename</span> boost::range_iterator<Range>::type
-<a name="l00064"></a>00064 >::type type;
-<a name="l00065"></a>00065 };
-<a name="l00066"></a>00066
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="comment">// There is probably something in boost type_traits</span>
+<a name="l00044"></a>00044 <span class="comment">// or MPL with this functionality</span>
+<a name="l00045"></a>00045 <span class="keyword">template</span> <<span class="keyword">typename</span> Type, <span class="keywordtype">bool</span> IsConst>
+<a name="l00046"></a>00046 <span class="keyword">struct </span>c_nc
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00049"></a>00049 <
+<a name="l00050"></a>00050 IsConst,
+<a name="l00051"></a>00051 <span class="keyword">const</span> Type,
+<a name="l00052"></a>00052 Type
+<a name="l00053"></a>00053 >::type type;
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="comment">// Utility to adapt a boost-range for const/non const</span>
+<a name="l00057"></a>00057 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> IsConst>
+<a name="l00058"></a>00058 <span class="keyword">struct </span>c_nc_range
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00061"></a>00061 <
+<a name="l00062"></a>00062 IsConst,
+<a name="l00063"></a>00063 <span class="keyword">typename</span> boost::range_const_iterator<Range>::type,
+<a name="l00064"></a>00064 <span class="keyword">typename</span> boost::range_iterator<Range>::type
+<a name="l00065"></a>00065 >::type type;
+<a name="l00066"></a>00066 };
<a name="l00067"></a>00067
-<a name="l00068"></a>00068 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00069"></a>00069 <span class="keyword">struct </span>fe_point_per_point
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
-<a name="l00072"></a>00072 <span class="keyword">typename</span> c_nc<Point, IsConst>::type& point, Functor f)
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 f(point);
-<a name="l00075"></a>00075 <span class="keywordflow">return</span> f;
-<a name="l00076"></a>00076 }
-<a name="l00077"></a>00077 };
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00080"></a>00080 <span class="keyword">struct </span>fe_point_per_segment
-<a name="l00081"></a>00081 {
-<a name="l00082"></a>00082 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
-<a name="l00083"></a>00083 <span class="keyword">typename</span> c_nc<Point, IsConst>::type& point, Functor f)
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <span class="keywordflow">return</span> f;
-<a name="l00086"></a>00086 }
-<a name="l00087"></a>00087 };
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00090"></a>00090 <span class="keyword">struct </span>fe_range_per_point
-<a name="l00091"></a>00091 {
-<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
-<a name="l00093"></a>00093 <span class="keyword">typename</span> c_nc<Range, IsConst>::type& range,
-<a name="l00094"></a>00094 Functor f)
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <span class="keywordflow">return</span> (std::for_each(boost::begin(range), boost::end(range), f));
-<a name="l00097"></a>00097 }
-<a name="l00098"></a>00098 };
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00101"></a>00101 <span class="keyword">struct </span>fe_range_per_segment
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
-<a name="l00104"></a>00104 <span class="keyword">typename</span> c_nc<Range, IsConst>::type& range,
-<a name="l00105"></a>00105 Functor f)
-<a name="l00106"></a>00106 {
-<a name="l00107"></a>00107 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator<Range, IsConst>::type</a> iterator_type;
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc
-<a name="l00110"></a>00110 <
-<a name="l00111"></a>00111 <span class="keyword">typename</span> point_type<Range>::type, IsConst
-<a name="l00112"></a>00112 >::type point_type;
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 iterator_type it = boost::begin(range);
-<a name="l00115"></a>00115 iterator_type previous = it++;
-<a name="l00116"></a>00116 <span class="keywordflow">while</span>(it != boost::end(range))
-<a name="l00117"></a>00117 {
-<a name="l00118"></a>00118 segment<point_type> s(*previous, *it);
-<a name="l00119"></a>00119 f(s);
-<a name="l00120"></a>00120 previous = it++;
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="keywordflow">return</span> f;
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125 };
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00070"></a>00070 <span class="keyword">struct </span>fe_point_per_point
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00073"></a>00073 <span class="keyword">typename</span> c_nc<Point, IsConst>::type& point, Functor f)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 f(point);
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> f;
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 };
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00081"></a>00081 <span class="keyword">struct </span>fe_point_per_segment
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00084"></a>00084 <span class="keyword">typename</span> c_nc<Point, IsConst>::type& point, Functor f)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keywordflow">return</span> f;
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088 };
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00091"></a>00091 <span class="keyword">struct </span>fe_range_per_point
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00094"></a>00094 <span class="keyword">typename</span> c_nc<Range, IsConst>::type& range,
+<a name="l00095"></a>00095 Functor f)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> (std::for_each(boost::begin(range), boost::end(range), f));
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00102"></a>00102 <span class="keyword">struct </span>fe_range_per_segment
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00105"></a>00105 <span class="keyword">typename</span> c_nc<Range, IsConst>::type& range,
+<a name="l00106"></a>00106 Functor f)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator</a>
+<a name="l00109"></a>00109 <
+<a name="l00110"></a>00110 Range, IsConst
+<a name="l00111"></a>00111 >::type iterator_type;
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc
+<a name="l00114"></a>00114 <
+<a name="l00115"></a>00115 <span class="keyword">typename</span> point_type<Range>::type, IsConst
+<a name="l00116"></a>00116 >::type point_type;
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 iterator_type it = boost::begin(range);
+<a name="l00119"></a>00119 iterator_type previous = it++;
+<a name="l00120"></a>00120 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 segment<point_type> s(*previous, *it);
+<a name="l00123"></a>00123 f(s);
+<a name="l00124"></a>00124 previous = it++;
+<a name="l00125"></a>00125 }
<a name="l00126"></a>00126
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00129"></a>00129 <span class="keyword">struct </span>fe_polygon_per_point
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
-<a name="l00132"></a>00132 <span class="keyword">typename</span> c_nc<Polygon, IsConst>::type& poly,
-<a name="l00133"></a>00133 Functor f)
-<a name="l00134"></a>00134 {
-<a name="l00135"></a>00135 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc_range
-<a name="l00136"></a>00136 <
-<a name="l00137"></a>00137 <span class="keyword">typename</span> interior_type<Polygon>::type,
-<a name="l00138"></a>00138 IsConst
-<a name="l00139"></a>00139 >::type iterator_type;
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="keyword">typedef</span> fe_range_per_point
-<a name="l00142"></a>00142 <
-<a name="l00143"></a>00143 <span class="keyword">typename</span> ring_type<Polygon>::type,
-<a name="l00144"></a>00144 Functor,
-<a name="l00145"></a>00145 IsConst
-<a name="l00146"></a>00146 > per_ring;
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148 f = per_ring::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00151"></a>00151 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00152"></a>00152 ++it)
-<a name="l00153"></a>00153 {
-<a name="l00154"></a>00154 f = per_ring::apply(*it, f);
-<a name="l00155"></a>00155 }
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 <span class="keywordflow">return</span> f;
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 };
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00164"></a>00164 <span class="keyword">struct </span>fe_polygon_per_segment
-<a name="l00165"></a>00165 {
-<a name="l00166"></a>00166 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
-<a name="l00167"></a>00167 <span class="keyword">typename</span> c_nc<Polygon, IsConst>::type& poly,
-<a name="l00168"></a>00168 Functor f)
-<a name="l00169"></a>00169 {
-<a name="l00170"></a>00170 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc_range
-<a name="l00171"></a>00171 <
-<a name="l00172"></a>00172 <span class="keyword">typename</span> interior_type<Polygon>::type,
-<a name="l00173"></a>00173 IsConst
-<a name="l00174"></a>00174 >::type iterator_type;
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 <span class="keyword">typedef</span> fe_range_per_segment
-<a name="l00177"></a>00177 <
-<a name="l00178"></a>00178 <span class="keyword">typename</span> ring_type<Polygon>::type,
-<a name="l00179"></a>00179 Functor,
-<a name="l00180"></a>00180 IsConst
-<a name="l00181"></a>00181 > per_ring;
-<a name="l00182"></a>00182
-<a name="l00183"></a>00183 f = per_ring::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00186"></a>00186 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00187"></a>00187 ++it)
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 f = per_ring::apply(*it, f);
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 <span class="keywordflow">return</span> f;
-<a name="l00193"></a>00193 }
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 };
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 }} <span class="comment">// namespace detail::for_each</span>
-<a name="l00198"></a>00198 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00199"></a>00199 <span class="preprocessor"></span>
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> f;
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129 };
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00133"></a>00133 <span class="keyword">struct </span>fe_polygon_per_point
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00136"></a>00136 <span class="keyword">typename</span> c_nc<Polygon, IsConst>::type& poly,
+<a name="l00137"></a>00137 Functor f)
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc_range
+<a name="l00140"></a>00140 <
+<a name="l00141"></a>00141 <span class="keyword">typename</span> interior_type<Polygon>::type,
+<a name="l00142"></a>00142 IsConst
+<a name="l00143"></a>00143 >::type iterator_type;
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> fe_range_per_point
+<a name="l00146"></a>00146 <
+<a name="l00147"></a>00147 <span class="keyword">typename</span> ring_type<Polygon>::type,
+<a name="l00148"></a>00148 Functor,
+<a name="l00149"></a>00149 IsConst
+<a name="l00150"></a>00150 > per_ring;
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 f = per_ring::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00155"></a>00155 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00156"></a>00156 ++it)
+<a name="l00157"></a>00157 {
+<a name="l00158"></a>00158 f = per_ring::apply(*it, f);
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> f;
+<a name="l00162"></a>00162 }
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 };
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00168"></a>00168 <span class="keyword">struct </span>fe_polygon_per_segment
+<a name="l00169"></a>00169 {
+<a name="l00170"></a>00170 <span class="keyword">static</span> <span class="keyword">inline</span> Functor apply(
+<a name="l00171"></a>00171 <span class="keyword">typename</span> c_nc<Polygon, IsConst>::type& poly,
+<a name="l00172"></a>00172 Functor f)
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 <span class="keyword">typedef</span> <span class="keyword">typename</span> c_nc_range
+<a name="l00175"></a>00175 <
+<a name="l00176"></a>00176 <span class="keyword">typename</span> interior_type<Polygon>::type,
+<a name="l00177"></a>00177 IsConst
+<a name="l00178"></a>00178 >::type iterator_type;
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 <span class="keyword">typedef</span> fe_range_per_segment
+<a name="l00181"></a>00181 <
+<a name="l00182"></a>00182 <span class="keyword">typename</span> ring_type<Polygon>::type,
+<a name="l00183"></a>00183 Functor,
+<a name="l00184"></a>00184 IsConst
+<a name="l00185"></a>00185 > per_ring;
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 f = per_ring::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), f);
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00190"></a>00190 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00191"></a>00191 ++it)
+<a name="l00192"></a>00192 {
+<a name="l00193"></a>00193 f = per_ring::apply(*it, f);
+<a name="l00194"></a>00194 }
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="keywordflow">return</span> f;
+<a name="l00197"></a>00197 }
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 };
<a name="l00200"></a>00200
-<a name="l00201"></a>00201 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00202"></a>00202 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00203"></a>00203 {
+<a name="l00201"></a>00201 }} <span class="comment">// namespace detail::for_each</span>
+<a name="l00202"></a>00202 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00203"></a>00203 <span class="preprocessor"></span>
<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <span class="keyword">template</span>
-<a name="l00206"></a>00206 <
-<a name="l00207"></a>00207 <span class="keyword">typename</span> Tag,
-<a name="l00208"></a>00208 <span class="keywordtype">bool</span> IsMulti,
-<a name="l00209"></a>00209 <span class="keyword">typename</span> Geometry,
-<a name="l00210"></a>00210 <span class="keyword">typename</span> Functor,
-<a name="l00211"></a>00211 <span class="keywordtype">bool</span> IsConst
-<a name="l00212"></a>00212 >
-<a name="l00213"></a>00213 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a> {};
-<a name="l00214"></a>00214
-<a name="l00215"></a>00215 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00216"></a>00216 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a><point_tag, false, Point, Functor, IsConst>
-<a name="l00217"></a>00217 : detail::for_each::fe_point_per_point<Point, Functor, IsConst>
-<a name="l00218"></a>00218 {};
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00221"></a>00221 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a><linestring_tag, false, Linestring, Functor, IsConst>
-<a name="l00222"></a>00222 : detail::for_each::fe_range_per_point<Linestring, Functor, IsConst>
-<a name="l00223"></a>00223 {};
-<a name="l00224"></a>00224
-<a name="l00225"></a>00225 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00226"></a>00226 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a><ring_tag, false, Ring, Functor, IsConst>
-<a name="l00227"></a>00227 : detail::for_each::fe_range_per_point<Ring, Functor, IsConst>
-<a name="l00228"></a>00228 {};
-<a name="l00229"></a>00229
-<a name="l00230"></a>00230 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00231"></a>00231 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a><polygon_tag, false, Polygon, Functor, IsConst>
-<a name="l00232"></a>00232 : detail::for_each::fe_polygon_per_point<Polygon, Functor, IsConst>
-<a name="l00233"></a>00233 {};
-<a name="l00234"></a>00234
-<a name="l00235"></a>00235
-<a name="l00236"></a>00236
-<a name="l00237"></a>00237
-<a name="l00238"></a>00238 <span class="keyword">template</span>
-<a name="l00239"></a>00239 <
-<a name="l00240"></a>00240 <span class="keyword">typename</span> Tag,
-<a name="l00241"></a>00241 <span class="keywordtype">bool</span> IsMulti,
-<a name="l00242"></a>00242 <span class="keyword">typename</span> Geometry,
-<a name="l00243"></a>00243 <span class="keyword">typename</span> Functor,
-<a name="l00244"></a>00244 <span class="keywordtype">bool</span> IsConst
-<a name="l00245"></a>00245 >
-<a name="l00246"></a>00246 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a> {};
-<a name="l00247"></a>00247
-<a name="l00248"></a>00248 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00249"></a>00249 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a><point_tag, false, Point, Functor, IsConst>
-<a name="l00250"></a>00250 : detail::for_each::fe_point_per_segment<Point, Functor, IsConst>
-<a name="l00251"></a>00251 {};
-<a name="l00252"></a>00252
-<a name="l00253"></a>00253 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00254"></a>00254 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a><linestring_tag, false, Linestring, Functor, IsConst>
-<a name="l00255"></a>00255 : detail::for_each::fe_range_per_segment<Linestring, Functor, IsConst>
-<a name="l00256"></a>00256 {};
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00259"></a>00259 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a><ring_tag, false, Ring, Functor, IsConst>
-<a name="l00260"></a>00260 : detail::for_each::fe_range_per_segment<Ring, Functor, IsConst>
-<a name="l00261"></a>00261 {};
-<a name="l00262"></a>00262
-<a name="l00263"></a>00263 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
-<a name="l00264"></a>00264 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a><polygon_tag, false, Polygon, Functor, IsConst>
-<a name="l00265"></a>00265 : detail::for_each::fe_polygon_per_segment<Polygon, Functor, IsConst>
-<a name="l00266"></a>00266 {};
-<a name="l00267"></a>00267
-<a name="l00268"></a>00268
-<a name="l00269"></a>00269 } <span class="comment">// namespace dispatch</span>
-<a name="l00270"></a>00270 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00271"></a>00271 <span class="preprocessor"></span>
-<a name="l00279"></a>00279 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor>
-<a name="l00280"></a><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f">00280</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(Geometry <span class="keyword">const</span>& geometry, Functor f)
-<a name="l00281"></a>00281 {
-<a name="l00282"></a>00282 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">dispatch::for_each_point</a>
-<a name="l00283"></a>00283 <
-<a name="l00284"></a>00284 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00285"></a>00285 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
-<a name="l00286"></a>00286 Geometry,
-<a name="l00287"></a>00287 Functor,
-<a name="l00288"></a>00288 <span class="keyword">true</span>
-<a name="l00289"></a>00289 >::apply(geometry, f);
-<a name="l00290"></a>00290 }
-<a name="l00291"></a>00291
-<a name="l00299"></a>00299 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor>
-<a name="l00300"></a><a class="code" href="group__loop.html#g66bf40f0ee4dc883d9d3b621aeb2e81d">00300</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(Geometry& geometry, Functor f)
-<a name="l00301"></a>00301 {
-<a name="l00302"></a>00302 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">dispatch::for_each_point</a>
-<a name="l00303"></a>00303 <
-<a name="l00304"></a>00304 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00305"></a>00305 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
-<a name="l00306"></a>00306 Geometry,
-<a name="l00307"></a>00307 Functor,
-<a name="l00308"></a>00308 <span class="keyword">false</span>
-<a name="l00309"></a>00309 >::apply(geometry, f);
-<a name="l00310"></a>00310 }
-<a name="l00311"></a>00311
-<a name="l00319"></a>00319 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor>
-<a name="l00320"></a><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e">00320</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(Geometry <span class="keyword">const</span>& geometry, Functor f)
-<a name="l00321"></a>00321 {
-<a name="l00322"></a>00322 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">dispatch::for_each_segment</a>
-<a name="l00323"></a>00323 <
-<a name="l00324"></a>00324 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00325"></a>00325 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
-<a name="l00326"></a>00326 Geometry,
-<a name="l00327"></a>00327 Functor,
-<a name="l00328"></a>00328 <span class="keyword">true</span>
-<a name="l00329"></a>00329 >::apply(geometry, f);
-<a name="l00330"></a>00330 }
-<a name="l00331"></a>00331
+<a name="l00205"></a>00205 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00206"></a>00206 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <span class="keyword">template</span>
+<a name="l00210"></a>00210 <
+<a name="l00211"></a>00211 <span class="keyword">typename</span> Tag,
+<a name="l00212"></a>00212 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00213"></a>00213 <span class="keyword">typename</span> Geometry,
+<a name="l00214"></a>00214 <span class="keyword">typename</span> Functor,
+<a name="l00215"></a>00215 <span class="keywordtype">bool</span> IsConst
+<a name="l00216"></a>00216 >
+<a name="l00217"></a>00217 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a> {};
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00220"></a>00220 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a><point_tag, false, Point, Functor, IsConst>
+<a name="l00221"></a>00221 : detail::for_each::fe_point_per_point<Point, Functor, IsConst>
+<a name="l00222"></a>00222 {};
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00225"></a>00225 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a><linestring_tag, false, Linestring, Functor, IsConst>
+<a name="l00226"></a>00226 : detail::for_each::fe_range_per_point<Linestring, Functor, IsConst>
+<a name="l00227"></a>00227 {};
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00230"></a>00230 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a><ring_tag, false, Ring, Functor, IsConst>
+<a name="l00231"></a>00231 : detail::for_each::fe_range_per_point<Ring, Functor, IsConst>
+<a name="l00232"></a>00232 {};
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00235"></a>00235 <span class="keyword">struct </span><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a><polygon_tag, false, Polygon, Functor, IsConst>
+<a name="l00236"></a>00236 : detail::for_each::fe_polygon_per_point<Polygon, Functor, IsConst>
+<a name="l00237"></a>00237 {};
+<a name="l00238"></a>00238
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241
+<a name="l00242"></a>00242 <span class="keyword">template</span>
+<a name="l00243"></a>00243 <
+<a name="l00244"></a>00244 <span class="keyword">typename</span> Tag,
+<a name="l00245"></a>00245 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00246"></a>00246 <span class="keyword">typename</span> Geometry,
+<a name="l00247"></a>00247 <span class="keyword">typename</span> Functor,
+<a name="l00248"></a>00248 <span class="keywordtype">bool</span> IsConst
+<a name="l00249"></a>00249 >
+<a name="l00250"></a>00250 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a> {};
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00253"></a>00253 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a><point_tag, false, Point, Functor, IsConst>
+<a name="l00254"></a>00254 : detail::for_each::fe_point_per_segment<Point, Functor, IsConst>
+<a name="l00255"></a>00255 {};
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00258"></a>00258 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a><linestring_tag, false, Linestring, Functor, IsConst>
+<a name="l00259"></a>00259 : detail::for_each::fe_range_per_segment<Linestring, Functor, IsConst>
+<a name="l00260"></a>00260 {};
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00263"></a>00263 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a><ring_tag, false, Ring, Functor, IsConst>
+<a name="l00264"></a>00264 : detail::for_each::fe_range_per_segment<Ring, Functor, IsConst>
+<a name="l00265"></a>00265 {};
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Functor, <span class="keywordtype">bool</span> IsConst>
+<a name="l00268"></a>00268 <span class="keyword">struct </span><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a><polygon_tag, false, Polygon, Functor, IsConst>
+<a name="l00269"></a>00269 : detail::for_each::fe_polygon_per_segment<Polygon, Functor, IsConst>
+<a name="l00270"></a>00270 {};
+<a name="l00271"></a>00271
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 } <span class="comment">// namespace dispatch</span>
+<a name="l00274"></a>00274 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00275"></a>00275 <span class="preprocessor"></span>
+<a name="l00283"></a>00283 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor>
+<a name="l00284"></a><a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f">00284</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(Geometry <span class="keyword">const</span>& geometry, Functor f)
+<a name="l00285"></a>00285 {
+<a name="l00286"></a>00286 concept::check<const Geometry>();
+<a name="l00287"></a>00287
+<a name="l00288"></a>00288 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">dispatch::for_each_point</a>
+<a name="l00289"></a>00289 <
+<a name="l00290"></a>00290 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00291"></a>00291 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
+<a name="l00292"></a>00292 Geometry,
+<a name="l00293"></a>00293 Functor,
+<a name="l00294"></a>00294 <span class="keyword">true</span>
+<a name="l00295"></a>00295 >::apply(geometry, f);
+<a name="l00296"></a>00296 }
+<a name="l00297"></a>00297
+<a name="l00305"></a>00305 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor>
+<a name="l00306"></a><a class="code" href="group__loop.html#g66bf40f0ee4dc883d9d3b621aeb2e81d">00306</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">for_each_point</a>(Geometry& geometry, Functor f)
+<a name="l00307"></a>00307 {
+<a name="l00308"></a>00308 concept::check<Geometry>();
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#g0cdb7f23bf7395ba3f385e9cf01a601f" title="Calls functor for geometry.">dispatch::for_each_point</a>
+<a name="l00311"></a>00311 <
+<a name="l00312"></a>00312 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00313"></a>00313 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
+<a name="l00314"></a>00314 Geometry,
+<a name="l00315"></a>00315 Functor,
+<a name="l00316"></a>00316 <span class="keyword">false</span>
+<a name="l00317"></a>00317 >::apply(geometry, f);
+<a name="l00318"></a>00318 }
+<a name="l00319"></a>00319
+<a name="l00328"></a>00328 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor>
+<a name="l00329"></a><a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e">00329</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(Geometry <span class="keyword">const</span>& geometry, Functor f)
+<a name="l00330"></a>00330 {
+<a name="l00331"></a>00331 concept::check<const Geometry>();
<a name="l00332"></a>00332
-<a name="l00340"></a>00340 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor>
-<a name="l00341"></a><a class="code" href="group__loop.html#g529f5655aa7702e9f143263b484ff91b">00341</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(Geometry& geometry, Functor f)
-<a name="l00342"></a>00342 {
-<a name="l00343"></a>00343 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">dispatch::for_each_segment</a>
-<a name="l00344"></a>00344 <
-<a name="l00345"></a>00345 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00346"></a>00346 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
-<a name="l00347"></a>00347 Geometry,
-<a name="l00348"></a>00348 Functor,
-<a name="l00349"></a>00349 <span class="keyword">false</span>
-<a name="l00350"></a>00350 >::apply(geometry, f);
-<a name="l00351"></a>00351 }
-<a name="l00352"></a>00352
-<a name="l00353"></a>00353 } <span class="comment">// namespace ggl</span>
-<a name="l00354"></a>00354
-<a name="l00355"></a>00355 <span class="preprocessor">#endif // GGL_ALGORITHMS_FOR_EACH_HPP</span>
+<a name="l00333"></a>00333 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">dispatch::for_each_segment</a>
+<a name="l00334"></a>00334 <
+<a name="l00335"></a>00335 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00336"></a>00336 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
+<a name="l00337"></a>00337 Geometry,
+<a name="l00338"></a>00338 Functor,
+<a name="l00339"></a>00339 <span class="keyword">true</span>
+<a name="l00340"></a>00340 >::apply(geometry, f);
+<a name="l00341"></a>00341 }
+<a name="l00342"></a>00342
+<a name="l00343"></a>00343
+<a name="l00351"></a>00351 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Functor>
+<a name="l00352"></a><a class="code" href="group__loop.html#g529f5655aa7702e9f143263b484ff91b">00352</a> <span class="keyword">inline</span> Functor <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">for_each_segment</a>(Geometry& geometry, Functor f)
+<a name="l00353"></a>00353 {
+<a name="l00354"></a>00354 concept::check<Geometry>();
+<a name="l00355"></a>00355
+<a name="l00356"></a>00356 <span class="keywordflow">return</span> <a class="code" href="group__loop.html#ge8453eab0e9db146184d7ccef687a33e" title="Calls functor for segments on linestrings, rings, polygons, ...">dispatch::for_each_segment</a>
+<a name="l00357"></a>00357 <
+<a name="l00358"></a>00358 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00359"></a>00359 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
+<a name="l00360"></a>00360 Geometry,
+<a name="l00361"></a>00361 Functor,
+<a name="l00362"></a>00362 <span class="keyword">false</span>
+<a name="l00363"></a>00363 >::apply(geometry, f);
+<a name="l00364"></a>00364 }
+<a name="l00365"></a>00365
+<a name="l00366"></a>00366 } <span class="comment">// namespace ggl</span>
+<a name="l00367"></a>00367
+<a name="l00368"></a>00368 <span class="preprocessor">#endif // GGL_ALGORITHMS_FOR_EACH_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -52,70 +52,70 @@
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_GET_SECTION_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012
-<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/concept_check.hpp></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="iterators_2vertex__iterator_8hpp.html">ggl/iterators/vertex_iterator.hpp</a>></span>
<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="iterators_2vertex__iterator_8hpp.html">ggl/iterators/vertex_iterator.hpp</a>></span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00025"></a>00025
<a name="l00026"></a>00026
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00035"></a>00035 {
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Section>
-<a name="l00038"></a>00038 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a>
-<a name="l00039"></a>00039 {
-<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator<Geometry, true>::type</a> iterator_type;
-<a name="l00041"></a>00041 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>& geometry, Section <span class="keyword">const</span>& section,
-<a name="l00042"></a>00042 iterator_type& begin, iterator_type& end)
-<a name="l00043"></a>00043 {
-<a name="l00044"></a>00044 begin = boost::begin(geometry) + section.begin_index;
-<a name="l00045"></a>00045 end = boost::begin(geometry) + section.end_index + 1;
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047 };
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Section>
-<a name="l00050"></a>00050 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a><polygon_tag, Polygon, Section>
-<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator<Polygon, true>::type</a> iterator_type;
-<a name="l00053"></a>00053 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& polygon, Section <span class="keyword">const</span>& section,
-<a name="l00054"></a>00054 iterator_type& begin, iterator_type& end)
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<Polygon>::type</a> ring_type;
-<a name="l00057"></a>00057 ring_type <span class="keyword">const</span>& ring = section.ring_index < 0
-<a name="l00058"></a>00058 ? <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon)
-<a name="l00059"></a>00059 : ggl::<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[section.ring_index];
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 begin = boost::begin(ring) + section.begin_index;
-<a name="l00062"></a>00062 end = boost::begin(ring) + section.end_index + 1;
-<a name="l00063"></a>00063 }
-<a name="l00064"></a>00064 };
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 } <span class="comment">// namespace dispatch</span>
-<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Section>
+<a name="l00036"></a>00036 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a>
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator<Geometry, true>::type</a> iterator_type;
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry <span class="keyword">const</span>& geometry, Section <span class="keyword">const</span>& section,
+<a name="l00040"></a>00040 iterator_type& begin, iterator_type& end)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 begin = boost::begin(geometry) + section.begin_index;
+<a name="l00043"></a>00043 end = boost::begin(geometry) + section.end_index + 1;
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Section>
+<a name="l00048"></a>00048 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a><polygon_tag, Polygon, Section>
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator<Polygon, true>::type</a> iterator_type;
+<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& polygon, Section <span class="keyword">const</span>& section,
+<a name="l00052"></a>00052 iterator_type& begin, iterator_type& end)
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<Polygon>::type</a> ring_type;
+<a name="l00055"></a>00055 ring_type <span class="keyword">const</span>& ring = section.ring_index < 0
+<a name="l00056"></a>00056 ? <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon)
+<a name="l00057"></a>00057 : ggl::<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[section.ring_index];
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 begin = boost::begin(ring) + section.begin_index;
+<a name="l00060"></a>00060 end = boost::begin(ring) + section.end_index + 1;
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 } <span class="comment">// namespace dispatch</span>
+<a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span>
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
<a name="l00069"></a>00069
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071
-<a name="l00084"></a>00084 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Section>
-<a name="l00085"></a><a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a">00085</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a>(Geometry <span class="keyword">const</span>& geometry, Section <span class="keyword">const</span>& <a class="code" href="structggl_1_1section.html" title="Structure containing section information.">section</a>,
-<a name="l00086"></a>00086 <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator<Geometry, true>::type</a>& begin,
-<a name="l00087"></a>00087 <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator<Geometry, true>::type</a>& end)
-<a name="l00088"></a>00088 {
+<a name="l00082"></a>00082 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Section>
+<a name="l00083"></a><a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a">00083</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a>(Geometry <span class="keyword">const</span>& geometry, Section <span class="keyword">const</span>& <a class="code" href="structggl_1_1section.html" title="Structure containing section information.">section</a>,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator<Geometry, true>::type</a>& begin,
+<a name="l00085"></a>00085 <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator<Geometry, true>::type</a>& end)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 concept::check<const Geometry>();
+<a name="l00088"></a>00088
<a name="l00089"></a>00089 <a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">dispatch::get_section</a>
<a name="l00090"></a>00090 <
<a name="l00091"></a>00091 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -55,387 +55,390 @@
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
<a name="l00015"></a>00015
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="merge__intersection__points_8hpp.html">ggl/algorithms/overlay/merge_intersection_points.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="enrich__intersection__points_8hpp.html">ggl/algorithms/overlay/enrich_intersection_points.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>></span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>></span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
-<a name="l00028"></a>00028
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="merge__intersection__points_8hpp.html">ggl/algorithms/overlay/merge_intersection_points.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>></span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="enrich__intersection__points_8hpp.html">ggl/algorithms/overlay/enrich_intersection_points.hpp</a>></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>></span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>></span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
<a name="l00029"></a>00029
<a name="l00030"></a>00030
-<a name="l00076"></a>00076 <span class="keyword">namespace </span>ggl
-<a name="l00077"></a>00077 {
-<a name="l00078"></a>00078
+<a name="l00031"></a>00031
+<a name="l00077"></a>00077 <span class="keyword">namespace </span>ggl
+<a name="l00078"></a>00078 {
<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
-<a name="l00082"></a>00082
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
<a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="keyword">template</span>
-<a name="l00085"></a>00085 <
-<a name="l00086"></a>00086 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
-<a name="l00087"></a>00087 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00088"></a>00088 >
-<a name="l00089"></a>00089 <span class="keyword">struct </span>intersection_polygon_polygon
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon1 <span class="keyword">const</span>& polygon1,
-<a name="l00092"></a>00092 Polygon2 <span class="keyword">const</span>& polygon2, OutputIterator out)
-<a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 <span class="keyword">typedef</span> detail::intersection::intersection_point
-<a name="l00095"></a>00095 <
-<a name="l00096"></a>00096 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<GeometryOut>::type</a>
-<a name="l00097"></a>00097 > ip_type;
-<a name="l00098"></a>00098 <span class="keyword">typedef</span> std::deque<ip_type> ips_container;
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<GeometryOut>::type</a> ring_type;
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 ips_container ips;
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon1, polygon2, ips);
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="keywordflow">if</span> (ips.size() <= 0)
-<a name="l00107"></a>00107 {
-<a name="l00108"></a>00108 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
-<a name="l00109"></a>00109 <span class="comment">// assume both polygons having points</span>
-<a name="l00110"></a>00110 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon1).front(), polygon2))
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112 <span class="comment">// Assume same type (output = input)</span>
-<a name="l00113"></a>00113 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
-<a name="l00114"></a>00114 *out = polygon1;
-<a name="l00115"></a>00115 out++;
-<a name="l00116"></a>00116 }
-<a name="l00117"></a>00117 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon2).front(), polygon1))
-<a name="l00118"></a>00118 {
-<a name="l00119"></a>00119 *out = polygon2;
-<a name="l00120"></a>00120 out++;
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123 <span class="keywordflow">else</span>
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 <span class="keywordflow">if</span> (! trivial)
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
-<a name="l00128"></a>00128 <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl::adapt_turns</a>(ips);
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
-<a name="l00133"></a>00133
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span>
+<a name="l00086"></a>00086 <
+<a name="l00087"></a>00087 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
+<a name="l00088"></a>00088 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00089"></a>00089 >
+<a name="l00090"></a>00090 <span class="keyword">struct </span>intersection_polygon_polygon
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon1 <span class="keyword">const</span>& polygon1,
+<a name="l00093"></a>00093 Polygon2 <span class="keyword">const</span>& polygon2, OutputIterator out)
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keyword">typedef</span> detail::intersection::intersection_point
+<a name="l00096"></a>00096 <
+<a name="l00097"></a>00097 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<GeometryOut>::type</a>
+<a name="l00098"></a>00098 > ip_type;
+<a name="l00099"></a>00099 <span class="keyword">typedef</span> std::deque<ip_type> ips_container;
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<GeometryOut>::type</a> ring_type;
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 ips_container ips;
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon1, polygon2, ips);
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keywordflow">if</span> (ips.size() <= 0)
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
+<a name="l00110"></a>00110 <span class="comment">// assume both polygons having points</span>
+<a name="l00111"></a>00111 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon1).front(), polygon2))
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 <span class="comment">// Assume same type (output = input)</span>
+<a name="l00114"></a>00114 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
+<a name="l00115"></a>00115 *out = polygon1;
+<a name="l00116"></a>00116 out++;
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon2).front(), polygon1))
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 *out = polygon2;
+<a name="l00121"></a>00121 out++;
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124 <span class="keywordflow">else</span>
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 <span class="keywordflow">if</span> (! trivial)
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
+<a name="l00129"></a>00129 <a class="code" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">ggl::adapt_turns</a>(ips);
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
<a name="l00134"></a>00134
-<a name="l00135"></a>00135 std::vector<ring_type> v;
-<a name="l00136"></a>00136 ggl::traverse<ring_type>
-<a name="l00137"></a>00137 (
-<a name="l00138"></a>00138 polygon1,
-<a name="l00139"></a>00139 polygon2,
-<a name="l00140"></a>00140 -1,
-<a name="l00141"></a>00141 ips,
-<a name="l00142"></a>00142 trivial,
-<a name="l00143"></a>00143 std::back_inserter(v)
-<a name="l00144"></a>00144 );
-<a name="l00145"></a>00145
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 std::vector<ring_type> v;
+<a name="l00137"></a>00137 ggl::traverse<ring_type>
+<a name="l00138"></a>00138 (
+<a name="l00139"></a>00139 polygon1,
+<a name="l00140"></a>00140 polygon2,
+<a name="l00141"></a>00141 -1,
+<a name="l00142"></a>00142 ips,
+<a name="l00143"></a>00143 trivial,
+<a name="l00144"></a>00144 std::back_inserter(v)
+<a name="l00145"></a>00145 );
<a name="l00146"></a>00146
-<a name="l00147"></a>00147 <span class="comment">// TODO:</span>
-<a name="l00148"></a>00148 <span class="comment">// assemble rings / inner rings / to polygons</span>
-<a name="l00149"></a>00149 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector<ring_type>::const_iterator it = v.begin();
-<a name="l00150"></a>00150 it != v.end(); ++it)
-<a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
-<a name="l00153"></a>00153 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
-<a name="l00154"></a>00154 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
-<a name="l00155"></a>00155 <span class="comment">// So output iterators are not that good.</span>
-<a name="l00156"></a>00156 GeometryOut poly;
-<a name="l00157"></a>00157 poly.outer() = *it;
-<a name="l00158"></a>00158 *out = poly;
-<a name="l00159"></a>00159 out++;
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="comment">// TODO:</span>
+<a name="l00149"></a>00149 <span class="comment">// assemble rings / inner rings / to polygons</span>
+<a name="l00150"></a>00150 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector<ring_type>::const_iterator it = v.begin();
+<a name="l00151"></a>00151 it != v.end(); ++it)
+<a name="l00152"></a>00152 {
+<a name="l00153"></a>00153 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
+<a name="l00154"></a>00154 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
+<a name="l00155"></a>00155 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
+<a name="l00156"></a>00156 <span class="comment">// So output iterators are not that good.</span>
+<a name="l00157"></a>00157 GeometryOut poly;
+<a name="l00158"></a>00158 poly.outer() = *it;
+<a name="l00159"></a>00159 *out = poly;
+<a name="l00160"></a>00160 out++;
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162 }
<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="keywordflow">return</span> out;
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166 };
-<a name="l00167"></a>00167
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="keywordflow">return</span> out;
+<a name="l00166"></a>00166 }
+<a name="l00167"></a>00167 };
<a name="l00168"></a>00168
<a name="l00169"></a>00169
<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">template</span>
-<a name="l00172"></a>00172 <
-<a name="l00173"></a>00173 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
-<a name="l00174"></a>00174 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00175"></a>00175 >
-<a name="l00176"></a>00176 <span class="keyword">struct </span>intersection_polygon_box
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon <span class="keyword">const</span>& polygon,
-<a name="l00179"></a>00179 Box <span class="keyword">const</span>& box, OutputIterator out)
-<a name="l00180"></a>00180 {
-<a name="l00181"></a>00181 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<GeometryOut>::type</a> point_type;
-<a name="l00182"></a>00182 <span class="keyword">typedef</span> detail::intersection::intersection_point<point_type> ip_type;
-<a name="l00183"></a>00183 <span class="keyword">typedef</span> std::deque<ip_type> ips_container;
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<GeometryOut>::type</a> ring_type;
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187 ips_container ips;
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon, box, ips);
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="comment">// TODO: share this all with polygon_polygon using an "assemble" function!</span>
-<a name="l00192"></a>00192 <span class="comment">// It is only different in the 'within' calls, can be sorted out with specialization</span>
-<a name="l00193"></a>00193
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="keyword">template</span>
+<a name="l00173"></a>00173 <
+<a name="l00174"></a>00174 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
+<a name="l00175"></a>00175 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00176"></a>00176 >
+<a name="l00177"></a>00177 <span class="keyword">struct </span>intersection_polygon_box
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Polygon <span class="keyword">const</span>& polygon,
+<a name="l00180"></a>00180 Box <span class="keyword">const</span>& box, OutputIterator out)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<GeometryOut>::type</a> point_type;
+<a name="l00183"></a>00183 <span class="keyword">typedef</span> detail::intersection::intersection_point<point_type> ip_type;
+<a name="l00184"></a>00184 <span class="keyword">typedef</span> std::deque<ip_type> ips_container;
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<GeometryOut>::type</a> ring_type;
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 ips_container ips;
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 <span class="keywordtype">bool</span> trivial = <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">ggl::get_intersection_points</a>(polygon, box, ips);
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="comment">// TODO: share this all with polygon_polygon using an "assemble" function!</span>
+<a name="l00193"></a>00193 <span class="comment">// It is only different in the 'within' calls, can be sorted out with specialization</span>
<a name="l00194"></a>00194
-<a name="l00195"></a>00195 <span class="keywordflow">if</span> (ips.size() <= 0)
-<a name="l00196"></a>00196 {
-<a name="l00197"></a>00197 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
-<a name="l00198"></a>00198 <span class="comment">// assume both polygons having points</span>
-<a name="l00199"></a>00199 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon).front(), box))
-<a name="l00200"></a>00200 {
-<a name="l00201"></a>00201 <span class="comment">// Assume same type (output = input)</span>
-<a name="l00202"></a>00202 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
-<a name="l00203"></a>00203 *out = polygon;
-<a name="l00204"></a>00204 out++;
-<a name="l00205"></a>00205 }
-<a name="l00206"></a>00206 <span class="keywordflow">else</span>
-<a name="l00207"></a>00207 {
-<a name="l00208"></a>00208 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Box>::type</a> p;
-<a name="l00209"></a>00209 ggl::set<0>(p, ggl::get<min_corner, 0>(box));
-<a name="l00210"></a>00210 ggl::set<1>(p, ggl::get<min_corner, 1>(box));
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, polygon))
-<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 GeometryOut boxpoly;
-<a name="l00214"></a>00214 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">ggl::convert</a>(box, boxpoly);
-<a name="l00215"></a>00215 *out = boxpoly;
-<a name="l00216"></a>00216 out++;
-<a name="l00217"></a>00217 }
-<a name="l00218"></a>00218 }
-<a name="l00219"></a>00219 }
-<a name="l00220"></a>00220 <span class="keywordflow">else</span>
-<a name="l00221"></a>00221 {
-<a name="l00222"></a>00222 <span class="keywordflow">if</span> (trivial)
-<a name="l00223"></a>00223 {
-<a name="l00224"></a>00224 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
-<a name="l00225"></a>00225 }
-<a name="l00226"></a>00226
-<a name="l00227"></a>00227 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
-<a name="l00228"></a>00228
-<a name="l00229"></a>00229 std::vector<ring_type> v;
-<a name="l00230"></a>00230 ggl::traverse<ring_type>
-<a name="l00231"></a>00231 (
-<a name="l00232"></a>00232 polygon,
-<a name="l00233"></a>00233 box,
-<a name="l00234"></a>00234 -1,
-<a name="l00235"></a>00235 ips,
-<a name="l00236"></a>00236 trivial,
-<a name="l00237"></a>00237 std::back_inserter(v)
-<a name="l00238"></a>00238 );
-<a name="l00239"></a>00239
-<a name="l00240"></a>00240 <span class="comment">// TODO:</span>
-<a name="l00241"></a>00241 <span class="comment">// assemble rings / inner rings / to polygons</span>
-<a name="l00242"></a>00242 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector<ring_type>::const_iterator it = v.begin();
-<a name="l00243"></a>00243 it != v.end(); ++it)
-<a name="l00244"></a>00244 {
-<a name="l00245"></a>00245 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
-<a name="l00246"></a>00246 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
-<a name="l00247"></a>00247 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
-<a name="l00248"></a>00248 <span class="comment">// So output iterators are not that good.</span>
-<a name="l00249"></a>00249 GeometryOut poly;
-<a name="l00250"></a>00250 poly.outer() = *it;
-<a name="l00251"></a>00251 *out = poly;
-<a name="l00252"></a>00252 out++;
-<a name="l00253"></a>00253 }
-<a name="l00254"></a>00254 }
-<a name="l00255"></a>00255
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="keywordflow">if</span> (ips.size() <= 0)
+<a name="l00197"></a>00197 {
+<a name="l00198"></a>00198 <span class="comment">// If there are no IP-s, check if one point is in other polygon</span>
+<a name="l00199"></a>00199 <span class="comment">// assume both polygons having points</span>
+<a name="l00200"></a>00200 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon).front(), box))
+<a name="l00201"></a>00201 {
+<a name="l00202"></a>00202 <span class="comment">// Assume same type (output = input)</span>
+<a name="l00203"></a>00203 <span class="comment">// TODO: solve this (we go to specialize again...)</span>
+<a name="l00204"></a>00204 *out = polygon;
+<a name="l00205"></a>00205 out++;
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207 <span class="keywordflow">else</span>
+<a name="l00208"></a>00208 {
+<a name="l00209"></a>00209 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Box>::type</a> p;
+<a name="l00210"></a>00210 ggl::set<0>(p, ggl::get<min_corner, 0>(box));
+<a name="l00211"></a>00211 ggl::set<1>(p, ggl::get<min_corner, 1>(box));
+<a name="l00212"></a>00212 <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(p, polygon))
+<a name="l00213"></a>00213 {
+<a name="l00214"></a>00214 GeometryOut boxpoly;
+<a name="l00215"></a>00215 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">ggl::convert</a>(box, boxpoly);
+<a name="l00216"></a>00216 *out = boxpoly;
+<a name="l00217"></a>00217 out++;
+<a name="l00218"></a>00218 }
+<a name="l00219"></a>00219 }
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221 <span class="keywordflow">else</span>
+<a name="l00222"></a>00222 {
+<a name="l00223"></a>00223 <span class="keywordflow">if</span> (trivial)
+<a name="l00224"></a>00224 {
+<a name="l00225"></a>00225 <a class="code" href="group__overlay.html#gc1dcd7471f802810f7d48b36eea24d0f" title="Merges intersection points such that points at the same location will be merged,...">ggl::merge_intersection_points</a>(ips);
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <a class="code" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3" title="All intersection points are enriched with successor information.">ggl::enrich_intersection_points</a>(ips, trivial);
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230 std::vector<ring_type> v;
+<a name="l00231"></a>00231 ggl::traverse<ring_type>
+<a name="l00232"></a>00232 (
+<a name="l00233"></a>00233 polygon,
+<a name="l00234"></a>00234 box,
+<a name="l00235"></a>00235 -1,
+<a name="l00236"></a>00236 ips,
+<a name="l00237"></a>00237 trivial,
+<a name="l00238"></a>00238 std::back_inserter(v)
+<a name="l00239"></a>00239 );
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="comment">// TODO:</span>
+<a name="l00242"></a>00242 <span class="comment">// assemble rings / inner rings / to polygons</span>
+<a name="l00243"></a>00243 <span class="keywordflow">for</span> (<span class="keyword">typename</span> std::vector<ring_type>::const_iterator it = v.begin();
+<a name="l00244"></a>00244 it != v.end(); ++it)
+<a name="l00245"></a>00245 {
+<a name="l00246"></a>00246 <span class="comment">// How can we avoid the double copy here! It is really bad!</span>
+<a name="l00247"></a>00247 <span class="comment">// We have to create a polygon, then copy it to the output iterator.</span>
+<a name="l00248"></a>00248 <span class="comment">// Having an output-vector would have been better: append it to the vector!</span>
+<a name="l00249"></a>00249 <span class="comment">// So output iterators are not that good.</span>
+<a name="l00250"></a>00250 GeometryOut poly;
+<a name="l00251"></a>00251 poly.outer() = *it;
+<a name="l00252"></a>00252 *out = poly;
+<a name="l00253"></a>00253 out++;
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255 }
<a name="l00256"></a>00256
-<a name="l00257"></a>00257 <span class="keywordflow">return</span> out;
-<a name="l00258"></a>00258 }
-<a name="l00259"></a>00259 };
-<a name="l00260"></a>00260
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258 <span class="keywordflow">return</span> out;
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260 };
<a name="l00261"></a>00261
-<a name="l00262"></a>00262 }} <span class="comment">// namespace detail::intersection</span>
-<a name="l00263"></a>00263 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00264"></a>00264 <span class="preprocessor"></span>
-<a name="l00265"></a>00265
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00264"></a>00264 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00265"></a>00265 <span class="preprocessor"></span>
<a name="l00266"></a>00266
<a name="l00267"></a>00267
<a name="l00268"></a>00268
-<a name="l00269"></a>00269 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00270"></a>00270 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00271"></a>00271 {
-<a name="l00272"></a>00272
-<a name="l00273"></a>00273 <span class="keyword">template</span>
-<a name="l00274"></a>00274 <
-<a name="l00275"></a>00275 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Tag3,
-<a name="l00276"></a>00276 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
-<a name="l00277"></a>00277 <span class="keyword">typename</span> OutputIterator,
-<a name="l00278"></a>00278 <span class="keyword">typename</span> GeometryOut
-<a name="l00279"></a>00279 >
-<a name="l00280"></a>00280 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {};
-<a name="l00281"></a>00281
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00271"></a>00271 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00272"></a>00272 {
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 <span class="keyword">template</span>
+<a name="l00275"></a>00275 <
+<a name="l00276"></a>00276 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> Tag3,
+<a name="l00277"></a>00277 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00278"></a>00278 <span class="keyword">typename</span> OutputIterator,
+<a name="l00279"></a>00279 <span class="keyword">typename</span> GeometryOut
+<a name="l00280"></a>00280 >
+<a name="l00281"></a>00281 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {};
<a name="l00282"></a>00282
-<a name="l00283"></a>00283 <span class="keyword">template</span>
-<a name="l00284"></a>00284 <
-<a name="l00285"></a>00285 <span class="keyword">typename</span> Segment1, <span class="keyword">typename</span> Segment2,
-<a name="l00286"></a>00286 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00287"></a>00287 >
-<a name="l00288"></a>00288 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00289"></a>00289 <
-<a name="l00290"></a>00290 segment_tag, segment_tag, point_tag,
-<a name="l00291"></a>00291 Segment1, Segment2,
-<a name="l00292"></a>00292 OutputIterator, GeometryOut
-<a name="l00293"></a>00293 >
-<a name="l00294"></a>00294 {
-<a name="l00295"></a>00295 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Segment1 <span class="keyword">const</span>& segment1,
-<a name="l00296"></a>00296 Segment2 <span class="keyword">const</span>& segment2, OutputIterator out)
-<a name="l00297"></a>00297 {
-<a name="l00298"></a>00298 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<GeometryOut>::type point_type;
-<a name="l00299"></a>00299
-<a name="l00300"></a>00300 <span class="comment">// Get the intersection point (or two points)</span>
-<a name="l00301"></a>00301 segment_intersection_points<point_type> is
-<a name="l00302"></a>00302 = strategy::intersection::relate_cartesian_segments
-<a name="l00303"></a>00303 <
-<a name="l00304"></a>00304 policies::relate::segments_intersection_points
-<a name="l00305"></a>00305 <
-<a name="l00306"></a>00306 Segment1,
-<a name="l00307"></a>00307 Segment2,
-<a name="l00308"></a>00308 segment_intersection_points<point_type>
-<a name="l00309"></a>00309 >
-<a name="l00310"></a>00310 >::relate(segment1, segment2);
-<a name="l00311"></a>00311 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < is.count; i++)
-<a name="l00312"></a>00312 {
-<a name="l00313"></a>00313 GeometryOut p;
-<a name="l00314"></a>00314 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">ggl::copy_coordinates</a>(is.intersections[i], p);
-<a name="l00315"></a>00315 *out = p;
-<a name="l00316"></a>00316 out++;
-<a name="l00317"></a>00317 }
-<a name="l00318"></a>00318 <span class="keywordflow">return</span> out;
-<a name="l00319"></a>00319 }
-<a name="l00320"></a>00320 };
-<a name="l00321"></a>00321
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284 <span class="keyword">template</span>
+<a name="l00285"></a>00285 <
+<a name="l00286"></a>00286 <span class="keyword">typename</span> Segment1, <span class="keyword">typename</span> Segment2,
+<a name="l00287"></a>00287 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00288"></a>00288 >
+<a name="l00289"></a>00289 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00290"></a>00290 <
+<a name="l00291"></a>00291 segment_tag, segment_tag, point_tag,
+<a name="l00292"></a>00292 Segment1, Segment2,
+<a name="l00293"></a>00293 OutputIterator, GeometryOut
+<a name="l00294"></a>00294 >
+<a name="l00295"></a>00295 {
+<a name="l00296"></a>00296 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Segment1 <span class="keyword">const</span>& segment1,
+<a name="l00297"></a>00297 Segment2 <span class="keyword">const</span>& segment2, OutputIterator out)
+<a name="l00298"></a>00298 {
+<a name="l00299"></a>00299 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<GeometryOut>::type point_type;
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="comment">// Get the intersection point (or two points)</span>
+<a name="l00302"></a>00302 segment_intersection_points<point_type> is
+<a name="l00303"></a>00303 = strategy::intersection::relate_cartesian_segments
+<a name="l00304"></a>00304 <
+<a name="l00305"></a>00305 policies::relate::segments_intersection_points
+<a name="l00306"></a>00306 <
+<a name="l00307"></a>00307 Segment1,
+<a name="l00308"></a>00308 Segment2,
+<a name="l00309"></a>00309 segment_intersection_points<point_type>
+<a name="l00310"></a>00310 >
+<a name="l00311"></a>00311 >::relate(segment1, segment2);
+<a name="l00312"></a>00312 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < is.count; i++)
+<a name="l00313"></a>00313 {
+<a name="l00314"></a>00314 GeometryOut p;
+<a name="l00315"></a>00315 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">ggl::copy_coordinates</a>(is.intersections[i], p);
+<a name="l00316"></a>00316 *out = p;
+<a name="l00317"></a>00317 out++;
+<a name="l00318"></a>00318 }
+<a name="l00319"></a>00319 <span class="keywordflow">return</span> out;
+<a name="l00320"></a>00320 }
+<a name="l00321"></a>00321 };
<a name="l00322"></a>00322
-<a name="l00323"></a>00323 <span class="keyword">template</span>
-<a name="l00324"></a>00324 <
-<a name="l00325"></a>00325 <span class="keyword">typename</span> Linestring, <span class="keyword">typename</span> Box,
-<a name="l00326"></a>00326 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00327"></a>00327 >
-<a name="l00328"></a>00328 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00329"></a>00329 <
-<a name="l00330"></a>00330 linestring_tag, box_tag, linestring_tag,
-<a name="l00331"></a>00331 Linestring, Box,
-<a name="l00332"></a>00332 OutputIterator, GeometryOut
-<a name="l00333"></a>00333 >
-<a name="l00334"></a>00334 {
-<a name="l00335"></a>00335 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Linestring <span class="keyword">const</span>& linestring,
-<a name="l00336"></a>00336 Box <span class="keyword">const</span>& box, OutputIterator out)
-<a name="l00337"></a>00337 {
-<a name="l00338"></a>00338 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<GeometryOut>::type point_type;
-<a name="l00339"></a>00339 strategy::intersection::liang_barsky<Box, point_type> strategy;
-<a name="l00340"></a>00340 <span class="keywordflow">return</span> detail::intersection::clip_linestring_with_box<GeometryOut>(box, linestring, out, strategy);
-<a name="l00341"></a>00341 }
-<a name="l00342"></a>00342 };
-<a name="l00343"></a>00343
+<a name="l00323"></a>00323
+<a name="l00324"></a>00324 <span class="keyword">template</span>
+<a name="l00325"></a>00325 <
+<a name="l00326"></a>00326 <span class="keyword">typename</span> Linestring, <span class="keyword">typename</span> Box,
+<a name="l00327"></a>00327 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00328"></a>00328 >
+<a name="l00329"></a>00329 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00330"></a>00330 <
+<a name="l00331"></a>00331 linestring_tag, box_tag, linestring_tag,
+<a name="l00332"></a>00332 Linestring, Box,
+<a name="l00333"></a>00333 OutputIterator, GeometryOut
+<a name="l00334"></a>00334 >
+<a name="l00335"></a>00335 {
+<a name="l00336"></a>00336 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Linestring <span class="keyword">const</span>& linestring,
+<a name="l00337"></a>00337 Box <span class="keyword">const</span>& box, OutputIterator out)
+<a name="l00338"></a>00338 {
+<a name="l00339"></a>00339 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<GeometryOut>::type point_type;
+<a name="l00340"></a>00340 strategy::intersection::liang_barsky<Box, point_type> strategy;
+<a name="l00341"></a>00341 <span class="keywordflow">return</span> detail::intersection::clip_linestring_with_box<GeometryOut>(box, linestring, out, strategy);
+<a name="l00342"></a>00342 }
+<a name="l00343"></a>00343 };
<a name="l00344"></a>00344
-<a name="l00345"></a>00345 <span class="keyword">template</span>
-<a name="l00346"></a>00346 <
-<a name="l00347"></a>00347 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
-<a name="l00348"></a>00348 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00349"></a>00349 >
-<a name="l00350"></a>00350 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00351"></a>00351 <
-<a name="l00352"></a>00352 polygon_tag, polygon_tag, polygon_tag,
-<a name="l00353"></a>00353 Polygon1, Polygon2,
-<a name="l00354"></a>00354 OutputIterator, GeometryOut
-<a name="l00355"></a>00355 >
-<a name="l00356"></a>00356 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_polygon
-<a name="l00357"></a>00357 <Polygon1, Polygon2, OutputIterator, GeometryOut>
-<a name="l00358"></a>00358 {};
-<a name="l00359"></a>00359
+<a name="l00345"></a>00345
+<a name="l00346"></a>00346 <span class="keyword">template</span>
+<a name="l00347"></a>00347 <
+<a name="l00348"></a>00348 <span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2,
+<a name="l00349"></a>00349 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00350"></a>00350 >
+<a name="l00351"></a>00351 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00352"></a>00352 <
+<a name="l00353"></a>00353 polygon_tag, polygon_tag, polygon_tag,
+<a name="l00354"></a>00354 Polygon1, Polygon2,
+<a name="l00355"></a>00355 OutputIterator, GeometryOut
+<a name="l00356"></a>00356 >
+<a name="l00357"></a>00357 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_polygon
+<a name="l00358"></a>00358 <Polygon1, Polygon2, OutputIterator, GeometryOut>
+<a name="l00359"></a>00359 {};
<a name="l00360"></a>00360
<a name="l00361"></a>00361
-<a name="l00362"></a>00362 <span class="keyword">template</span>
-<a name="l00363"></a>00363 <
-<a name="l00364"></a>00364 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
-<a name="l00365"></a>00365 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00366"></a>00366 >
-<a name="l00367"></a>00367 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00368"></a>00368 <
-<a name="l00369"></a>00369 polygon_tag, box_tag, polygon_tag,
-<a name="l00370"></a>00370 Polygon, Box,
-<a name="l00371"></a>00371 OutputIterator, GeometryOut
-<a name="l00372"></a>00372 >
-<a name="l00373"></a>00373 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_box
-<a name="l00374"></a>00374 <Polygon, Box, OutputIterator, GeometryOut>
-<a name="l00375"></a>00375 {};
-<a name="l00376"></a>00376
+<a name="l00362"></a>00362
+<a name="l00363"></a>00363 <span class="keyword">template</span>
+<a name="l00364"></a>00364 <
+<a name="l00365"></a>00365 <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box,
+<a name="l00366"></a>00366 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00367"></a>00367 >
+<a name="l00368"></a>00368 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00369"></a>00369 <
+<a name="l00370"></a>00370 polygon_tag, box_tag, polygon_tag,
+<a name="l00371"></a>00371 Polygon, Box,
+<a name="l00372"></a>00372 OutputIterator, GeometryOut
+<a name="l00373"></a>00373 >
+<a name="l00374"></a>00374 : detail::<a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>::intersection_polygon_box
+<a name="l00375"></a>00375 <Polygon, Box, OutputIterator, GeometryOut>
+<a name="l00376"></a>00376 {};
<a name="l00377"></a>00377
<a name="l00378"></a>00378
-<a name="l00379"></a>00379 <span class="keyword">template</span>
-<a name="l00380"></a>00380 <
-<a name="l00381"></a>00381 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2, <span class="keyword">typename</span> GeometryTag3,
-<a name="l00382"></a>00382 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
-<a name="l00383"></a>00383 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
-<a name="l00384"></a>00384 >
-<a name="l00385"></a>00385 <span class="keyword">struct </span>intersection_reversed
-<a name="l00386"></a>00386 {
-<a name="l00387"></a>00387 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2, OutputIterator out)
-<a name="l00388"></a>00388 {
-<a name="l00389"></a>00389 <span class="keywordflow">return</span> <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
-<a name="l00390"></a>00390 <
-<a name="l00391"></a>00391 GeometryTag2, GeometryTag1, GeometryTag3,
-<a name="l00392"></a>00392 G2, G1,
-<a name="l00393"></a>00393 OutputIterator, GeometryOut
-<a name="l00394"></a>00394 >::apply(g2, g1, out);
-<a name="l00395"></a>00395 }
-<a name="l00396"></a>00396 };
-<a name="l00397"></a>00397
+<a name="l00379"></a>00379
+<a name="l00380"></a>00380 <span class="keyword">template</span>
+<a name="l00381"></a>00381 <
+<a name="l00382"></a>00382 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2, <span class="keyword">typename</span> GeometryTag3,
+<a name="l00383"></a>00383 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00384"></a>00384 <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> GeometryOut
+<a name="l00385"></a>00385 >
+<a name="l00386"></a>00386 <span class="keyword">struct </span>intersection_reversed
+<a name="l00387"></a>00387 {
+<a name="l00388"></a>00388 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2, OutputIterator out)
+<a name="l00389"></a>00389 {
+<a name="l00390"></a>00390 <span class="keywordflow">return</span> <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>
+<a name="l00391"></a>00391 <
+<a name="l00392"></a>00392 GeometryTag2, GeometryTag1, GeometryTag3,
+<a name="l00393"></a>00393 G2, G1,
+<a name="l00394"></a>00394 OutputIterator, GeometryOut
+<a name="l00395"></a>00395 >::apply(g2, g1, out);
+<a name="l00396"></a>00396 }
+<a name="l00397"></a>00397 };
<a name="l00398"></a>00398
<a name="l00399"></a>00399
-<a name="l00400"></a>00400 } <span class="comment">// namespace dispatch</span>
-<a name="l00401"></a>00401 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00402"></a>00402 <span class="preprocessor"></span>
-<a name="l00420"></a>00420 <span class="keyword">template</span>
-<a name="l00421"></a>00421 <
-<a name="l00422"></a>00422 <span class="keyword">typename</span> GeometryOut,
-<a name="l00423"></a>00423 <span class="keyword">typename</span> Geometry1,
-<a name="l00424"></a>00424 <span class="keyword">typename</span> Geometry2,
-<a name="l00425"></a>00425 <span class="keyword">typename</span> OutputIterator
-<a name="l00426"></a>00426 >
-<a name="l00427"></a><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">00427</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>(Geometry1 <span class="keyword">const</span>& geometry1,
-<a name="l00428"></a>00428 Geometry2 <span class="keyword">const</span>& geometry2,
-<a name="l00429"></a>00429 OutputIterator out)
-<a name="l00430"></a>00430 {
-<a name="l00431"></a>00431
-<a name="l00432"></a>00432 <span class="keywordflow">return</span> boost::mpl::if_c
-<a name="l00433"></a>00433 <
-<a name="l00434"></a>00434 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch<Geometry1, Geometry2>::type::value</a>,
-<a name="l00435"></a>00435 dispatch::intersection_reversed
-<a name="l00436"></a>00436 <
-<a name="l00437"></a>00437 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry1>::type</a>,
-<a name="l00438"></a>00438 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry2>::type</a>,
-<a name="l00439"></a>00439 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<GeometryOut>::type</a>,
-<a name="l00440"></a>00440 Geometry1,
-<a name="l00441"></a>00441 Geometry2,
-<a name="l00442"></a>00442 OutputIterator, GeometryOut
-<a name="l00443"></a>00443 >,
-<a name="l00444"></a>00444 <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">dispatch::intersection</a>
-<a name="l00445"></a>00445 <
-<a name="l00446"></a>00446 <span class="keyword">typename</span> tag<Geometry1>::type,
-<a name="l00447"></a>00447 <span class="keyword">typename</span> tag<Geometry2>::type,
-<a name="l00448"></a>00448 <span class="keyword">typename</span> tag<GeometryOut>::type,
-<a name="l00449"></a>00449 Geometry1,
-<a name="l00450"></a>00450 Geometry2,
-<a name="l00451"></a>00451 OutputIterator, GeometryOut
-<a name="l00452"></a>00452 >
-<a name="l00453"></a>00453 >::type::apply(geometry1, geometry2, out);
-<a name="l00454"></a>00454 }
-<a name="l00455"></a>00455
-<a name="l00456"></a>00456 } <span class="comment">// ggl</span>
-<a name="l00457"></a>00457
-<a name="l00458"></a>00458 <span class="preprocessor">#endif //GGL_ALGORITHMS_INTERSECTION_HPP</span>
+<a name="l00400"></a>00400
+<a name="l00401"></a>00401 } <span class="comment">// namespace dispatch</span>
+<a name="l00402"></a>00402 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00403"></a>00403 <span class="preprocessor"></span>
+<a name="l00421"></a>00421 <span class="keyword">template</span>
+<a name="l00422"></a>00422 <
+<a name="l00423"></a>00423 <span class="keyword">typename</span> GeometryOut,
+<a name="l00424"></a>00424 <span class="keyword">typename</span> Geometry1,
+<a name="l00425"></a>00425 <span class="keyword">typename</span> Geometry2,
+<a name="l00426"></a>00426 <span class="keyword">typename</span> OutputIterator
+<a name="l00427"></a>00427 >
+<a name="l00428"></a><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">00428</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a>(Geometry1 <span class="keyword">const</span>& geometry1,
+<a name="l00429"></a>00429 Geometry2 <span class="keyword">const</span>& geometry2,
+<a name="l00430"></a>00430 OutputIterator out)
+<a name="l00431"></a>00431 {
+<a name="l00432"></a>00432 concept::check<const Geometry1>();
+<a name="l00433"></a>00433 concept::check<const Geometry2>();
+<a name="l00434"></a>00434
+<a name="l00435"></a>00435 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00436"></a>00436 <
+<a name="l00437"></a>00437 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch<Geometry1, Geometry2>::type::value</a>,
+<a name="l00438"></a>00438 dispatch::intersection_reversed
+<a name="l00439"></a>00439 <
+<a name="l00440"></a>00440 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry1>::type</a>,
+<a name="l00441"></a>00441 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry2>::type</a>,
+<a name="l00442"></a>00442 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<GeometryOut>::type</a>,
+<a name="l00443"></a>00443 Geometry1,
+<a name="l00444"></a>00444 Geometry2,
+<a name="l00445"></a>00445 OutputIterator, GeometryOut
+<a name="l00446"></a>00446 >,
+<a name="l00447"></a>00447 <a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">dispatch::intersection</a>
+<a name="l00448"></a>00448 <
+<a name="l00449"></a>00449 <span class="keyword">typename</span> tag<Geometry1>::type,
+<a name="l00450"></a>00450 <span class="keyword">typename</span> tag<Geometry2>::type,
+<a name="l00451"></a>00451 <span class="keyword">typename</span> tag<GeometryOut>::type,
+<a name="l00452"></a>00452 Geometry1,
+<a name="l00453"></a>00453 Geometry2,
+<a name="l00454"></a>00454 OutputIterator, GeometryOut
+<a name="l00455"></a>00455 >
+<a name="l00456"></a>00456 >::type::apply(geometry1, geometry2, out);
+<a name="l00457"></a>00457 }
+<a name="l00458"></a>00458
+<a name="l00459"></a>00459 } <span class="comment">// ggl</span>
+<a name="l00460"></a>00460
+<a name="l00461"></a>00461 <span class="preprocessor">#endif //GGL_ALGORITHMS_INTERSECTION_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2length_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -60,139 +60,148 @@
<a name="l00018"></a>00018 <span class="preprocessor">#include <boost/type_traits.hpp></span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="length__result_8hpp.html">ggl/strategies/length_result.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>></span>
<a name="l00026"></a>00026
-<a name="l00040"></a>00040 <span class="keyword">namespace </span>ggl
-<a name="l00041"></a>00041 {
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> {
+<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="length__result_8hpp.html">ggl/strategies/length_result.hpp</a>></span>
+<a name="l00029"></a>00029
+<a name="l00044"></a>00044 <span class="keyword">namespace </span>ggl
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046
<a name="l00047"></a>00047
<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keyword">template</span><<span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Strategy>
-<a name="l00050"></a>00050 <span class="keyword">struct </span>segment_length
-<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> length_result<Segment>::type apply(
-<a name="l00053"></a>00053 Segment <span class="keyword">const</span>& segment, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00054"></a>00054 {
-<a name="l00055"></a>00055 <span class="comment">// BSG 10 APR 2009</span>
-<a name="l00056"></a>00056 <span class="comment">// TODO: the segment concept has to be such that it is easy to return a point from it.</span>
-<a name="l00057"></a>00057 <span class="comment">// Now it only accesses per coordinate</span>
-<a name="l00058"></a>00058 <span class="keywordflow">return</span> strategy(segment.first, segment.second);
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060 };
-<a name="l00061"></a>00061
-<a name="l00066"></a>00066 <span class="keyword">template</span><<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy>
-<a name="l00067"></a>00067 <span class="keyword">struct </span>range_length
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> length_result<Range>::type return_type;
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(
-<a name="l00072"></a>00072 Range <span class="keyword">const</span>& range, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 return_type sum = return_type();
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
-<a name="l00077"></a>00077 iterator_type it = boost::begin(range);
-<a name="l00078"></a>00078 <span class="keywordflow">if</span> (it != boost::end(range))
-<a name="l00079"></a>00079 {
-<a name="l00080"></a>00080 iterator_type previous = it++;
-<a name="l00081"></a>00081 <span class="keywordflow">while</span>(it != boost::end(range))
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="comment">// Add point-point distance using the return type belonging to strategy</span>
-<a name="l00084"></a>00084 sum += strategy(*previous, *it);
-<a name="l00085"></a>00085 previous = it++;
-<a name="l00086"></a>00086 }
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keywordflow">return</span> sum;
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091 };
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 }} <span class="comment">// namespace detail::length</span>
-<a name="l00094"></a>00094 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00095"></a>00095 <span class="preprocessor"></span>
-<a name="l00096"></a>00096 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00098"></a>00098 {
-<a name="l00099"></a>00099
+<a name="l00049"></a>00049 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> {
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span><<span class="keyword">typename</span> Segment, <span class="keyword">typename</span> Strategy>
+<a name="l00054"></a>00054 <span class="keyword">struct </span>segment_length
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> length_result<Segment>::type apply(
+<a name="l00057"></a>00057 Segment <span class="keyword">const</span>& segment, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="comment">// BSG 10 APR 2009</span>
+<a name="l00060"></a>00060 <span class="comment">// TODO: the segment concept has to be such that it is easy</span>
+<a name="l00061"></a>00061 <span class="comment">// to return a point from it.</span>
+<a name="l00062"></a>00062 <span class="comment">// Now it only accesses per coordinate</span>
+<a name="l00063"></a>00063 <span class="keywordflow">return</span> strategy(segment.first, segment.second);
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066
+<a name="l00073"></a>00073 <span class="keyword">template</span><<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy>
+<a name="l00074"></a>00074 <span class="keyword">struct </span>range_length
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keyword">typedef</span> <span class="keyword">typename</span> length_result<Range>::type return_type;
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">static</span> <span class="keyword">inline</span> return_type apply(
+<a name="l00079"></a>00079 Range <span class="keyword">const</span>& range, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 return_type sum = return_type();
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
+<a name="l00084"></a>00084 iterator_type it = boost::begin(range);
+<a name="l00085"></a>00085 <span class="keywordflow">if</span> (it != boost::end(range))
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 iterator_type previous = it++;
+<a name="l00088"></a>00088 <span class="keywordflow">while</span>(it != boost::end(range))
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="comment">// Add point-point distance using the return type belonging</span>
+<a name="l00091"></a>00091 <span class="comment">// to strategy</span>
+<a name="l00092"></a>00092 sum += strategy(*previous, *it);
+<a name="l00093"></a>00093 previous = it++;
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> sum;
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 };
<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00102"></a>00102 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> : detail::calculate_null
-<a name="l00103"></a>00103 <
-<a name="l00104"></a>00104 typename length_result<Geometry>::type,
-<a name="l00105"></a>00105 Geometry,
-<a name="l00106"></a>00106 Strategy
-<a name="l00107"></a>00107 >
-<a name="l00108"></a>00108 {};
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00112"></a>00112 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a><linestring_tag, Geometry, Strategy>
-<a name="l00113"></a>00113 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::range_length<Geometry, Strategy>
-<a name="l00114"></a>00114 {};
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="comment">// RING: length is currently 0.0 but it might be argued that it is the "perimeter"</span>
+<a name="l00101"></a>00101 }} <span class="comment">// namespace detail::length</span>
+<a name="l00102"></a>00102 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span>
+<a name="l00104"></a>00104 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00110"></a>00110 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a> : detail::calculate_null
+<a name="l00111"></a>00111 <
+<a name="l00112"></a>00112 typename length_result<Geometry>::type,
+<a name="l00113"></a>00113 Geometry,
+<a name="l00114"></a>00114 Strategy
+<a name="l00115"></a>00115 >
+<a name="l00116"></a>00116 {};
+<a name="l00117"></a>00117
<a name="l00118"></a>00118
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00121"></a>00121 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a><segment_tag, Geometry, Strategy>
-<a name="l00122"></a>00122 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::segment_length<Geometry, Strategy>
-<a name="l00123"></a>00123 {};
+<a name="l00119"></a>00119 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00120"></a>00120 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a><linestring_tag, Geometry, Strategy>
+<a name="l00121"></a>00121 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::range_length<Geometry, Strategy>
+<a name="l00122"></a>00122 {};
+<a name="l00123"></a>00123
<a name="l00124"></a>00124
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 } <span class="comment">// namespace dispatch</span>
-<a name="l00127"></a>00127 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00128"></a>00128 <span class="preprocessor"></span>
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131
+<a name="l00125"></a>00125 <span class="comment">// RING: length is currently 0; it might be argued that it is the "perimeter"</span>
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00129"></a>00129 <span class="keyword">struct </span><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a><segment_tag, Geometry, Strategy>
+<a name="l00130"></a>00130 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::segment_length<Geometry, Strategy>
+<a name="l00131"></a>00131 {};
<a name="l00132"></a>00132
<a name="l00133"></a>00133
-<a name="l00146"></a>00146 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry>
-<a name="l00147"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf">00147</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result<Geometry>::type</a> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(
-<a name="l00148"></a>00148 Geometry <span class="keyword">const</span>& geometry)
-<a name="l00149"></a>00149 {
-<a name="l00150"></a>00150 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00151"></a>00151 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
-<a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
-<a name="l00153"></a>00153 <
-<a name="l00154"></a>00154 cs_tag,
-<a name="l00155"></a>00155 cs_tag,
-<a name="l00156"></a>00156 point_type,
-<a name="l00157"></a>00157 point_type
-<a name="l00158"></a>00158 >::type strategy_type;
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">dispatch::length</a>
-<a name="l00161"></a>00161 <
-<a name="l00162"></a>00162 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00163"></a>00163 Geometry,
-<a name="l00164"></a>00164 strategy_type
-<a name="l00165"></a>00165 >::apply(geometry, strategy_type());
-<a name="l00166"></a>00166 }
-<a name="l00167"></a>00167
-<a name="l00182"></a>00182 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00183"></a><a class="code" href="group__length.html#gc25f493cf56a02b9f0077e18a444bed8">00183</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result<Geometry>::type</a> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(
-<a name="l00184"></a>00184 Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00185"></a>00185 {
-<a name="l00186"></a>00186 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">dispatch::length</a>
-<a name="l00187"></a>00187 <
-<a name="l00188"></a>00188 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00189"></a>00189 Geometry,
-<a name="l00190"></a>00190 Strategy
-<a name="l00191"></a>00191 >::apply(geometry, strategy);
-<a name="l00192"></a>00192 }
-<a name="l00193"></a>00193
-<a name="l00194"></a>00194 } <span class="comment">// namespace ggl</span>
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <span class="preprocessor">#endif // GGL_ALGORITHMS_LENGTH_HPP</span>
+<a name="l00134"></a>00134 } <span class="comment">// namespace dispatch</span>
+<a name="l00135"></a>00135 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00136"></a>00136 <span class="preprocessor"></span>
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141
+<a name="l00156"></a>00156 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry>
+<a name="l00157"></a><a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf">00157</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result<Geometry>::type</a> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(
+<a name="l00158"></a>00158 Geometry <span class="keyword">const</span>& geometry)
+<a name="l00159"></a>00159 {
+<a name="l00160"></a>00160 concept::check<const Geometry>();
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00163"></a>00163 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
+<a name="l00164"></a>00164 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00165"></a>00165 <
+<a name="l00166"></a>00166 cs_tag,
+<a name="l00167"></a>00167 cs_tag,
+<a name="l00168"></a>00168 point_type,
+<a name="l00169"></a>00169 point_type
+<a name="l00170"></a>00170 >::type strategy_type;
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">dispatch::length</a>
+<a name="l00173"></a>00173 <
+<a name="l00174"></a>00174 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00175"></a>00175 Geometry,
+<a name="l00176"></a>00176 strategy_type
+<a name="l00177"></a>00177 >::apply(geometry, strategy_type());
+<a name="l00178"></a>00178 }
+<a name="l00179"></a>00179
+<a name="l00197"></a>00197 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00198"></a><a class="code" href="group__length.html#gc25f493cf56a02b9f0077e18a444bed8">00198</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result<Geometry>::type</a> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>(
+<a name="l00199"></a>00199 Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00200"></a>00200 {
+<a name="l00201"></a>00201 concept::check<const Geometry>();
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 <span class="keywordflow">return</span> <a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">dispatch::length</a>
+<a name="l00204"></a>00204 <
+<a name="l00205"></a>00205 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00206"></a>00206 Geometry,
+<a name="l00207"></a>00207 Strategy
+<a name="l00208"></a>00208 >::apply(geometry, strategy);
+<a name="l00209"></a>00209 }
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 } <span class="comment">// namespace ggl</span>
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="preprocessor">#endif // GGL_ALGORITHMS_LENGTH_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2num__points_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -59,124 +59,123 @@
<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="is__linear_8hpp.html">ggl/core/is_linear.hpp</a>></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
<a name="l00019"></a>00019
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
-<a name="l00022"></a>00022 {
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a> {
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">template</span> <<span class="keyword">typename</span> Range>
-<a name="l00029"></a>00029 <span class="keyword">struct </span>range_count
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Range <span class="keyword">const</span>& range)
-<a name="l00032"></a>00032 {
-<a name="l00033"></a>00033 <span class="keywordflow">return</span> boost::size(range);
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035 };
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> D>
-<a name="l00038"></a>00038 <span class="keyword">struct </span>other_count
-<a name="l00039"></a>00039 {
-<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Geometry <span class="keyword">const</span>& geometry)
-<a name="l00041"></a>00041 {
-<a name="l00042"></a>00042 <span class="keywordflow">return</span> D;
-<a name="l00043"></a>00043 }
-<a name="l00044"></a>00044 };
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
-<a name="l00047"></a>00047 <span class="keyword">struct </span>polygon_count
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Polygon <span class="keyword">const</span>& poly)
-<a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 std::size_t n = boost::size(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly));
-<a name="l00052"></a>00052 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00053"></a>00053 <
-<a name="l00054"></a>00054 <span class="keyword">typename</span> interior_type<Polygon>::type
-<a name="l00055"></a>00055 >::type iterator;
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keywordflow">for</span> (iterator it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00058"></a>00058 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00059"></a>00059 ++it)
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 n += boost::size(*it);
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="keywordflow">return</span> n;
-<a name="l00065"></a>00065 }
-<a name="l00066"></a>00066 };
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 }} <span class="comment">// namespace detail::num_points</span>
-<a name="l00069"></a>00069 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00070"></a>00070 <span class="preprocessor"></span>
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00074"></a>00074 {
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keywordtype">bool</span> Linear, <span class="keyword">typename</span> Geometry>
-<a name="l00077"></a>00077 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>
-<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 };
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
-<a name="l00082"></a>00082 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><GeometryTag, true, Geometry>
-<a name="l00083"></a>00083 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::range_count<Geometry>
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 };
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00088"></a>00088 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><point_tag, false, Geometry>
-<a name="l00089"></a>00089 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count<Geometry, 1>
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 };
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00094"></a>00094 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><box_tag, false, Geometry>
-<a name="l00095"></a>00095 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count<Geometry, 4>
-<a name="l00096"></a>00096 {
-<a name="l00097"></a>00097 };
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00100"></a>00100 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><segment_tag, false, Geometry>
-<a name="l00101"></a>00101 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count<Geometry, 2>
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103 };
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00106"></a>00106 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><nsphere_tag, false, Geometry>
-<a name="l00107"></a>00107 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count<Geometry, 1>
-<a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 };
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00112"></a>00112 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><polygon_tag, false, Geometry>
-<a name="l00113"></a>00113 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::polygon_count<Geometry>
-<a name="l00114"></a>00114 {
-<a name="l00115"></a>00115 };
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 } <span class="comment">// namespace dispatch</span>
-<a name="l00118"></a>00118 <span class="preprocessor">#endif</span>
-<a name="l00119"></a>00119 <span class="preprocessor"></span>
-<a name="l00120"></a>00120
-<a name="l00131"></a>00131 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00132"></a><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267">00132</a> <span class="keyword">inline</span> std::size_t <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>(Geometry <span class="keyword">const</span>& geometry)
-<a name="l00133"></a>00133 {
-<a name="l00134"></a>00134 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type ncg_type;
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">dispatch::num_points</a>
-<a name="l00137"></a>00137 <
-<a name="l00138"></a>00138 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00139"></a>00139 <a class="code" href="structggl_1_1is__linear.html" title="Meta-function defining &quot;true&quot; for linear types (linestring,ring), &quot;false&quot;...">is_linear<ncg_type>::value</a>,
-<a name="l00140"></a>00140 ncg_type
-<a name="l00141"></a>00141 >::apply(geometry);
-<a name="l00142"></a>00142 }
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 }
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl
+<a name="l00024"></a>00024 {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a> {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="keyword">template</span> <<span class="keyword">typename</span> Range>
+<a name="l00031"></a>00031 <span class="keyword">struct </span>range_count
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Range <span class="keyword">const</span>& range)
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keywordflow">return</span> boost::size(range);
+<a name="l00036"></a>00036 }
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> D>
+<a name="l00040"></a>00040 <span class="keyword">struct </span>other_count
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Geometry <span class="keyword">const</span>& geometry)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> D;
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 };
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00049"></a>00049 <span class="keyword">struct </span>polygon_count
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">inline</span> std::size_t apply(Polygon <span class="keyword">const</span>& poly)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 std::size_t n = boost::size(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly));
+<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00055"></a>00055 <
+<a name="l00056"></a>00056 <span class="keyword">typename</span> interior_type<Polygon>::type
+<a name="l00057"></a>00057 >::type iterator;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keywordflow">for</span> (iterator it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00060"></a>00060 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00061"></a>00061 ++it)
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 n += boost::size(*it);
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> n;
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 }} <span class="comment">// namespace detail::num_points</span>
+<a name="l00071"></a>00071 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span>
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keywordtype">bool</span> Linear, <span class="keyword">typename</span> Geometry>
+<a name="l00079"></a>00079 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
+<a name="l00084"></a>00084 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><GeometryTag, true, Geometry>
+<a name="l00085"></a>00085 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::range_count<Geometry>
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><point_tag, false, Geometry>
+<a name="l00091"></a>00091 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count<Geometry, 1>
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00096"></a>00096 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><box_tag, false, Geometry>
+<a name="l00097"></a>00097 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count<Geometry, 4>
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00102"></a>00102 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><segment_tag, false, Geometry>
+<a name="l00103"></a>00103 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::other_count<Geometry, 2>
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00109"></a>00109 <span class="keyword">struct </span><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a><polygon_tag, false, Geometry>
+<a name="l00110"></a>00110 : detail::<a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>::polygon_count<Geometry>
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 } <span class="comment">// namespace dispatch</span>
+<a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
+<a name="l00116"></a>00116 <span class="preprocessor"></span>
+<a name="l00117"></a>00117
+<a name="l00128"></a>00128 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00129"></a><a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267">00129</a> <span class="keyword">inline</span> std::size_t <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">num_points</a>(Geometry <span class="keyword">const</span>& geometry)
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 concept::check<const Geometry>();
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type ncg_type;
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g8d58faff2722b073b44c24f19577e267" title="get number of points">dispatch::num_points</a>
+<a name="l00136"></a>00136 <
+<a name="l00137"></a>00137 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00138"></a>00138 <a class="code" href="structggl_1_1is__linear.html" title="Meta-function defining &quot;true&quot; for linear types (linestring,ring), &quot;false&quot;...">is_linear<ncg_type>::value</a>,
+<a name="l00139"></a>00139 ncg_type
+<a name="l00140"></a>00140 >::apply(geometry);
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 }
+<a name="l00144"></a>00144
<a name="l00145"></a>00145
-<a name="l00146"></a>00146
-<a name="l00147"></a>00147 <span class="preprocessor">#endif // GGL_ALGORITHMS_NUM_POINTS_HPP</span>
+<a name="l00146"></a>00146 <span class="preprocessor">#endif // GGL_ALGORITHMS_NUM_POINTS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2perimeter_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,70 +51,68 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_PERIMETER_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_PERIMETER_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <cmath></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <iterator></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="length__result_8hpp.html">ggl/strategies/length_result.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="length__result_8hpp.html">ggl/strategies/length_result.hpp</a>></span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="calculate__sum_8hpp.html">ggl/algorithms/detail/calculate_sum.hpp</a>></span>
<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="algorithms_2length_8hpp.html">ggl/algorithms/length.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="calculate__sum_8hpp.html">ggl/algorithms/detail/calculate_sum.hpp</a>></span>
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027
-<a name="l00033"></a>00033 <span class="keyword">namespace </span>ggl
+<a name="l00023"></a>00023
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
<a name="l00034"></a>00034 {
<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00038"></a>00038 {
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="comment">// Default perimeter is 0.0, specializations implement calculated values</span>
-<a name="l00041"></a>00041 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00042"></a>00042 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a> : detail::calculate_null
-<a name="l00043"></a>00043 <
-<a name="l00044"></a>00044 typename length_result<Geometry>::type,
-<a name="l00045"></a>00045 Geometry,
-<a name="l00046"></a>00046 Strategy
-<a name="l00047"></a>00047 >
-<a name="l00048"></a>00048 {};
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00051"></a>00051 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a><ring_tag, Geometry, Strategy>
-<a name="l00052"></a>00052 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::range_length<Geometry, Strategy>
-<a name="l00053"></a>00053 {};
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy>
-<a name="l00056"></a>00056 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a><polygon_tag, Polygon, Strategy>
-<a name="l00057"></a>00057 : detail::calculate_polygon_sum
-<a name="l00058"></a>00058 <
-<a name="l00059"></a>00059 typename length_result<Polygon>::type,
-<a name="l00060"></a>00060 Polygon,
-<a name="l00061"></a>00061 Strategy,
-<a name="l00062"></a>00062 detail::length::range_length
-<a name="l00063"></a>00063 <
-<a name="l00064"></a>00064 typename ring_type<Polygon>::type,
-<a name="l00065"></a>00065 Strategy
-<a name="l00066"></a>00066 >
-<a name="l00067"></a>00067 >
-<a name="l00068"></a>00068 {};
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="comment">// box,n-sphere: to be implemented</span>
+<a name="l00036"></a>00036 <span class="comment">// Default perimeter is 0.0, specializations implement calculated values</span>
+<a name="l00037"></a>00037 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00038"></a>00038 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a> : detail::calculate_null
+<a name="l00039"></a>00039 <
+<a name="l00040"></a>00040 typename length_result<Geometry>::type,
+<a name="l00041"></a>00041 Geometry,
+<a name="l00042"></a>00042 Strategy
+<a name="l00043"></a>00043 >
+<a name="l00044"></a>00044 {};
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00047"></a>00047 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a><ring_tag, Geometry, Strategy>
+<a name="l00048"></a>00048 : detail::<a class="code" href="group__length.html#g3ff05ea6b83363ce847770d3abe156bf" title="Calculate length of a geometry.">length</a>::range_length<Geometry, Strategy>
+<a name="l00049"></a>00049 {};
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy>
+<a name="l00052"></a>00052 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a><polygon_tag, Polygon, Strategy>
+<a name="l00053"></a>00053 : detail::calculate_polygon_sum
+<a name="l00054"></a>00054 <
+<a name="l00055"></a>00055 typename length_result<Polygon>::type,
+<a name="l00056"></a>00056 Polygon,
+<a name="l00057"></a>00057 Strategy,
+<a name="l00058"></a>00058 detail::length::range_length
+<a name="l00059"></a>00059 <
+<a name="l00060"></a>00060 typename ring_type<Polygon>::type,
+<a name="l00061"></a>00061 Strategy
+<a name="l00062"></a>00062 >
+<a name="l00063"></a>00063 >
+<a name="l00064"></a>00064 {};
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="comment">// box,n-sphere: to be implemented</span>
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 } <span class="comment">// namespace dispatch</span>
+<a name="l00070"></a>00070 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
<a name="l00072"></a>00072
-<a name="l00073"></a>00073 } <span class="comment">// namespace dispatch</span>
-<a name="l00074"></a>00074 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00075"></a>00075 <span class="preprocessor"></span>
-<a name="l00076"></a>00076
-<a name="l00084"></a>00084 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry>
-<a name="l00085"></a><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">00085</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result<Geometry>::type</a> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>(
-<a name="l00086"></a>00086 Geometry <span class="keyword">const</span>& geometry)
-<a name="l00087"></a>00087 {
+<a name="l00082"></a>00082 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry>
+<a name="l00083"></a><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9">00083</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result<Geometry>::type</a> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>(
+<a name="l00084"></a>00084 Geometry <span class="keyword">const</span>& geometry)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 concept::check<const Geometry>();
+<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
<a name="l00089"></a>00089 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
@@ -133,21 +131,24 @@
<a name="l00103"></a>00103 >::apply(geometry, strategy_type());
<a name="l00104"></a>00104 }
<a name="l00105"></a>00105
-<a name="l00114"></a>00114 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00115"></a><a class="code" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">00115</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result<Geometry>::type</a> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>(
-<a name="l00116"></a>00116 Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00117"></a>00117 {
-<a name="l00118"></a>00118 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
-<a name="l00119"></a>00119 <
-<a name="l00120"></a>00120 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00121"></a>00121 Geometry,
-<a name="l00122"></a>00122 Strategy
-<a name="l00123"></a>00123 >::apply(geometry, strategy);
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 } <span class="comment">// namespace ggl</span>
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="preprocessor">#endif // GGL_ALGORITHMS_PERIMETER_HPP</span>
+<a name="l00116"></a>00116 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<a name="l00117"></a><a class="code" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">00117</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1length__result.html" title="Meta-function defining return type of length function.">length_result<Geometry>::type</a> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a>(
+<a name="l00118"></a>00118 Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 concept::check<const Geometry>();
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keywordflow">return</span> <a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">dispatch::perimeter</a>
+<a name="l00123"></a>00123 <
+<a name="l00124"></a>00124 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00125"></a>00125 Geometry,
+<a name="l00126"></a>00126 Strategy
+<a name="l00127"></a>00127 >::apply(geometry, strategy);
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 } <span class="comment">// namespace ggl</span>
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="preprocessor">#endif // GGL_ALGORITHMS_PERIMETER_HPP</span>
+<a name="l00133"></a>00133 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -55,7 +55,7 @@
<a name="l00013"></a>00013 <span class="preprocessor">#include <vector></span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept_check.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
+<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/range/functions.hpp></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
<a name="l00019"></a>00019
@@ -65,520 +65,525 @@
<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00027"></a>00027
<a name="l00028"></a>00028
-<a name="l00029"></a>00029
-<a name="l00041"></a>00041 <span class="keyword">namespace </span>ggl
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044
-<a name="l00056"></a>00056 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00057"></a><a class="code" href="structggl_1_1section.html">00057</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1section.html" title="Structure containing section information.">section</a>
-<a name="l00058"></a>00058 {
-<a name="l00059"></a><a class="code" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">00059</a> <span class="keyword">typedef</span> Box <a class="code" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">box_type</a>;
-<a name="l00060"></a>00060
-<a name="l00061"></a><a class="code" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">00061</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">directions</a>[DimensionCount];
-<a name="l00062"></a><a class="code" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">00062</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ring_index</a>;
-<a name="l00063"></a><a class="code" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">00063</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">multi_index</a>;
-<a name="l00064"></a><a class="code" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">00064</a> Box <a class="code" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">bounding_box</a>;
-<a name="l00065"></a>00065
-<a name="l00066"></a><a class="code" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">00066</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">begin_index</a>;
-<a name="l00067"></a><a class="code" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">00067</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">end_index</a>;
-<a name="l00068"></a><a class="code" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">00068</a> std::size_t <a class="code" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">count</a>;
-<a name="l00069"></a><a class="code" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">00069</a> std::size_t <a class="code" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">range_count</a>;
-<a name="l00070"></a><a class="code" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">00070</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">duplicate</a>;
-<a name="l00071"></a><a class="code" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">00071</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">non_duplicate_index</a>;
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073
-<a name="l00074"></a><a class="code" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">00074</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">section</a>()
-<a name="l00075"></a>00075 : <a class="code" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ring_index</a>(-99)
-<a name="l00076"></a>00076 , <a class="code" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">multi_index</a>(-99)
-<a name="l00077"></a>00077 , <a class="code" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">begin_index</a>(-1)
-<a name="l00078"></a>00078 , <a class="code" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">end_index</a>(-1)
-<a name="l00079"></a>00079 , <a class="code" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">count</a>(0)
-<a name="l00080"></a>00080 , <a class="code" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">range_count</a>(0)
-<a name="l00081"></a>00081 , <a class="code" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">duplicate</a>(false)
-<a name="l00082"></a>00082 , <a class="code" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">non_duplicate_index</a>(-1)
-<a name="l00083"></a>00083 {
-<a name="l00084"></a>00084 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">assign_inverse</a>(<a class="code" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">bounding_box</a>);
-<a name="l00085"></a>00085 <span class="keywordflow">for</span> (<span class="keyword">register</span> std::size_t i = 0; i < DimensionCount; i++)
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <a class="code" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">directions</a>[i] = 0;
-<a name="l00088"></a>00088 }
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 };
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092
-<a name="l00099"></a>00099 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00100"></a><a class="code" href="structggl_1_1sections.html">00100</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a> : std::vector<section<Box, DimensionCount> >
-<a name="l00101"></a>00101 {
-<a name="l00102"></a><a class="code" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">00102</a> <span class="keyword">typedef</span> Box <a class="code" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">box_type</a>;
-<a name="l00103"></a><a class="code" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">00103</a> <span class="keyword">static</span> <span class="keyword">const</span> std::size_t <a class="code" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">value</a> = DimensionCount;
-<a name="l00104"></a>00104 };
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00108"></a>00108 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a> {
+<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00044"></a>00044 <span class="keyword">namespace </span>ggl
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00059"></a>00059 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00060"></a><a class="code" href="structggl_1_1section.html">00060</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1section.html" title="Structure containing section information.">section</a>
+<a name="l00061"></a>00061 {
+<a name="l00062"></a><a class="code" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">00062</a> <span class="keyword">typedef</span> Box <a class="code" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">box_type</a>;
+<a name="l00063"></a>00063
+<a name="l00064"></a><a class="code" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">00064</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">directions</a>[DimensionCount];
+<a name="l00065"></a><a class="code" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">00065</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ring_index</a>;
+<a name="l00066"></a><a class="code" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">00066</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">multi_index</a>;
+<a name="l00067"></a><a class="code" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">00067</a> Box <a class="code" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">bounding_box</a>;
+<a name="l00068"></a>00068
+<a name="l00069"></a><a class="code" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">00069</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">begin_index</a>;
+<a name="l00070"></a><a class="code" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">00070</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">end_index</a>;
+<a name="l00071"></a><a class="code" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">00071</a> std::size_t <a class="code" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">count</a>;
+<a name="l00072"></a><a class="code" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">00072</a> std::size_t <a class="code" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">range_count</a>;
+<a name="l00073"></a><a class="code" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">00073</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">duplicate</a>;
+<a name="l00074"></a><a class="code" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">00074</a> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">non_duplicate_index</a>;
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a><a class="code" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">00077</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">section</a>()
+<a name="l00078"></a>00078 : <a class="code" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ring_index</a>(-99)
+<a name="l00079"></a>00079 , <a class="code" href="structggl_1_1section.html#0403b41208359f079cf29876de56d182">multi_index</a>(-99)
+<a name="l00080"></a>00080 , <a class="code" href="structggl_1_1section.html#fcde79e0f07f3744382e8ecbb6ceeaa3">begin_index</a>(-1)
+<a name="l00081"></a>00081 , <a class="code" href="structggl_1_1section.html#22897e4894f0d4dcaa80f0ab30376c68">end_index</a>(-1)
+<a name="l00082"></a>00082 , <a class="code" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">count</a>(0)
+<a name="l00083"></a>00083 , <a class="code" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">range_count</a>(0)
+<a name="l00084"></a>00084 , <a class="code" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">duplicate</a>(false)
+<a name="l00085"></a>00085 , <a class="code" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">non_duplicate_index</a>(-1)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(<a class="code" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">bounding_box</a>);
+<a name="l00088"></a>00088 <span class="keywordflow">for</span> (<span class="keyword">register</span> std::size_t i = 0; i < DimensionCount; i++)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <a class="code" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">directions</a>[i] = 0;
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095
+<a name="l00102"></a>00102 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00103"></a><a class="code" href="structggl_1_1sections.html">00103</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a> : std::vector<section<Box, DimensionCount> >
+<a name="l00104"></a>00104 {
+<a name="l00105"></a><a class="code" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">00105</a> <span class="keyword">typedef</span> Box <a class="code" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">box_type</a>;
+<a name="l00106"></a><a class="code" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">00106</a> <span class="keyword">static</span> <span class="keyword">const</span> std::size_t <a class="code" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">value</a> = DimensionCount;
+<a name="l00107"></a>00107 };
+<a name="l00108"></a>00108
<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00111"></a>00111 <span class="keyword">struct </span>get_direction_loop
-<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Segment>::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Segment <span class="keyword">const</span>& seg,
-<a name="l00116"></a>00116 <span class="keywordtype">int</span> directions[DimensionCount])
-<a name="l00117"></a>00117 {
-<a name="l00118"></a>00118 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> diff =
-<a name="l00119"></a>00119 ggl::get<1, Dimension>(seg) - ggl::get<0, Dimension>(seg);
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 directions[Dimension] = diff > 0 ? 1 : (diff < 0 ? -1 : 0);
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 get_direction_loop
-<a name="l00124"></a>00124 <
-<a name="l00125"></a>00125 Segment, Dimension + 1, DimensionCount
-<a name="l00126"></a>00126 >::apply(seg, directions);
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128 };
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00131"></a>00131 <span class="keyword">struct </span>get_direction_loop<Segment, DimensionCount, DimensionCount>
-<a name="l00132"></a>00132 {
-<a name="l00133"></a>00133 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Segment <span class="keyword">const</span>& seg,
-<a name="l00134"></a>00134 <span class="keywordtype">int</span> directions[DimensionCount])
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 boost::ignore_unused_variable_warning(seg);
-<a name="l00137"></a>00137 boost::ignore_unused_variable_warning(directions);
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139 };
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00142"></a>00142 <span class="keyword">struct </span>copy_loop
-<a name="l00143"></a>00143 {
-<a name="l00144"></a>00144 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(<span class="keyword">const</span> T source[DimensionCount],
-<a name="l00145"></a>00145 T target[DimensionCount])
-<a name="l00146"></a>00146 {
-<a name="l00147"></a>00147 target[Dimension] = source[Dimension];
-<a name="l00148"></a>00148 copy_loop<T, Dimension + 1, DimensionCount>::apply(source, target);
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150 };
-<a name="l00151"></a>00151
-<a name="l00152"></a>00152 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00153"></a>00153 <span class="keyword">struct </span>copy_loop<T, DimensionCount, DimensionCount>
-<a name="l00154"></a>00154 {
-<a name="l00155"></a>00155 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(<span class="keyword">const</span> T source[DimensionCount],
-<a name="l00156"></a>00156 T target[DimensionCount])
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158 boost::ignore_unused_variable_warning(source);
-<a name="l00159"></a>00159 boost::ignore_unused_variable_warning(target);
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161 };
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00164"></a>00164 <span class="keyword">struct </span>compare_loop
-<a name="l00165"></a>00165 {
-<a name="l00166"></a>00166 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> T source[DimensionCount],
-<a name="l00167"></a>00167 <span class="keyword">const</span> T target[DimensionCount])
-<a name="l00168"></a>00168 {
-<a name="l00169"></a>00169 <span class="keywordtype">bool</span> <span class="keyword">const</span> not_equal = target[Dimension] != source[Dimension];
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keywordflow">return</span> not_equal
-<a name="l00172"></a>00172 ? <span class="keyword">false</span>
-<a name="l00173"></a>00173 : compare_loop
-<a name="l00174"></a>00174 <
-<a name="l00175"></a>00175 T, Dimension + 1, DimensionCount
-<a name="l00176"></a>00176 >::apply(source, target);
-<a name="l00177"></a>00177 }
-<a name="l00178"></a>00178 };
-<a name="l00179"></a>00179
-<a name="l00180"></a>00180 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00181"></a>00181 <span class="keyword">struct </span>compare_loop<T, DimensionCount, DimensionCount>
-<a name="l00182"></a>00182 {
-<a name="l00183"></a>00183 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> T source[DimensionCount],
-<a name="l00184"></a>00184 <span class="keyword">const</span> T target[DimensionCount])
-<a name="l00185"></a>00185 {
-<a name="l00186"></a>00186 boost::ignore_unused_variable_warning(source);
-<a name="l00187"></a>00187 boost::ignore_unused_variable_warning(target);
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191 };
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193
-<a name="l00194"></a>00194 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00195"></a>00195 <span class="keyword">struct </span>check_duplicate_loop
-<a name="l00196"></a>00196 {
-<a name="l00197"></a>00197 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Segment>::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
-<a name="l00198"></a>00198
-<a name="l00199"></a>00199 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Segment <span class="keyword">const</span>& seg)
-<a name="l00200"></a>00200 {
-<a name="l00201"></a>00201 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> diff =
-<a name="l00202"></a>00202 ggl::get<1, Dimension>(seg) - ggl::get<0, Dimension>(seg);
-<a name="l00203"></a>00203
-<a name="l00204"></a>00204 <span class="keywordflow">if</span> (! <a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(diff, 0))
-<a name="l00205"></a>00205 {
-<a name="l00206"></a>00206 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00207"></a>00207 }
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209 <span class="keywordflow">return</span> check_duplicate_loop
-<a name="l00210"></a>00210 <
-<a name="l00211"></a>00211 Segment, Dimension + 1, DimensionCount
-<a name="l00212"></a>00212 >::apply(seg);
-<a name="l00213"></a>00213 }
-<a name="l00214"></a>00214 };
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00217"></a>00217 <span class="keyword">struct </span>check_duplicate_loop<Segment, DimensionCount, DimensionCount>
-<a name="l00218"></a>00218 {
-<a name="l00219"></a>00219 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Segment <span class="keyword">const</span>&)
-<a name="l00220"></a>00220 {
-<a name="l00221"></a>00221 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00222"></a>00222 }
-<a name="l00223"></a>00223 };
-<a name="l00224"></a>00224
-<a name="l00225"></a>00225 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00226"></a>00226 <span class="keyword">struct </span>assign_loop
-<a name="l00227"></a>00227 {
-<a name="l00228"></a>00228 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(T dims[DimensionCount], <span class="keywordtype">int</span> <span class="keyword">const</span> value)
-<a name="l00229"></a>00229 {
-<a name="l00230"></a>00230 dims[Dimension] = value;
-<a name="l00231"></a>00231 assign_loop<T, Dimension + 1, DimensionCount>::apply(dims, value);
-<a name="l00232"></a>00232 }
-<a name="l00233"></a>00233 };
-<a name="l00234"></a>00234
-<a name="l00235"></a>00235 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00236"></a>00236 <span class="keyword">struct </span>assign_loop<T, DimensionCount, DimensionCount>
-<a name="l00237"></a>00237 {
-<a name="l00238"></a>00238 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(T dims[DimensionCount], <span class="keywordtype">int</span> <span class="keyword">const</span>)
-<a name="l00239"></a>00239 {
-<a name="l00240"></a>00240 boost::ignore_unused_variable_warning(dims);
-<a name="l00241"></a>00241 }
-<a name="l00242"></a>00242 };
-<a name="l00243"></a>00243
-<a name="l00244"></a>00244
-<a name="l00245"></a>00245 <span class="keyword">template</span>
-<a name="l00246"></a>00246 <
-<a name="l00247"></a>00247 <span class="keyword">typename</span> Range,
-<a name="l00248"></a>00248 <span class="keyword">typename</span> Point,
-<a name="l00249"></a>00249 <span class="keyword">typename</span> Sections,
-<a name="l00250"></a>00250 std::size_t DimensionCount,
-<a name="l00251"></a>00251 std::size_t MaxCount
-<a name="l00252"></a>00252 >
-<a name="l00253"></a>00253 <span class="keyword">struct </span>sectionalize_range
-<a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>& range, Sections& <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>,
-<a name="l00256"></a>00256 <span class="keywordtype">int</span> ring_index = -1, <span class="keywordtype">int</span> multi_index = -1)
-<a name="l00257"></a>00257 {
-<a name="l00258"></a>00258 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const Point></a> segment_type;
-<a name="l00259"></a>00259
-<a name="l00260"></a>00260 std::size_t <span class="keyword">const</span> n = boost::size(range);
-<a name="l00261"></a>00261 <span class="keywordflow">if</span> (n == 0)
-<a name="l00262"></a>00262 {
-<a name="l00263"></a>00263 <span class="comment">// Zero points, no section</span>
-<a name="l00264"></a>00264 <span class="keywordflow">return</span>;
-<a name="l00265"></a>00265 }
-<a name="l00266"></a>00266
-<a name="l00267"></a>00267 <span class="keywordflow">if</span> (n == 1)
-<a name="l00268"></a>00268 {
-<a name="l00269"></a>00269 <span class="comment">// Line with one point ==> no sections</span>
-<a name="l00270"></a>00270 <span class="keywordflow">return</span>;
-<a name="l00271"></a>00271 }
-<a name="l00272"></a>00272
-<a name="l00273"></a>00273 <span class="keywordtype">int</span> i = 0;
-<a name="l00274"></a>00274 <span class="keywordtype">int</span> ndi = 0; <span class="comment">// non duplicate index</span>
+<a name="l00110"></a>00110 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a> {
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00114"></a>00114 <span class="keyword">struct </span>get_direction_loop
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Segment>::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Segment <span class="keyword">const</span>& seg,
+<a name="l00119"></a>00119 <span class="keywordtype">int</span> directions[DimensionCount])
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> diff =
+<a name="l00122"></a>00122 ggl::get<1, Dimension>(seg) - ggl::get<0, Dimension>(seg);
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 directions[Dimension] = diff > 0 ? 1 : (diff < 0 ? -1 : 0);
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 get_direction_loop
+<a name="l00127"></a>00127 <
+<a name="l00128"></a>00128 Segment, Dimension + 1, DimensionCount
+<a name="l00129"></a>00129 >::apply(seg, directions);
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 };
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00134"></a>00134 <span class="keyword">struct </span>get_direction_loop<Segment, DimensionCount, DimensionCount>
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Segment <span class="keyword">const</span>& seg,
+<a name="l00137"></a>00137 <span class="keywordtype">int</span> directions[DimensionCount])
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 boost::ignore_unused_variable_warning(seg);
+<a name="l00140"></a>00140 boost::ignore_unused_variable_warning(directions);
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142 };
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00145"></a>00145 <span class="keyword">struct </span>copy_loop
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(<span class="keyword">const</span> T source[DimensionCount],
+<a name="l00148"></a>00148 T target[DimensionCount])
+<a name="l00149"></a>00149 {
+<a name="l00150"></a>00150 target[Dimension] = source[Dimension];
+<a name="l00151"></a>00151 copy_loop<T, Dimension + 1, DimensionCount>::apply(source, target);
+<a name="l00152"></a>00152 }
+<a name="l00153"></a>00153 };
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00156"></a>00156 <span class="keyword">struct </span>copy_loop<T, DimensionCount, DimensionCount>
+<a name="l00157"></a>00157 {
+<a name="l00158"></a>00158 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(<span class="keyword">const</span> T source[DimensionCount],
+<a name="l00159"></a>00159 T target[DimensionCount])
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 boost::ignore_unused_variable_warning(source);
+<a name="l00162"></a>00162 boost::ignore_unused_variable_warning(target);
+<a name="l00163"></a>00163 }
+<a name="l00164"></a>00164 };
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00167"></a>00167 <span class="keyword">struct </span>compare_loop
+<a name="l00168"></a>00168 {
+<a name="l00169"></a>00169 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> T source[DimensionCount],
+<a name="l00170"></a>00170 <span class="keyword">const</span> T target[DimensionCount])
+<a name="l00171"></a>00171 {
+<a name="l00172"></a>00172 <span class="keywordtype">bool</span> <span class="keyword">const</span> not_equal = target[Dimension] != source[Dimension];
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="keywordflow">return</span> not_equal
+<a name="l00175"></a>00175 ? <span class="keyword">false</span>
+<a name="l00176"></a>00176 : compare_loop
+<a name="l00177"></a>00177 <
+<a name="l00178"></a>00178 T, Dimension + 1, DimensionCount
+<a name="l00179"></a>00179 >::apply(source, target);
+<a name="l00180"></a>00180 }
+<a name="l00181"></a>00181 };
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00184"></a>00184 <span class="keyword">struct </span>compare_loop<T, DimensionCount, DimensionCount>
+<a name="l00185"></a>00185 {
+<a name="l00186"></a>00186 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> T source[DimensionCount],
+<a name="l00187"></a>00187 <span class="keyword">const</span> T target[DimensionCount])
+<a name="l00188"></a>00188 {
+<a name="l00189"></a>00189 boost::ignore_unused_variable_warning(source);
+<a name="l00190"></a>00190 boost::ignore_unused_variable_warning(target);
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00193"></a>00193 }
+<a name="l00194"></a>00194 };
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00198"></a>00198 <span class="keyword">struct </span>check_duplicate_loop
+<a name="l00199"></a>00199 {
+<a name="l00200"></a>00200 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Segment>::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Segment <span class="keyword">const</span>& seg)
+<a name="l00203"></a>00203 {
+<a name="l00204"></a>00204 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> diff =
+<a name="l00205"></a>00205 ggl::get<1, Dimension>(seg) - ggl::get<0, Dimension>(seg);
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 <span class="keywordflow">if</span> (! <a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(diff, 0))
+<a name="l00208"></a>00208 {
+<a name="l00209"></a>00209 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="keywordflow">return</span> check_duplicate_loop
+<a name="l00213"></a>00213 <
+<a name="l00214"></a>00214 Segment, Dimension + 1, DimensionCount
+<a name="l00215"></a>00215 >::apply(seg);
+<a name="l00216"></a>00216 }
+<a name="l00217"></a>00217 };
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00220"></a>00220 <span class="keyword">struct </span>check_duplicate_loop<Segment, DimensionCount, DimensionCount>
+<a name="l00221"></a>00221 {
+<a name="l00222"></a>00222 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Segment <span class="keyword">const</span>&)
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226 };
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00229"></a>00229 <span class="keyword">struct </span>assign_loop
+<a name="l00230"></a>00230 {
+<a name="l00231"></a>00231 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(T dims[DimensionCount], <span class="keywordtype">int</span> <span class="keyword">const</span> value)
+<a name="l00232"></a>00232 {
+<a name="l00233"></a>00233 dims[Dimension] = value;
+<a name="l00234"></a>00234 assign_loop<T, Dimension + 1, DimensionCount>::apply(dims, value);
+<a name="l00235"></a>00235 }
+<a name="l00236"></a>00236 };
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00239"></a>00239 <span class="keyword">struct </span>assign_loop<T, DimensionCount, DimensionCount>
+<a name="l00240"></a>00240 {
+<a name="l00241"></a>00241 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(T dims[DimensionCount], <span class="keywordtype">int</span> <span class="keyword">const</span>)
+<a name="l00242"></a>00242 {
+<a name="l00243"></a>00243 boost::ignore_unused_variable_warning(dims);
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245 };
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="keyword">template</span>
+<a name="l00249"></a>00249 <
+<a name="l00250"></a>00250 <span class="keyword">typename</span> Range,
+<a name="l00251"></a>00251 <span class="keyword">typename</span> Point,
+<a name="l00252"></a>00252 <span class="keyword">typename</span> Sections,
+<a name="l00253"></a>00253 std::size_t DimensionCount,
+<a name="l00254"></a>00254 std::size_t MaxCount
+<a name="l00255"></a>00255 >
+<a name="l00256"></a>00256 <span class="keyword">struct </span>sectionalize_range
+<a name="l00257"></a>00257 {
+<a name="l00258"></a>00258 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>& range, Sections& <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>,
+<a name="l00259"></a>00259 <span class="keywordtype">int</span> ring_index = -1, <span class="keywordtype">int</span> multi_index = -1)
+<a name="l00260"></a>00260 {
+<a name="l00261"></a>00261 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const Point></a> segment_type;
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 std::size_t <span class="keyword">const</span> n = boost::size(range);
+<a name="l00264"></a>00264 <span class="keywordflow">if</span> (n == 0)
+<a name="l00265"></a>00265 {
+<a name="l00266"></a>00266 <span class="comment">// Zero points, no section</span>
+<a name="l00267"></a>00267 <span class="keywordflow">return</span>;
+<a name="l00268"></a>00268 }
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 <span class="keywordflow">if</span> (n == 1)
+<a name="l00271"></a>00271 {
+<a name="l00272"></a>00272 <span class="comment">// Line with one point ==> no sections</span>
+<a name="l00273"></a>00273 <span class="keywordflow">return</span>;
+<a name="l00274"></a>00274 }
<a name="l00275"></a>00275
-<a name="l00276"></a>00276 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<Sections>::type sections_range_type;
-<a name="l00277"></a>00277 sections_range_type <a class="code" href="structggl_1_1section.html" title="Structure containing section information.">section</a>;
+<a name="l00276"></a>00276 <span class="keywordtype">int</span> i = 0;
+<a name="l00277"></a>00277 <span class="keywordtype">int</span> ndi = 0; <span class="comment">// non duplicate index</span>
<a name="l00278"></a>00278
-<a name="l00279"></a>00279 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
-<a name="l00280"></a>00280 iterator_type it = boost::begin(range);
+<a name="l00279"></a>00279 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<Sections>::type sections_range_type;
+<a name="l00280"></a>00280 sections_range_type <a class="code" href="structggl_1_1section.html" title="Structure containing section information.">section</a>;
<a name="l00281"></a>00281
-<a name="l00282"></a>00282 <span class="keywordflow">for</span>(iterator_type previous = it++;
-<a name="l00283"></a>00283 it != boost::end(range);
-<a name="l00284"></a>00284 previous = it++, i++)
-<a name="l00285"></a>00285 {
-<a name="l00286"></a>00286 segment_type s(*previous, *it);
-<a name="l00287"></a>00287
-<a name="l00288"></a>00288 <span class="keywordtype">int</span> direction_classes[DimensionCount] = {0};
-<a name="l00289"></a>00289 get_direction_loop
-<a name="l00290"></a>00290 <
-<a name="l00291"></a>00291 segment_type, 0, DimensionCount
-<a name="l00292"></a>00292 >::apply(s, direction_classes);
-<a name="l00293"></a>00293
-<a name="l00294"></a>00294 <span class="comment">// if "dir" == 0 for all point-dimensions, it is duplicate.</span>
-<a name="l00295"></a>00295 <span class="comment">// Those sections might be omitted, if wished, lateron</span>
-<a name="l00296"></a>00296 <span class="keywordtype">bool</span> check_duplicate = <span class="keyword">true</span>; <span class="comment">//?</span>
-<a name="l00297"></a>00297 <span class="keywordtype">bool</span> duplicate = <span class="keyword">false</span>;
-<a name="l00298"></a>00298
-<a name="l00299"></a>00299 <span class="keywordflow">if</span> (check_duplicate && direction_classes[0] == 0)
-<a name="l00300"></a>00300 {
-<a name="l00301"></a>00301 <span class="comment">// Recheck because all dimensions should be checked,</span>
-<a name="l00302"></a>00302 <span class="comment">// not only first one,</span>
-<a name="l00303"></a>00303 <span class="comment">// Note that DimensionCount might be < dimension<P>::value</span>
-<a name="l00304"></a>00304 <span class="keywordflow">if</span> (check_duplicate_loop
-<a name="l00305"></a>00305 <
-<a name="l00306"></a>00306 segment_type, 0, <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<Point>::type::value</a>
-<a name="l00307"></a>00307 >::apply(s)
-<a name="l00308"></a>00308 )
-<a name="l00309"></a>00309 {
-<a name="l00310"></a>00310 duplicate = <span class="keyword">true</span>;
-<a name="l00311"></a>00311
-<a name="l00312"></a>00312 <span class="comment">// Change direction-info to force new section</span>
-<a name="l00313"></a>00313 <span class="comment">// Note that wo consecutive duplicate segments will generate</span>
-<a name="l00314"></a>00314 <span class="comment">// only one duplicate-section.</span>
-<a name="l00315"></a>00315 <span class="comment">// Actual value is not important as long as it is not -1,0,1</span>
-<a name="l00316"></a>00316 assign_loop
-<a name="l00317"></a>00317 <
-<a name="l00318"></a>00318 int, 0, DimensionCount
-<a name="l00319"></a>00319 >::apply(direction_classes, -99);
-<a name="l00320"></a>00320 }
-<a name="l00321"></a>00321 }
-<a name="l00322"></a>00322
-<a name="l00323"></a>00323 <span class="keywordflow">if</span> (section.count > 0
-<a name="l00324"></a>00324 && (!compare_loop
-<a name="l00325"></a>00325 <
-<a name="l00326"></a>00326 <span class="keywordtype">int</span>, 0, DimensionCount
-<a name="l00327"></a>00327 >::apply(direction_classes, section.directions)
-<a name="l00328"></a>00328 || section.count > MaxCount
-<a name="l00329"></a>00329 )
-<a name="l00330"></a>00330 )
-<a name="l00331"></a>00331 {
-<a name="l00332"></a>00332 sections.push_back(section);
-<a name="l00333"></a>00333 section = sections_range_type();
-<a name="l00334"></a>00334 }
-<a name="l00335"></a>00335
-<a name="l00336"></a>00336 <span class="keywordflow">if</span> (section.count == 0)
-<a name="l00337"></a>00337 {
-<a name="l00338"></a>00338 section.begin_index = i;
-<a name="l00339"></a>00339 section.ring_index = ring_index;
-<a name="l00340"></a>00340 section.multi_index = multi_index;
-<a name="l00341"></a>00341 section.duplicate = duplicate;
-<a name="l00342"></a>00342 section.non_duplicate_index = ndi;
-<a name="l00343"></a>00343 section.range_count = boost::size(range);
-<a name="l00344"></a>00344
-<a name="l00345"></a>00345 copy_loop
-<a name="l00346"></a>00346 <
-<a name="l00347"></a>00347 int, 0, DimensionCount
-<a name="l00348"></a>00348 >::apply(direction_classes, section.directions);
-<a name="l00349"></a>00349 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(section.bounding_box, *previous);
-<a name="l00350"></a>00350 }
-<a name="l00351"></a>00351
-<a name="l00352"></a>00352 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(section.bounding_box, *it);
-<a name="l00353"></a>00353 section.end_index = i + 1;
-<a name="l00354"></a>00354 section.count++;
-<a name="l00355"></a>00355 <span class="keywordflow">if</span> (! duplicate)
-<a name="l00356"></a>00356 {
-<a name="l00357"></a>00357 ndi++;
-<a name="l00358"></a>00358 }
-<a name="l00359"></a>00359 }
-<a name="l00360"></a>00360
-<a name="l00361"></a>00361 <span class="keywordflow">if</span> (section.count > 0)
-<a name="l00362"></a>00362 {
-<a name="l00363"></a>00363 sections.push_back(section);
-<a name="l00364"></a>00364 }
-<a name="l00365"></a>00365 }
-<a name="l00366"></a>00366 };
-<a name="l00367"></a>00367
-<a name="l00368"></a>00368 <span class="keyword">template</span>
-<a name="l00369"></a>00369 <
-<a name="l00370"></a>00370 <span class="keyword">typename</span> Polygon,
-<a name="l00371"></a>00371 <span class="keyword">typename</span> Sections,
-<a name="l00372"></a>00372 std::size_t DimensionCount,
-<a name="l00373"></a>00373 std::size_t MaxCount
-<a name="l00374"></a>00374 >
-<a name="l00375"></a>00375 <span class="keyword">struct </span>sectionalize_polygon
-<a name="l00376"></a>00376 {
-<a name="l00377"></a>00377 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& poly, Sections& <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>,
-<a name="l00378"></a>00378 <span class="keywordtype">int</span> multi_index = -1)
-<a name="l00379"></a>00379 {
-<a name="l00380"></a>00380 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Polygon>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00381"></a>00381 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<Polygon>::type</a> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a>;
-<a name="l00382"></a>00382 <span class="keyword">typedef</span> sectionalize_range
-<a name="l00383"></a>00383 <
-<a name="l00384"></a>00384 ring_type, point_type, Sections, DimensionCount, MaxCount
-<a name="l00385"></a>00385 > sectionalizer_type;
-<a name="l00386"></a>00386
-<a name="l00387"></a>00387 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00388"></a>00388 <
-<a name="l00389"></a>00389 <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type<Polygon>::type</a>
-<a name="l00390"></a>00390 >::type iterator_type;
-<a name="l00391"></a>00391
-<a name="l00392"></a>00392 sectionalizer_type::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), sections, -1, multi_index);
-<a name="l00393"></a>00393
-<a name="l00394"></a>00394 <span class="keywordtype">int</span> i = 0;
-<a name="l00395"></a>00395 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00396"></a>00396 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00397"></a>00397 ++it, ++i)
-<a name="l00398"></a>00398 {
-<a name="l00399"></a>00399 sectionalizer_type::apply(*it, sections, i, multi_index);
-<a name="l00400"></a>00400 }
-<a name="l00401"></a>00401 }
-<a name="l00402"></a>00402 };
-<a name="l00403"></a>00403
-<a name="l00404"></a>00404 <span class="keyword">template</span>
-<a name="l00405"></a>00405 <
-<a name="l00406"></a>00406 <span class="keyword">typename</span> Box,
-<a name="l00407"></a>00407 <span class="keyword">typename</span> Sections,
-<a name="l00408"></a>00408 std::size_t DimensionCount,
-<a name="l00409"></a>00409 std::size_t MaxCount
-<a name="l00410"></a>00410 >
-<a name="l00411"></a>00411 <span class="keyword">struct </span>sectionalize_box
-<a name="l00412"></a>00412 {
-<a name="l00413"></a>00413 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, Sections& <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>)
-<a name="l00414"></a>00414 {
-<a name="l00415"></a>00415 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Box>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00416"></a>00416
-<a name="l00417"></a>00417 assert_dimension<Box, 2>();
-<a name="l00418"></a>00418
-<a name="l00419"></a>00419 <span class="comment">// Add all four sides of the 2D-box as separate section.</span>
-<a name="l00420"></a>00420 <span class="comment">// Easiest is to convert it to a polygon.</span>
-<a name="l00421"></a>00421 <span class="comment">// However, we don't have the polygon type</span>
-<a name="l00422"></a>00422 <span class="comment">// (or polygon would be a helper-type).</span>
-<a name="l00423"></a>00423 <span class="comment">// Therefore we mimic a linestring/std::vector of 5 points</span>
-<a name="l00424"></a>00424
-<a name="l00425"></a>00425 point_type ll, lr, ul, ur;
-<a name="l00426"></a>00426 <a class="code" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, ll, lr, ul, ur);
+<a name="l00282"></a>00282 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
+<a name="l00283"></a>00283 iterator_type it = boost::begin(range);
+<a name="l00284"></a>00284
+<a name="l00285"></a>00285 <span class="keywordflow">for</span>(iterator_type previous = it++;
+<a name="l00286"></a>00286 it != boost::end(range);
+<a name="l00287"></a>00287 previous = it++, i++)
+<a name="l00288"></a>00288 {
+<a name="l00289"></a>00289 segment_type s(*previous, *it);
+<a name="l00290"></a>00290
+<a name="l00291"></a>00291 <span class="keywordtype">int</span> direction_classes[DimensionCount] = {0};
+<a name="l00292"></a>00292 get_direction_loop
+<a name="l00293"></a>00293 <
+<a name="l00294"></a>00294 segment_type, 0, DimensionCount
+<a name="l00295"></a>00295 >::apply(s, direction_classes);
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 <span class="comment">// if "dir" == 0 for all point-dimensions, it is duplicate.</span>
+<a name="l00298"></a>00298 <span class="comment">// Those sections might be omitted, if wished, lateron</span>
+<a name="l00299"></a>00299 <span class="keywordtype">bool</span> check_duplicate = <span class="keyword">true</span>; <span class="comment">//?</span>
+<a name="l00300"></a>00300 <span class="keywordtype">bool</span> duplicate = <span class="keyword">false</span>;
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302 <span class="keywordflow">if</span> (check_duplicate && direction_classes[0] == 0)
+<a name="l00303"></a>00303 {
+<a name="l00304"></a>00304 <span class="comment">// Recheck because all dimensions should be checked,</span>
+<a name="l00305"></a>00305 <span class="comment">// not only first one,</span>
+<a name="l00306"></a>00306 <span class="comment">// Note that DimensionCount might be < dimension<P>::value</span>
+<a name="l00307"></a>00307 <span class="keywordflow">if</span> (check_duplicate_loop
+<a name="l00308"></a>00308 <
+<a name="l00309"></a>00309 segment_type, 0, <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<Point>::type::value</a>
+<a name="l00310"></a>00310 >::apply(s)
+<a name="l00311"></a>00311 )
+<a name="l00312"></a>00312 {
+<a name="l00313"></a>00313 duplicate = <span class="keyword">true</span>;
+<a name="l00314"></a>00314
+<a name="l00315"></a>00315 <span class="comment">// Change direction-info to force new section</span>
+<a name="l00316"></a>00316 <span class="comment">// Note that wo consecutive duplicate segments will generate</span>
+<a name="l00317"></a>00317 <span class="comment">// only one duplicate-section.</span>
+<a name="l00318"></a>00318 <span class="comment">// Actual value is not important as long as it is not -1,0,1</span>
+<a name="l00319"></a>00319 assign_loop
+<a name="l00320"></a>00320 <
+<a name="l00321"></a>00321 int, 0, DimensionCount
+<a name="l00322"></a>00322 >::apply(direction_classes, -99);
+<a name="l00323"></a>00323 }
+<a name="l00324"></a>00324 }
+<a name="l00325"></a>00325
+<a name="l00326"></a>00326 <span class="keywordflow">if</span> (section.count > 0
+<a name="l00327"></a>00327 && (!compare_loop
+<a name="l00328"></a>00328 <
+<a name="l00329"></a>00329 <span class="keywordtype">int</span>, 0, DimensionCount
+<a name="l00330"></a>00330 >::apply(direction_classes, section.directions)
+<a name="l00331"></a>00331 || section.count > MaxCount
+<a name="l00332"></a>00332 )
+<a name="l00333"></a>00333 )
+<a name="l00334"></a>00334 {
+<a name="l00335"></a>00335 sections.push_back(section);
+<a name="l00336"></a>00336 section = sections_range_type();
+<a name="l00337"></a>00337 }
+<a name="l00338"></a>00338
+<a name="l00339"></a>00339 <span class="keywordflow">if</span> (section.count == 0)
+<a name="l00340"></a>00340 {
+<a name="l00341"></a>00341 section.begin_index = i;
+<a name="l00342"></a>00342 section.ring_index = ring_index;
+<a name="l00343"></a>00343 section.multi_index = multi_index;
+<a name="l00344"></a>00344 section.duplicate = duplicate;
+<a name="l00345"></a>00345 section.non_duplicate_index = ndi;
+<a name="l00346"></a>00346 section.range_count = boost::size(range);
+<a name="l00347"></a>00347
+<a name="l00348"></a>00348 copy_loop
+<a name="l00349"></a>00349 <
+<a name="l00350"></a>00350 int, 0, DimensionCount
+<a name="l00351"></a>00351 >::apply(direction_classes, section.directions);
+<a name="l00352"></a>00352 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(section.bounding_box, *previous);
+<a name="l00353"></a>00353 }
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(section.bounding_box, *it);
+<a name="l00356"></a>00356 section.end_index = i + 1;
+<a name="l00357"></a>00357 section.count++;
+<a name="l00358"></a>00358 <span class="keywordflow">if</span> (! duplicate)
+<a name="l00359"></a>00359 {
+<a name="l00360"></a>00360 ndi++;
+<a name="l00361"></a>00361 }
+<a name="l00362"></a>00362 }
+<a name="l00363"></a>00363
+<a name="l00364"></a>00364 <span class="keywordflow">if</span> (section.count > 0)
+<a name="l00365"></a>00365 {
+<a name="l00366"></a>00366 sections.push_back(section);
+<a name="l00367"></a>00367 }
+<a name="l00368"></a>00368 }
+<a name="l00369"></a>00369 };
+<a name="l00370"></a>00370
+<a name="l00371"></a>00371 <span class="keyword">template</span>
+<a name="l00372"></a>00372 <
+<a name="l00373"></a>00373 <span class="keyword">typename</span> Polygon,
+<a name="l00374"></a>00374 <span class="keyword">typename</span> Sections,
+<a name="l00375"></a>00375 std::size_t DimensionCount,
+<a name="l00376"></a>00376 std::size_t MaxCount
+<a name="l00377"></a>00377 >
+<a name="l00378"></a>00378 <span class="keyword">struct </span>sectionalize_polygon
+<a name="l00379"></a>00379 {
+<a name="l00380"></a>00380 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& poly, Sections& <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>,
+<a name="l00381"></a>00381 <span class="keywordtype">int</span> multi_index = -1)
+<a name="l00382"></a>00382 {
+<a name="l00383"></a>00383 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Polygon>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00384"></a>00384 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<Polygon>::type</a> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a>;
+<a name="l00385"></a>00385 <span class="keyword">typedef</span> sectionalize_range
+<a name="l00386"></a>00386 <
+<a name="l00387"></a>00387 ring_type, point_type, Sections, DimensionCount, MaxCount
+<a name="l00388"></a>00388 > sectionalizer_type;
+<a name="l00389"></a>00389
+<a name="l00390"></a>00390 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00391"></a>00391 <
+<a name="l00392"></a>00392 <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type<Polygon>::type</a>
+<a name="l00393"></a>00393 >::type iterator_type;
+<a name="l00394"></a>00394
+<a name="l00395"></a>00395 sectionalizer_type::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), sections, -1, multi_index);
+<a name="l00396"></a>00396
+<a name="l00397"></a>00397 <span class="keywordtype">int</span> i = 0;
+<a name="l00398"></a>00398 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00399"></a>00399 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00400"></a>00400 ++it, ++i)
+<a name="l00401"></a>00401 {
+<a name="l00402"></a>00402 sectionalizer_type::apply(*it, sections, i, multi_index);
+<a name="l00403"></a>00403 }
+<a name="l00404"></a>00404 }
+<a name="l00405"></a>00405 };
+<a name="l00406"></a>00406
+<a name="l00407"></a>00407 <span class="keyword">template</span>
+<a name="l00408"></a>00408 <
+<a name="l00409"></a>00409 <span class="keyword">typename</span> Box,
+<a name="l00410"></a>00410 <span class="keyword">typename</span> Sections,
+<a name="l00411"></a>00411 std::size_t DimensionCount,
+<a name="l00412"></a>00412 std::size_t MaxCount
+<a name="l00413"></a>00413 >
+<a name="l00414"></a>00414 <span class="keyword">struct </span>sectionalize_box
+<a name="l00415"></a>00415 {
+<a name="l00416"></a>00416 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, Sections& <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>)
+<a name="l00417"></a>00417 {
+<a name="l00418"></a>00418 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Box>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00419"></a>00419
+<a name="l00420"></a>00420 assert_dimension<Box, 2>();
+<a name="l00421"></a>00421
+<a name="l00422"></a>00422 <span class="comment">// Add all four sides of the 2D-box as separate section.</span>
+<a name="l00423"></a>00423 <span class="comment">// Easiest is to convert it to a polygon.</span>
+<a name="l00424"></a>00424 <span class="comment">// However, we don't have the polygon type</span>
+<a name="l00425"></a>00425 <span class="comment">// (or polygon would be a helper-type).</span>
+<a name="l00426"></a>00426 <span class="comment">// Therefore we mimic a linestring/std::vector of 5 points</span>
<a name="l00427"></a>00427
-<a name="l00428"></a>00428 std::vector<point_type> points;
-<a name="l00429"></a>00429 points.push_back(ll);
-<a name="l00430"></a>00430 points.push_back(ul);
-<a name="l00431"></a>00431 points.push_back(ur);
-<a name="l00432"></a>00432 points.push_back(lr);
-<a name="l00433"></a>00433 points.push_back(ll);
-<a name="l00434"></a>00434
-<a name="l00435"></a>00435 sectionalize_range
-<a name="l00436"></a>00436 <
-<a name="l00437"></a>00437 std::vector<point_type>,
-<a name="l00438"></a>00438 point_type,
-<a name="l00439"></a>00439 Sections,
-<a name="l00440"></a>00440 DimensionCount,
-<a name="l00441"></a>00441 MaxCount
-<a name="l00442"></a>00442 >::apply(points, sections);
-<a name="l00443"></a>00443 }
-<a name="l00444"></a>00444 };
-<a name="l00445"></a>00445
-<a name="l00446"></a>00446 }} <span class="comment">// namespace detail::sectionalize</span>
-<a name="l00447"></a>00447 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00448"></a>00448 <span class="preprocessor"></span>
-<a name="l00449"></a>00449
-<a name="l00450"></a>00450 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00451"></a>00451 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00452"></a>00452 {
-<a name="l00453"></a>00453
-<a name="l00454"></a>00454 <span class="keyword">template</span>
-<a name="l00455"></a>00455 <
-<a name="l00456"></a>00456 <span class="keyword">typename</span> Tag,
-<a name="l00457"></a>00457 <span class="keyword">typename</span> Geometry,
-<a name="l00458"></a>00458 <span class="keyword">typename</span> Sections,
-<a name="l00459"></a>00459 std::size_t DimensionCount,
-<a name="l00460"></a>00460 std::size_t MaxCount
-<a name="l00461"></a>00461 >
-<a name="l00462"></a>00462 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>
-<a name="l00463"></a>00463 {};
-<a name="l00464"></a>00464
-<a name="l00465"></a>00465 <span class="keyword">template</span>
-<a name="l00466"></a>00466 <
-<a name="l00467"></a>00467 <span class="keyword">typename</span> Box,
-<a name="l00468"></a>00468 <span class="keyword">typename</span> Sections,
-<a name="l00469"></a>00469 std::size_t DimensionCount,
-<a name="l00470"></a>00470 std::size_t MaxCount
-<a name="l00471"></a>00471 >
-<a name="l00472"></a>00472 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a><box_tag, Box, Sections, DimensionCount, MaxCount>
-<a name="l00473"></a>00473 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_box
-<a name="l00474"></a>00474 <
-<a name="l00475"></a>00475 Box,
-<a name="l00476"></a>00476 Sections,
-<a name="l00477"></a>00477 DimensionCount,
-<a name="l00478"></a>00478 MaxCount
-<a name="l00479"></a>00479 >
-<a name="l00480"></a>00480 {};
-<a name="l00481"></a>00481
-<a name="l00482"></a>00482 <span class="keyword">template</span>
-<a name="l00483"></a>00483 <
-<a name="l00484"></a>00484 <span class="keyword">typename</span> LineString, <span class="keyword">typename</span>
-<a name="l00485"></a>00485 Sections,
-<a name="l00486"></a>00486 std::size_t DimensionCount,
-<a name="l00487"></a>00487 std::size_t MaxCount
-<a name="l00488"></a>00488 >
-<a name="l00489"></a>00489 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>
-<a name="l00490"></a>00490 <
-<a name="l00491"></a>00491 linestring_tag,
-<a name="l00492"></a>00492 LineString,
-<a name="l00493"></a>00493 Sections,
-<a name="l00494"></a>00494 DimensionCount,
-<a name="l00495"></a>00495 MaxCount
-<a name="l00496"></a>00496 >
-<a name="l00497"></a>00497 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_range
-<a name="l00498"></a>00498 <
-<a name="l00499"></a>00499 LineString,
-<a name="l00500"></a>00500 typename point_type<LineString>::type,
-<a name="l00501"></a>00501 Sections,
-<a name="l00502"></a>00502 DimensionCount,
-<a name="l00503"></a>00503 MaxCount
-<a name="l00504"></a>00504 >
-<a name="l00505"></a>00505 {};
-<a name="l00506"></a>00506
-<a name="l00507"></a>00507 <span class="keyword">template</span>
-<a name="l00508"></a>00508 <
-<a name="l00509"></a>00509 <span class="keyword">typename</span> Range,
-<a name="l00510"></a>00510 <span class="keyword">typename</span> Sections,
-<a name="l00511"></a>00511 std::size_t DimensionCount,
-<a name="l00512"></a>00512 std::size_t MaxCount
-<a name="l00513"></a>00513 >
-<a name="l00514"></a>00514 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a><ring_tag, Range, Sections, DimensionCount, MaxCount>
-<a name="l00515"></a>00515 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_range
-<a name="l00516"></a>00516 <
-<a name="l00517"></a>00517 Range,
-<a name="l00518"></a>00518 typename point_type<Range>::type,
-<a name="l00519"></a>00519 Sections,
-<a name="l00520"></a>00520 DimensionCount,
-<a name="l00521"></a>00521 MaxCount
-<a name="l00522"></a>00522 >
-<a name="l00523"></a>00523 {};
-<a name="l00524"></a>00524
-<a name="l00525"></a>00525 <span class="keyword">template</span>
-<a name="l00526"></a>00526 <
-<a name="l00527"></a>00527 <span class="keyword">typename</span> Polygon,
-<a name="l00528"></a>00528 <span class="keyword">typename</span> Sections,
-<a name="l00529"></a>00529 std::size_t DimensionCount,
-<a name="l00530"></a>00530 std::size_t MaxCount
-<a name="l00531"></a>00531 >
-<a name="l00532"></a>00532 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a><polygon_tag, Polygon, Sections, DimensionCount, MaxCount>
-<a name="l00533"></a>00533 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_polygon
-<a name="l00534"></a>00534 <
-<a name="l00535"></a>00535 Polygon, Sections, DimensionCount, MaxCount
-<a name="l00536"></a>00536 >
-<a name="l00537"></a>00537 {};
-<a name="l00538"></a>00538
-<a name="l00539"></a>00539 } <span class="comment">// namespace dispatch</span>
-<a name="l00540"></a>00540 <span class="preprocessor">#endif</span>
-<a name="l00541"></a>00541 <span class="preprocessor"></span>
-<a name="l00542"></a>00542
-<a name="l00552"></a>00552 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Sections>
-<a name="l00553"></a><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">00553</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>(Geometry <span class="keyword">const</span>& geometry, Sections& <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>)
-<a name="l00554"></a>00554 {
-<a name="l00555"></a>00555 <span class="comment">// A maximum of 10 segments per section seems to give the fastest results</span>
-<a name="l00556"></a>00556 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t max_segments_per_section = 10;
-<a name="l00557"></a>00557 <span class="keyword">typedef</span> <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">dispatch::sectionalize</a>
-<a name="l00558"></a>00558 <
-<a name="l00559"></a>00559 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00560"></a>00560 Geometry,
-<a name="l00561"></a>00561 Sections,
-<a name="l00562"></a>00562 Sections::value,
-<a name="l00563"></a>00563 max_segments_per_section
-<a name="l00564"></a>00564 > sectionalizer_type;
-<a name="l00565"></a>00565
-<a name="l00566"></a>00566 sections.clear();
-<a name="l00567"></a>00567 sectionalizer_type::apply(geometry, sections);
-<a name="l00568"></a>00568 }
-<a name="l00569"></a>00569
+<a name="l00428"></a>00428 point_type ll, lr, ul, ur;
+<a name="l00429"></a>00429 <a class="code" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, ll, lr, ul, ur);
+<a name="l00430"></a>00430
+<a name="l00431"></a>00431 std::vector<point_type> points;
+<a name="l00432"></a>00432 points.push_back(ll);
+<a name="l00433"></a>00433 points.push_back(ul);
+<a name="l00434"></a>00434 points.push_back(ur);
+<a name="l00435"></a>00435 points.push_back(lr);
+<a name="l00436"></a>00436 points.push_back(ll);
+<a name="l00437"></a>00437
+<a name="l00438"></a>00438 sectionalize_range
+<a name="l00439"></a>00439 <
+<a name="l00440"></a>00440 std::vector<point_type>,
+<a name="l00441"></a>00441 point_type,
+<a name="l00442"></a>00442 Sections,
+<a name="l00443"></a>00443 DimensionCount,
+<a name="l00444"></a>00444 MaxCount
+<a name="l00445"></a>00445 >::apply(points, sections);
+<a name="l00446"></a>00446 }
+<a name="l00447"></a>00447 };
+<a name="l00448"></a>00448
+<a name="l00449"></a>00449 }} <span class="comment">// namespace detail::sectionalize</span>
+<a name="l00450"></a>00450 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00451"></a>00451 <span class="preprocessor"></span>
+<a name="l00452"></a>00452
+<a name="l00453"></a>00453 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00454"></a>00454 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00455"></a>00455 {
+<a name="l00456"></a>00456
+<a name="l00457"></a>00457 <span class="keyword">template</span>
+<a name="l00458"></a>00458 <
+<a name="l00459"></a>00459 <span class="keyword">typename</span> Tag,
+<a name="l00460"></a>00460 <span class="keyword">typename</span> Geometry,
+<a name="l00461"></a>00461 <span class="keyword">typename</span> Sections,
+<a name="l00462"></a>00462 std::size_t DimensionCount,
+<a name="l00463"></a>00463 std::size_t MaxCount
+<a name="l00464"></a>00464 >
+<a name="l00465"></a>00465 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>
+<a name="l00466"></a>00466 {};
+<a name="l00467"></a>00467
+<a name="l00468"></a>00468 <span class="keyword">template</span>
+<a name="l00469"></a>00469 <
+<a name="l00470"></a>00470 <span class="keyword">typename</span> Box,
+<a name="l00471"></a>00471 <span class="keyword">typename</span> Sections,
+<a name="l00472"></a>00472 std::size_t DimensionCount,
+<a name="l00473"></a>00473 std::size_t MaxCount
+<a name="l00474"></a>00474 >
+<a name="l00475"></a>00475 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a><box_tag, Box, Sections, DimensionCount, MaxCount>
+<a name="l00476"></a>00476 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_box
+<a name="l00477"></a>00477 <
+<a name="l00478"></a>00478 Box,
+<a name="l00479"></a>00479 Sections,
+<a name="l00480"></a>00480 DimensionCount,
+<a name="l00481"></a>00481 MaxCount
+<a name="l00482"></a>00482 >
+<a name="l00483"></a>00483 {};
+<a name="l00484"></a>00484
+<a name="l00485"></a>00485 <span class="keyword">template</span>
+<a name="l00486"></a>00486 <
+<a name="l00487"></a>00487 <span class="keyword">typename</span> LineString, <span class="keyword">typename</span>
+<a name="l00488"></a>00488 Sections,
+<a name="l00489"></a>00489 std::size_t DimensionCount,
+<a name="l00490"></a>00490 std::size_t MaxCount
+<a name="l00491"></a>00491 >
+<a name="l00492"></a>00492 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>
+<a name="l00493"></a>00493 <
+<a name="l00494"></a>00494 linestring_tag,
+<a name="l00495"></a>00495 LineString,
+<a name="l00496"></a>00496 Sections,
+<a name="l00497"></a>00497 DimensionCount,
+<a name="l00498"></a>00498 MaxCount
+<a name="l00499"></a>00499 >
+<a name="l00500"></a>00500 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_range
+<a name="l00501"></a>00501 <
+<a name="l00502"></a>00502 LineString,
+<a name="l00503"></a>00503 typename point_type<LineString>::type,
+<a name="l00504"></a>00504 Sections,
+<a name="l00505"></a>00505 DimensionCount,
+<a name="l00506"></a>00506 MaxCount
+<a name="l00507"></a>00507 >
+<a name="l00508"></a>00508 {};
+<a name="l00509"></a>00509
+<a name="l00510"></a>00510 <span class="keyword">template</span>
+<a name="l00511"></a>00511 <
+<a name="l00512"></a>00512 <span class="keyword">typename</span> Range,
+<a name="l00513"></a>00513 <span class="keyword">typename</span> Sections,
+<a name="l00514"></a>00514 std::size_t DimensionCount,
+<a name="l00515"></a>00515 std::size_t MaxCount
+<a name="l00516"></a>00516 >
+<a name="l00517"></a>00517 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a><ring_tag, Range, Sections, DimensionCount, MaxCount>
+<a name="l00518"></a>00518 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_range
+<a name="l00519"></a>00519 <
+<a name="l00520"></a>00520 Range,
+<a name="l00521"></a>00521 typename point_type<Range>::type,
+<a name="l00522"></a>00522 Sections,
+<a name="l00523"></a>00523 DimensionCount,
+<a name="l00524"></a>00524 MaxCount
+<a name="l00525"></a>00525 >
+<a name="l00526"></a>00526 {};
+<a name="l00527"></a>00527
+<a name="l00528"></a>00528 <span class="keyword">template</span>
+<a name="l00529"></a>00529 <
+<a name="l00530"></a>00530 <span class="keyword">typename</span> Polygon,
+<a name="l00531"></a>00531 <span class="keyword">typename</span> Sections,
+<a name="l00532"></a>00532 std::size_t DimensionCount,
+<a name="l00533"></a>00533 std::size_t MaxCount
+<a name="l00534"></a>00534 >
+<a name="l00535"></a>00535 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a><polygon_tag, Polygon, Sections, DimensionCount, MaxCount>
+<a name="l00536"></a>00536 : detail::<a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>::sectionalize_polygon
+<a name="l00537"></a>00537 <
+<a name="l00538"></a>00538 Polygon, Sections, DimensionCount, MaxCount
+<a name="l00539"></a>00539 >
+<a name="l00540"></a>00540 {};
+<a name="l00541"></a>00541
+<a name="l00542"></a>00542 } <span class="comment">// namespace dispatch</span>
+<a name="l00543"></a>00543 <span class="preprocessor">#endif</span>
+<a name="l00544"></a>00544 <span class="preprocessor"></span>
+<a name="l00545"></a>00545
+<a name="l00555"></a>00555 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Sections>
+<a name="l00556"></a><a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">00556</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">sectionalize</a>(Geometry <span class="keyword">const</span>& geometry, Sections& <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>)
+<a name="l00557"></a>00557 {
+<a name="l00558"></a>00558 concept::check<const Geometry>();
+<a name="l00559"></a>00559
+<a name="l00560"></a>00560 <span class="comment">// A maximum of 10 segments per section seems to give the fastest results</span>
+<a name="l00561"></a>00561 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t max_segments_per_section = 10;
+<a name="l00562"></a>00562 <span class="keyword">typedef</span> <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">dispatch::sectionalize</a>
+<a name="l00563"></a>00563 <
+<a name="l00564"></a>00564 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00565"></a>00565 Geometry,
+<a name="l00566"></a>00566 Sections,
+<a name="l00567"></a>00567 Sections::value,
+<a name="l00568"></a>00568 max_segments_per_section
+<a name="l00569"></a>00569 > sectionalizer_type;
<a name="l00570"></a>00570
-<a name="l00571"></a>00571
-<a name="l00572"></a>00572
-<a name="l00573"></a>00573
-<a name="l00574"></a>00574 } <span class="comment">// namespace ggl</span>
+<a name="l00571"></a>00571 sections.clear();
+<a name="l00572"></a>00572 sectionalizer_type::apply(geometry, sections);
+<a name="l00573"></a>00573 }
+<a name="l00574"></a>00574
<a name="l00575"></a>00575
-<a name="l00576"></a>00576 <span class="preprocessor">#endif // GGL_ALGORITHMS_SECTIONALIZE_HPP</span>
+<a name="l00576"></a>00576
+<a name="l00577"></a>00577
+<a name="l00578"></a>00578
+<a name="l00579"></a>00579 } <span class="comment">// namespace ggl</span>
+<a name="l00580"></a>00580
+<a name="l00581"></a>00581 <span class="preprocessor">#endif // GGL_ALGORITHMS_SECTIONALIZE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,13 +54,13 @@
<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/range/functions.hpp></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/concept_check.hpp></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="simplify__douglas__peucker_8hpp.html">ggl/strategies/agnostic/simplify_douglas_peucker.hpp</a>></span>
@@ -265,91 +265,101 @@
<a name="l00256"></a><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">00256</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>(Geometry <span class="keyword">const</span>& geometry, Geometry& out,
<a name="l00257"></a>00257 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
<a name="l00258"></a>00258 {
-<a name="l00259"></a>00259 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">ggl::concept::SimplifyStrategy<Strategy></a>) );
+<a name="l00259"></a>00259 concept::check<Geometry>();
<a name="l00260"></a>00260
-<a name="l00261"></a>00261 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(out);
+<a name="l00261"></a>00261 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">ggl::concept::SimplifyStrategy<Strategy></a>) );
<a name="l00262"></a>00262
-<a name="l00263"></a>00263 <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">dispatch::simplify</a>
-<a name="l00264"></a>00264 <
-<a name="l00265"></a>00265 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00266"></a>00266 Geometry,
-<a name="l00267"></a>00267 Strategy
-<a name="l00268"></a>00268 >::apply(geometry, out, max_distance, strategy);
-<a name="l00269"></a>00269 }
-<a name="l00270"></a>00270
-<a name="l00271"></a>00271
+<a name="l00263"></a>00263 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(out);
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265 <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">dispatch::simplify</a>
+<a name="l00266"></a>00266 <
+<a name="l00267"></a>00267 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00268"></a>00268 Geometry,
+<a name="l00269"></a>00269 Strategy
+<a name="l00270"></a>00270 >::apply(geometry, out, max_distance, strategy);
+<a name="l00271"></a>00271 }
<a name="l00272"></a>00272
<a name="l00273"></a>00273
-<a name="l00283"></a>00283 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry>
-<a name="l00284"></a><a class="code" href="group__simplify.html#g953e1055914400f9ad3191adc5b42270">00284</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>(Geometry <span class="keyword">const</span>& geometry, Geometry& out,
-<a name="l00285"></a>00285 <span class="keywordtype">double</span> max_distance)
-<a name="l00286"></a>00286 {
-<a name="l00287"></a>00287 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00288"></a>00288 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
-<a name="l00289"></a>00289 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance__segment.html" title="Traits class binding a distance-to-segment strategy to a (possibly two) coordinate...">strategy_distance_segment</a>
-<a name="l00290"></a>00290 <
-<a name="l00291"></a>00291 cs_tag,
-<a name="l00292"></a>00292 cs_tag,
-<a name="l00293"></a>00293 point_type,
-<a name="l00294"></a>00294 <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment<const point_type></a>
-<a name="l00295"></a>00295 >::type ds_strategy_type;
-<a name="l00296"></a>00296
-<a name="l00297"></a>00297 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">strategy::simplify::douglas_peucker</a>
-<a name="l00298"></a>00298 <
-<a name="l00299"></a>00299 point_type, ds_strategy_type
-<a name="l00300"></a>00300 > strategy_type;
-<a name="l00301"></a>00301
-<a name="l00302"></a>00302 <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>(geometry, out, max_distance, strategy_type());
-<a name="l00303"></a>00303 }
-<a name="l00304"></a>00304
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275
+<a name="l00285"></a>00285 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry>
+<a name="l00286"></a><a class="code" href="group__simplify.html#g953e1055914400f9ad3191adc5b42270">00286</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>(Geometry <span class="keyword">const</span>& geometry, Geometry& out,
+<a name="l00287"></a>00287 <span class="keywordtype">double</span> max_distance)
+<a name="l00288"></a>00288 {
+<a name="l00289"></a>00289 concept::check<Geometry>();
+<a name="l00290"></a>00290
+<a name="l00291"></a>00291 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00292"></a>00292 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
+<a name="l00293"></a>00293 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance__segment.html" title="Traits class binding a distance-to-segment strategy to a (possibly two) coordinate...">strategy_distance_segment</a>
+<a name="l00294"></a>00294 <
+<a name="l00295"></a>00295 cs_tag,
+<a name="l00296"></a>00296 cs_tag,
+<a name="l00297"></a>00297 point_type,
+<a name="l00298"></a>00298 <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment<const point_type></a>
+<a name="l00299"></a>00299 >::type ds_strategy_type;
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">strategy::simplify::douglas_peucker</a>
+<a name="l00302"></a>00302 <
+<a name="l00303"></a>00303 point_type, ds_strategy_type
+<a name="l00304"></a>00304 > strategy_type;
<a name="l00305"></a>00305
-<a name="l00322"></a>00322 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> Strategy>
-<a name="l00323"></a><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a">00323</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">simplify_inserter</a>(Geometry <span class="keyword">const</span>& geometry, OutputIterator out,
-<a name="l00324"></a>00324 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00325"></a>00325 {
-<a name="l00326"></a>00326 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">ggl::concept::SimplifyStrategy<Strategy></a>) );
-<a name="l00327"></a>00327
-<a name="l00328"></a>00328 <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">dispatch::simplify_inserter</a>
-<a name="l00329"></a>00329 <
-<a name="l00330"></a>00330 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00331"></a>00331 Geometry,
-<a name="l00332"></a>00332 Strategy
-<a name="l00333"></a>00333 >::apply(geometry, out, max_distance, strategy);
-<a name="l00334"></a>00334 }
-<a name="l00335"></a>00335
-<a name="l00351"></a>00351 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator>
-<a name="l00352"></a><a class="code" href="group__simplify.html#g4285888f1598725bca124878ac16c656">00352</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">simplify_inserter</a>(Geometry <span class="keyword">const</span>& geometry, OutputIterator out,
-<a name="l00353"></a>00353 <span class="keywordtype">double</span> max_distance)
-<a name="l00354"></a>00354 {
-<a name="l00355"></a>00355 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00356"></a>00356 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
-<a name="l00357"></a>00357 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance__segment.html" title="Traits class binding a distance-to-segment strategy to a (possibly two) coordinate...">strategy_distance_segment</a>
-<a name="l00358"></a>00358 <
-<a name="l00359"></a>00359 cs_tag,
-<a name="l00360"></a>00360 cs_tag,
-<a name="l00361"></a>00361 point_type,
-<a name="l00362"></a>00362 <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment<const point_type></a>
-<a name="l00363"></a>00363 >::type ds_strategy_type;
-<a name="l00364"></a>00364
-<a name="l00365"></a>00365 <span class="comment">//typedef typename ggl::as_range_type<Geometry>::type range_type;</span>
-<a name="l00366"></a>00366
-<a name="l00367"></a>00367 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">strategy::simplify::douglas_peucker</a>
+<a name="l00306"></a>00306 <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>(geometry, out, max_distance, strategy_type());
+<a name="l00307"></a>00307 }
+<a name="l00308"></a>00308
+<a name="l00309"></a>00309
+<a name="l00326"></a>00326 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> Strategy>
+<a name="l00327"></a><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a">00327</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">simplify_inserter</a>(Geometry <span class="keyword">const</span>& geometry, OutputIterator out,
+<a name="l00328"></a>00328 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00329"></a>00329 {
+<a name="l00330"></a>00330 concept::check<const Geometry>();
+<a name="l00331"></a>00331 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">ggl::concept::SimplifyStrategy<Strategy></a>) );
+<a name="l00332"></a>00332
+<a name="l00333"></a>00333 <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">dispatch::simplify_inserter</a>
+<a name="l00334"></a>00334 <
+<a name="l00335"></a>00335 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00336"></a>00336 Geometry,
+<a name="l00337"></a>00337 Strategy
+<a name="l00338"></a>00338 >::apply(geometry, out, max_distance, strategy);
+<a name="l00339"></a>00339 }
+<a name="l00340"></a>00340
+<a name="l00356"></a>00356 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator>
+<a name="l00357"></a><a class="code" href="group__simplify.html#g4285888f1598725bca124878ac16c656">00357</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">simplify_inserter</a>(Geometry <span class="keyword">const</span>& geometry, OutputIterator out,
+<a name="l00358"></a>00358 <span class="keywordtype">double</span> max_distance)
+<a name="l00359"></a>00359 {
+<a name="l00360"></a>00360 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00361"></a>00361
+<a name="l00362"></a>00362 <span class="comment">// Concept: output point type = point type of input geometry</span>
+<a name="l00363"></a>00363 concept::check<const Geometry>();
+<a name="l00364"></a>00364 concept::check<point_type>();
+<a name="l00365"></a>00365
+<a name="l00366"></a>00366 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type>::type</a> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag</a>;
+<a name="l00367"></a>00367 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance__segment.html" title="Traits class binding a distance-to-segment strategy to a (possibly two) coordinate...">strategy_distance_segment</a>
<a name="l00368"></a>00368 <
-<a name="l00369"></a>00369 point_type, ds_strategy_type
-<a name="l00370"></a>00370 > strategy_type;
-<a name="l00371"></a>00371
-<a name="l00372"></a>00372 <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">dispatch::simplify_inserter</a>
-<a name="l00373"></a>00373 <
-<a name="l00374"></a>00374 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00375"></a>00375 Geometry,
-<a name="l00376"></a>00376 strategy_type
-<a name="l00377"></a>00377 >::apply(geometry, out, max_distance, strategy_type());
-<a name="l00378"></a>00378 }
-<a name="l00379"></a>00379
-<a name="l00380"></a>00380
-<a name="l00381"></a>00381 } <span class="comment">// namespace ggl</span>
-<a name="l00382"></a>00382
-<a name="l00383"></a>00383 <span class="preprocessor">#endif // GGL_ALGORITHMS_SIMPLIFY_HPP</span>
+<a name="l00369"></a>00369 cs_tag,
+<a name="l00370"></a>00370 cs_tag,
+<a name="l00371"></a>00371 point_type,
+<a name="l00372"></a>00372 <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment<const point_type></a>
+<a name="l00373"></a>00373 >::type ds_strategy_type;
+<a name="l00374"></a>00374
+<a name="l00375"></a>00375 <span class="comment">//typedef typename ggl::as_range_type<Geometry>::type range_type;</span>
+<a name="l00376"></a>00376
+<a name="l00377"></a>00377 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">strategy::simplify::douglas_peucker</a>
+<a name="l00378"></a>00378 <
+<a name="l00379"></a>00379 point_type, ds_strategy_type
+<a name="l00380"></a>00380 > strategy_type;
+<a name="l00381"></a>00381
+<a name="l00382"></a>00382 <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">dispatch::simplify_inserter</a>
+<a name="l00383"></a>00383 <
+<a name="l00384"></a>00384 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00385"></a>00385 Geometry,
+<a name="l00386"></a>00386 strategy_type
+<a name="l00387"></a>00387 >::apply(geometry, out, max_distance, strategy_type());
+<a name="l00388"></a>00388 }
+<a name="l00389"></a>00389
+<a name="l00390"></a>00390
+<a name="l00391"></a>00391 } <span class="comment">// namespace ggl</span>
+<a name="l00392"></a>00392
+<a name="l00393"></a>00393 <span class="preprocessor">#endif // GGL_ALGORITHMS_SIMPLIFY_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -58,224 +58,234 @@
<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
<a name="l00025"></a>00025
-<a name="l00026"></a>00026
-<a name="l00061"></a>00061 <span class="keyword">namespace </span>ggl
-<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00068"></a>00068 <span class="keyword">struct </span>transform_point
-<a name="l00069"></a>00069 {
-<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>& p1, P2& p2, S <span class="keyword">const</span>& strategy)
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <span class="keywordflow">return</span> strategy(p1, p2);
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075 };
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2>
-<a name="l00078"></a>00078 <span class="keyword">struct </span>transform_box
-<a name="l00079"></a>00079 {
-<a name="l00080"></a>00080 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>& b1, B2& b2, S <span class="keyword">const</span>& strategy)
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<B1>::type point_type1;
-<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<B2>::type point_type2;
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 point_type1 lower_left, upper_right;
-<a name="l00087"></a>00087 detail::assign::assign_box_2d_corner<min_corner, min_corner>(b1, lower_left);
-<a name="l00088"></a>00088 detail::assign::assign_box_2d_corner<max_corner, max_corner>(b1, upper_right);
+<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00065"></a>00065 <span class="keyword">namespace </span>ggl
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00072"></a>00072 <span class="keyword">struct </span>transform_point
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
+<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>& p1, P2& p2, S <span class="keyword">const</span>& strategy)
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keywordflow">return</span> strategy(p1, p2);
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2>
+<a name="l00082"></a>00082 <span class="keyword">struct </span>transform_box
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
+<a name="l00085"></a>00085 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>& b1, B2& b2, S <span class="keyword">const</span>& strategy)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<B1>::type point_type1;
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<B2>::type point_type2;
<a name="l00089"></a>00089
-<a name="l00090"></a>00090 point_type2 p1, p2;
-<a name="l00091"></a>00091 <span class="keywordflow">if</span> (strategy(lower_left, p1) && strategy(upper_right, p2))
-<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093 <span class="comment">// Create a valid box and therefore swap if necessary</span>
-<a name="l00094"></a>00094 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<point_type2>::type coordinate_type;
-<a name="l00095"></a>00095 coordinate_type x1 = ggl::get<0>(p1)
-<a name="l00096"></a>00096 , y1 = ggl::get<1>(p1)
-<a name="l00097"></a>00097 , x2 = ggl::get<0>(p2)
-<a name="l00098"></a>00098 , y2 = ggl::get<1>(p2);
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keywordflow">if</span> (x1 > x2) { std::swap(x1, x2); }
-<a name="l00101"></a>00101 <span class="keywordflow">if</span> (y1 > y2) { std::swap(y1, y2); }
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 set<min_corner, 0>(b2, x1);
-<a name="l00104"></a>00104 set<min_corner, 1>(b2, y1);
-<a name="l00105"></a>00105 set<max_corner, 0>(b2, x2);
-<a name="l00106"></a>00106 set<max_corner, 1>(b2, y2);
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00109"></a>00109 }
-<a name="l00110"></a>00110 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00111"></a>00111 }
-<a name="l00112"></a>00112 };
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> R, <span class="keyword">typename</span> S>
-<a name="l00115"></a>00115 <span class="keyword">inline</span> <span class="keywordtype">bool</span> transform_range_out(R <span class="keyword">const</span>& range, OutputIterator out, S <span class="keyword">const</span>& strategy)
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 P point_out;
-<a name="l00118"></a>00118 <span class="keywordflow">for</span>(<span class="keyword">typename</span> boost::range_const_iterator<R>::type it = boost::begin(range);
-<a name="l00119"></a>00119 it != boost::end(range); ++it)
-<a name="l00120"></a>00120 {
-<a name="l00121"></a>00121 <span class="keywordflow">if</span> (! transform_point<<span class="keyword">typename</span> point_type<R>::type, P>::apply(*it, point_out, strategy))
-<a name="l00122"></a>00122 {
-<a name="l00123"></a>00123 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125 *out = point_out;
-<a name="l00126"></a>00126 ++out;
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00132"></a>00132 <span class="keyword">struct </span>transform_polygon
-<a name="l00133"></a>00133 {
-<a name="l00134"></a>00134 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> P1& poly1, P2& poly2, S <span class="keyword">const</span>& strategy)
-<a name="l00136"></a>00136 {
-<a name="l00137"></a>00137 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type<P1>::type interior1_type;
-<a name="l00138"></a>00138 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type<P2>::type interior2_type;
-<a name="l00139"></a>00139 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P1>::type ring1_type;
-<a name="l00140"></a>00140 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P2>::type ring2_type;
-<a name="l00141"></a>00141 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<P2>::type point2_type;
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(poly2);
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145 <span class="keywordflow">if</span> (!transform_range_out<point2_type>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly1),
-<a name="l00146"></a>00146 std::back_inserter(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly2)), strategy))
-<a name="l00147"></a>00147 {
-<a name="l00148"></a>00148 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly2).resize(boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1)));
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<interior1_type>::type iterator1_type;
-<a name="l00154"></a>00154 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<interior2_type>::type iterator2_type;
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 iterator1_type it1 = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1));
-<a name="l00157"></a>00157 iterator2_type it2 = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly2));
-<a name="l00158"></a>00158 <span class="keywordflow">for</span> ( ; it1 != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1)); ++it1, ++it2)
-<a name="l00159"></a>00159 {
-<a name="l00160"></a>00160 <span class="keywordflow">if</span> (!transform_range_out<point2_type>(*it1, std::back_inserter(*it2), strategy))
-<a name="l00161"></a>00161 {
-<a name="l00162"></a>00162 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00163"></a>00163 }
-<a name="l00164"></a>00164 }
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00167"></a>00167 }
-<a name="l00168"></a>00168 };
+<a name="l00090"></a>00090 point_type1 lower_left, upper_right;
+<a name="l00091"></a>00091 detail::assign::assign_box_2d_corner<min_corner, min_corner>(b1, lower_left);
+<a name="l00092"></a>00092 detail::assign::assign_box_2d_corner<max_corner, max_corner>(b1, upper_right);
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 point_type2 p1, p2;
+<a name="l00095"></a>00095 <span class="keywordflow">if</span> (strategy(lower_left, p1) && strategy(upper_right, p2))
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="comment">// Create a valid box and therefore swap if necessary</span>
+<a name="l00098"></a>00098 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<point_type2>::type coordinate_type;
+<a name="l00099"></a>00099 coordinate_type x1 = ggl::get<0>(p1)
+<a name="l00100"></a>00100 , y1 = ggl::get<1>(p1)
+<a name="l00101"></a>00101 , x2 = ggl::get<0>(p2)
+<a name="l00102"></a>00102 , y2 = ggl::get<1>(p2);
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="keywordflow">if</span> (x1 > x2) { std::swap(x1, x2); }
+<a name="l00105"></a>00105 <span class="keywordflow">if</span> (y1 > y2) { std::swap(y1, y2); }
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 set<min_corner, 0>(b2, x1);
+<a name="l00108"></a>00108 set<min_corner, 1>(b2, y1);
+<a name="l00109"></a>00109 set<max_corner, 0>(b2, x2);
+<a name="l00110"></a>00110 set<max_corner, 1>(b2, y2);
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116 };
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> R, <span class="keyword">typename</span> S>
+<a name="l00119"></a>00119 <span class="keyword">inline</span> <span class="keywordtype">bool</span> transform_range_out(R <span class="keyword">const</span>& range, OutputIterator out, S <span class="keyword">const</span>& strategy)
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 P point_out;
+<a name="l00122"></a>00122 <span class="keywordflow">for</span>(<span class="keyword">typename</span> boost::range_const_iterator<R>::type it = boost::begin(range);
+<a name="l00123"></a>00123 it != boost::end(range); ++it)
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 <span class="keywordflow">if</span> (! transform_point<<span class="keyword">typename</span> point_type<R>::type, P>::apply(*it, point_out, strategy))
+<a name="l00126"></a>00126 {
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00128"></a>00128 }
+<a name="l00129"></a>00129 *out = point_out;
+<a name="l00130"></a>00130 ++out;
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00136"></a>00136 <span class="keyword">struct </span>transform_polygon
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
+<a name="l00139"></a>00139 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> P1& poly1, P2& poly2, S <span class="keyword">const</span>& strategy)
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type<P1>::type interior1_type;
+<a name="l00142"></a>00142 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type<P2>::type interior2_type;
+<a name="l00143"></a>00143 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P1>::type ring1_type;
+<a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P2>::type ring2_type;
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<P2>::type point2_type;
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(poly2);
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <span class="keywordflow">if</span> (!transform_range_out<point2_type>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly1),
+<a name="l00150"></a>00150 std::back_inserter(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly2)), strategy))
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00153"></a>00153 }
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly2).resize(boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1)));
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<interior1_type>::type iterator1_type;
+<a name="l00158"></a>00158 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<interior2_type>::type iterator2_type;
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 iterator1_type it1 = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1));
+<a name="l00161"></a>00161 iterator2_type it2 = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly2));
+<a name="l00162"></a>00162 <span class="keywordflow">for</span> ( ; it1 != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly1)); ++it1, ++it2)
+<a name="l00163"></a>00163 {
+<a name="l00164"></a>00164 <span class="keywordflow">if</span> (!transform_range_out<point2_type>(*it1, std::back_inserter(*it2), strategy))
+<a name="l00165"></a>00165 {
+<a name="l00166"></a>00166 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168 }
<a name="l00169"></a>00169
-<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00172"></a>00172 <span class="keyword">struct </span>select_strategy
-<a name="l00173"></a>00173 {
-<a name="l00174"></a>00174 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_transform
-<a name="l00175"></a>00175 <
-<a name="l00176"></a>00176 <span class="keyword">typename</span> cs_tag<P1>::type,
-<a name="l00177"></a>00177 <span class="keyword">typename</span> cs_tag<P2>::type,
-<a name="l00178"></a>00178 <span class="keyword">typename</span> coordinate_system<P1>::type,
-<a name="l00179"></a>00179 <span class="keyword">typename</span> coordinate_system<P2>::type,
-<a name="l00180"></a>00180 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<P1>::type::value</a>,
-<a name="l00181"></a>00181 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<P2>::type::value</a>,
-<a name="l00182"></a>00182 <span class="keyword">typename</span> point_type<P1>::type,
-<a name="l00183"></a>00183 <span class="keyword">typename</span> point_type<P2>::type
-<a name="l00184"></a>00184 >::type type;
-<a name="l00185"></a>00185 };
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187 <span class="keyword">template</span> <<span class="keyword">typename</span> R1, <span class="keyword">typename</span> R2>
-<a name="l00188"></a>00188 <span class="keyword">struct </span>transform_range
-<a name="l00189"></a>00189 {
-<a name="l00190"></a>00190 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00191"></a>00191 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(R1 <span class="keyword">const</span>& range1, R2& range2, S <span class="keyword">const</span>& strategy)
-<a name="l00192"></a>00192 {
-<a name="l00193"></a>00193 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<R2>::type point_type;
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(range2);
-<a name="l00196"></a>00196 <span class="keywordflow">return</span> transform_range_out<point_type>(range1, std::back_inserter(range2), strategy);
-<a name="l00197"></a>00197 }
-<a name="l00198"></a>00198 };
-<a name="l00199"></a>00199
-<a name="l00200"></a>00200 }} <span class="comment">// namespace detail::transform</span>
-<a name="l00201"></a>00201 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00202"></a>00202 <span class="preprocessor"></span>
+<a name="l00170"></a>00170 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00171"></a>00171 }
+<a name="l00172"></a>00172 };
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00176"></a>00176 <span class="keyword">struct </span>select_strategy
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_transform
+<a name="l00179"></a>00179 <
+<a name="l00180"></a>00180 <span class="keyword">typename</span> cs_tag<P1>::type,
+<a name="l00181"></a>00181 <span class="keyword">typename</span> cs_tag<P2>::type,
+<a name="l00182"></a>00182 <span class="keyword">typename</span> coordinate_system<P1>::type,
+<a name="l00183"></a>00183 <span class="keyword">typename</span> coordinate_system<P2>::type,
+<a name="l00184"></a>00184 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<P1>::type::value</a>,
+<a name="l00185"></a>00185 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<P2>::type::value</a>,
+<a name="l00186"></a>00186 <span class="keyword">typename</span> point_type<P1>::type,
+<a name="l00187"></a>00187 <span class="keyword">typename</span> point_type<P2>::type
+<a name="l00188"></a>00188 >::type type;
+<a name="l00189"></a>00189 };
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="keyword">template</span> <<span class="keyword">typename</span> R1, <span class="keyword">typename</span> R2>
+<a name="l00192"></a>00192 <span class="keyword">struct </span>transform_range
+<a name="l00193"></a>00193 {
+<a name="l00194"></a>00194 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
+<a name="l00195"></a>00195 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(R1 <span class="keyword">const</span>& range1, R2& range2, S <span class="keyword">const</span>& strategy)
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<R2>::type point_type;
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(range2);
+<a name="l00200"></a>00200 <span class="keywordflow">return</span> transform_range_out<point_type>(range1, std::back_inserter(range2), strategy);
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202 };
<a name="l00203"></a>00203
-<a name="l00204"></a>00204 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00205"></a>00205 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00206"></a>00206 {
+<a name="l00204"></a>00204 }} <span class="comment">// namespace detail::transform</span>
+<a name="l00205"></a>00205 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00206"></a>00206 <span class="preprocessor"></span>
<a name="l00207"></a>00207
-<a name="l00208"></a>00208 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
-<a name="l00209"></a>00209 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {};
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00212"></a>00212 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><point_tag, point_tag, P1, P2>
-<a name="l00213"></a>00213 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_point<P1, P2>
-<a name="l00214"></a>00214 {
-<a name="l00215"></a>00215 };
-<a name="l00216"></a>00216
-<a name="l00217"></a>00217
-<a name="l00218"></a>00218 <span class="keyword">template</span> <<span class="keyword">typename</span> L1, <span class="keyword">typename</span> L2>
-<a name="l00219"></a>00219 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><linestring_tag, linestring_tag, L1, L2>
-<a name="l00220"></a>00220 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_range<L1, L2>
-<a name="l00221"></a>00221 {
-<a name="l00222"></a>00222 };
-<a name="l00223"></a>00223
-<a name="l00224"></a>00224 <span class="keyword">template</span> <<span class="keyword">typename</span> R1, <span class="keyword">typename</span> R2>
-<a name="l00225"></a>00225 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><ring_tag, ring_tag, R1, R2>
-<a name="l00226"></a>00226 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_range<R1, R2>
-<a name="l00227"></a>00227 {
-<a name="l00228"></a>00228 };
-<a name="l00229"></a>00229
-<a name="l00230"></a>00230 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00231"></a>00231 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><polygon_tag, polygon_tag, P1, P2>
-<a name="l00232"></a>00232 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_polygon<P1, P2>
-<a name="l00233"></a>00233 {
-<a name="l00234"></a>00234 };
-<a name="l00235"></a>00235
-<a name="l00236"></a>00236 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2>
-<a name="l00237"></a>00237 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><box_tag, box_tag, B1, B2>
-<a name="l00238"></a>00238 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_box<B1, B2>
-<a name="l00239"></a>00239 {
-<a name="l00240"></a>00240 };
-<a name="l00241"></a>00241
-<a name="l00242"></a>00242
-<a name="l00243"></a>00243 } <span class="comment">// namespace dispatch</span>
-<a name="l00244"></a>00244 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00245"></a>00245 <span class="preprocessor"></span>
+<a name="l00208"></a>00208 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00209"></a>00209 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00210"></a>00210 {
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
+<a name="l00213"></a>00213 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {};
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00216"></a>00216 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><point_tag, point_tag, P1, P2>
+<a name="l00217"></a>00217 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_point<P1, P2>
+<a name="l00218"></a>00218 {
+<a name="l00219"></a>00219 };
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="keyword">template</span> <<span class="keyword">typename</span> L1, <span class="keyword">typename</span> L2>
+<a name="l00223"></a>00223 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><linestring_tag, linestring_tag, L1, L2>
+<a name="l00224"></a>00224 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_range<L1, L2>
+<a name="l00225"></a>00225 {
+<a name="l00226"></a>00226 };
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keyword">template</span> <<span class="keyword">typename</span> R1, <span class="keyword">typename</span> R2>
+<a name="l00229"></a>00229 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><ring_tag, ring_tag, R1, R2>
+<a name="l00230"></a>00230 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_range<R1, R2>
+<a name="l00231"></a>00231 {
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00235"></a>00235 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><polygon_tag, polygon_tag, P1, P2>
+<a name="l00236"></a>00236 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_polygon<P1, P2>
+<a name="l00237"></a>00237 {
+<a name="l00238"></a>00238 };
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2>
+<a name="l00241"></a>00241 <span class="keyword">struct </span><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a><box_tag, box_tag, B1, B2>
+<a name="l00242"></a>00242 : detail::<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>::transform_box<B1, B2>
+<a name="l00243"></a>00243 {
+<a name="l00244"></a>00244 };
+<a name="l00245"></a>00245
<a name="l00246"></a>00246
-<a name="l00257"></a>00257 <span class="keyword">template</span> <<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> S>
-<a name="l00258"></a><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500">00258</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(G1 <span class="keyword">const</span>& geometry1, G2& geometry2, S <span class="keyword">const</span>& strategy)
-<a name="l00259"></a>00259 {
-<a name="l00260"></a>00260 <span class="keyword">typedef</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">dispatch::transform</a>
-<a name="l00261"></a>00261 <
-<a name="l00262"></a>00262 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G1>::type</a>,
-<a name="l00263"></a>00263 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G2>::type</a>,
-<a name="l00264"></a>00264 G1,
-<a name="l00265"></a>00265 G2
-<a name="l00266"></a>00266 > transform_type;
-<a name="l00267"></a>00267
-<a name="l00268"></a>00268 <span class="keywordflow">return</span> transform_type::apply(geometry1, geometry2, strategy);
-<a name="l00269"></a>00269 }
-<a name="l00270"></a>00270
-<a name="l00280"></a>00280 <span class="keyword">template</span> <<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
-<a name="l00281"></a><a class="code" href="group__transform.html#g9ec9c2e79900a57ce292dc2026b7ead9">00281</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(G1 <span class="keyword">const</span>& geometry1, G2& geometry2)
-<a name="l00282"></a>00282 {
-<a name="l00283"></a>00283 <span class="keyword">typename</span> detail::transform::select_strategy<G1, G2>::type strategy;
-<a name="l00284"></a>00284 <span class="keywordflow">return</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(geometry1, geometry2, strategy);
-<a name="l00285"></a>00285 }
-<a name="l00286"></a>00286
-<a name="l00287"></a>00287 } <span class="comment">// namespace ggl</span>
-<a name="l00288"></a>00288
-<a name="l00289"></a>00289 <span class="preprocessor">#endif // GGL_ALGORITHMS_TRANSFORM_HPP</span>
+<a name="l00247"></a>00247 } <span class="comment">// namespace dispatch</span>
+<a name="l00248"></a>00248 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00249"></a>00249 <span class="preprocessor"></span>
+<a name="l00250"></a>00250
+<a name="l00261"></a>00261 <span class="keyword">template</span> <<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> S>
+<a name="l00262"></a><a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500">00262</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(G1 <span class="keyword">const</span>& geometry1, G2& geometry2, S <span class="keyword">const</span>& strategy)
+<a name="l00263"></a>00263 {
+<a name="l00264"></a>00264 concept::check<const G1>();
+<a name="l00265"></a>00265 concept::check<G2>();
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267 <span class="keyword">typedef</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">dispatch::transform</a>
+<a name="l00268"></a>00268 <
+<a name="l00269"></a>00269 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G1>::type</a>,
+<a name="l00270"></a>00270 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G2>::type</a>,
+<a name="l00271"></a>00271 G1,
+<a name="l00272"></a>00272 G2
+<a name="l00273"></a>00273 > transform_type;
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 <span class="keywordflow">return</span> transform_type::apply(geometry1, geometry2, strategy);
+<a name="l00276"></a>00276 }
+<a name="l00277"></a>00277
+<a name="l00287"></a>00287 <span class="keyword">template</span> <<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
+<a name="l00288"></a><a class="code" href="group__transform.html#g9ec9c2e79900a57ce292dc2026b7ead9">00288</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(G1 <span class="keyword">const</span>& geometry1, G2& geometry2)
+<a name="l00289"></a>00289 {
+<a name="l00290"></a>00290 concept::check<const G1>();
+<a name="l00291"></a>00291 concept::check<G2>();
+<a name="l00292"></a>00292
+<a name="l00293"></a>00293 <span class="keyword">typename</span> detail::transform::select_strategy<G1, G2>::type strategy;
+<a name="l00294"></a>00294 <span class="keywordflow">return</span> <a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(geometry1, geometry2, strategy);
+<a name="l00295"></a>00295 }
+<a name="l00296"></a>00296
+<a name="l00297"></a>00297 } <span class="comment">// namespace ggl</span>
+<a name="l00298"></a>00298
+<a name="l00299"></a>00299 <span class="preprocessor">#endif // GGL_ALGORITHMS_TRANSFORM_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,14 +50,14 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G1 , typename G2 , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g3051574eadb5ef8ae92ef210665a7332">ggl::within</a> (G1 const &geometry1, G2 const &geometry2, S const &strategy)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g052af0474ab2dafcb875ce64a9361611">ggl::within</a> (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G1 , typename G2 > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">ggl::within</a> (G1 const &geometry1, G2 const &geometry2)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d">ggl::within</a> (Geometry1 const &geometry1, Geometry2 const &geometry2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check. <br></td></tr>
</table>
</div>
<hr size="1">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2within_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,373 +51,310 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_WITHIN_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_WITHIN_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="make_8hpp.html">ggl/algorithms/make.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>></span>
-<a name="l00026"></a>00026
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <cstddef></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="make_8hpp.html">ggl/algorithms/make.hpp</a>></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00027"></a>00027
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030 <span class="keyword">namespace </span>ggl
-<a name="l00031"></a>00031 {
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="within__concept_8hpp.html">ggl/strategies/concepts/within_concept.hpp</a>></span>
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031
<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a> {
+<a name="l00033"></a>00033 <span class="keyword">namespace </span>ggl
+<a name="l00034"></a>00034 {
<a name="l00035"></a>00035
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
-<a name="l00038"></a>00038 <span class="comment">// Implementation for boxes. Supports boxes in 2 or 3 dimensions, in Euclidian system</span>
-<a name="l00039"></a>00039 <span class="comment">// Todo: implement as strategy</span>
-<a name="l00040"></a>00040 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
-<a name="l00041"></a>00041 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N>
-<a name="l00042"></a>00042 <span class="keyword">struct </span>point_in_box
-<a name="l00043"></a>00043 {
-<a name="l00044"></a>00044 <span class="keyword">static</span> <span class="keywordtype">bool</span> inside(P <span class="keyword">const</span>& p, B <span class="keyword">const</span>& b)
-<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 <span class="keywordflow">if</span> (get<D>(p) <= get<min_corner, D>(b)
-<a name="l00047"></a>00047 || get<D>(p) >= get<max_corner, D>(b))
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> point_in_box<P, B, D + 1, N>::inside(p, b);
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054 };
-<a name="l00055"></a>00055
-<a name="l00056"></a>00056 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, <span class="keywordtype">size_t</span> N>
-<a name="l00057"></a>00057 <span class="keyword">struct </span>point_in_box<P, B, N, N>
-<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 <span class="keyword">static</span> <span class="keywordtype">bool</span> inside(P <span class="keyword">const</span>& p, B <span class="keyword">const</span>& b)
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063 };
+<a name="l00036"></a>00036 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a> {
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039
+<a name="l00045"></a>00045 <span class="keyword">template</span>
+<a name="l00046"></a>00046 <
+<a name="l00047"></a>00047 <span class="keyword">typename</span> Point,
+<a name="l00048"></a>00048 <span class="keyword">typename</span> Box,
+<a name="l00049"></a>00049 <span class="keyword">typename</span> Strategy,
+<a name="l00050"></a>00050 std::size_t Dimension,
+<a name="l00051"></a>00051 std::size_t DimensionCount
+<a name="l00052"></a>00052 >
+<a name="l00053"></a>00053 <span class="keyword">struct </span>point_in_box
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>& p, Box <span class="keyword">const</span>& b, Strategy <span class="keyword">const</span>& s)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 assert_dimension_equal<Point, Box>();
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (get<Dimension>(p) <= get<min_corner, Dimension>(b)
+<a name="l00060"></a>00060 || get<Dimension>(p) >= get<max_corner, Dimension>(b))
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00063"></a>00063 }
<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
-<a name="l00066"></a>00066 <span class="comment">// Box-in-box, for 2/3 dimensions</span>
-<a name="l00067"></a>00067 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
-<a name="l00068"></a>00068 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N>
-<a name="l00069"></a>00069 <span class="keyword">struct </span>box_in_box
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> inside(B1 <span class="keyword">const</span>& b1, B2 <span class="keyword">const</span>& b2)
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <span class="keywordflow">if</span> (get<min_corner, D>(b1) <= get<min_corner, D>(b2)
-<a name="l00074"></a>00074 || get<max_corner, D>(b1) >= get<max_corner, D>(b2))
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="keywordflow">return</span> box_in_box<B1, B2, D + 1, N>::inside(b1, b2);
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081 };
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, <span class="keywordtype">size_t</span> N>
-<a name="l00084"></a>00084 <span class="keyword">struct </span>box_in_box<B1, B2, N, N>
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> inside(B1 <span class="keyword">const</span>& b1, B2 <span class="keyword">const</span>& b2)
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 };
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> point_in_box
+<a name="l00066"></a>00066 <
+<a name="l00067"></a>00067 Point,
+<a name="l00068"></a>00068 Box,
+<a name="l00069"></a>00069 Strategy,
+<a name="l00070"></a>00070 Dimension + 1,
+<a name="l00071"></a>00071 DimensionCount
+<a name="l00072"></a>00072 >::apply(p, b, s);
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">template</span>
+<a name="l00077"></a>00077 <
+<a name="l00078"></a>00078 <span class="keyword">typename</span> Point,
+<a name="l00079"></a>00079 <span class="keyword">typename</span> Box,
+<a name="l00080"></a>00080 <span class="keyword">typename</span> Strategy,
+<a name="l00081"></a>00081 std::size_t DimensionCount
+<a name="l00082"></a>00082 >
+<a name="l00083"></a>00083 <span class="keyword">struct </span>point_in_box<Point, Box, Strategy, DimensionCount, DimensionCount>
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>& p, Box <span class="keyword">const</span>& b, Strategy <span class="keyword">const</span>& s)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089 };
+<a name="l00090"></a>00090
<a name="l00091"></a>00091
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
-<a name="l00094"></a>00094 <span class="comment">// Implementation for n-spheres. Supports circles or spheres, in 2 or 3 dimensions, in Euclidian system</span>
-<a name="l00095"></a>00095 <span class="comment">// Circle center might be of other point-type as geometry</span>
-<a name="l00096"></a>00096 <span class="comment">// Todo: implement as strategy</span>
-<a name="l00097"></a>00097 <span class="comment">//-------------------------------------------------------------------------------------------------------</span>
-<a name="l00098"></a>00098 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> C>
-<a name="l00099"></a>00099 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_circle(P <span class="keyword">const</span>& p, C <span class="keyword">const</span>& c)
-<a name="l00100"></a>00100 {
-<a name="l00101"></a>00101 assert_dimension<C, 2>();
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<C>::type point_type;
-<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance
-<a name="l00105"></a>00105 <
-<a name="l00106"></a>00106 <span class="keyword">typename</span> cs_tag<P>::type,
-<a name="l00107"></a>00107 <span class="keyword">typename</span> cs_tag<point_type>::type,
-<a name="l00108"></a>00108 P,
-<a name="l00109"></a>00109 point_type
-<a name="l00110"></a>00110 >::type strategy_type;
-<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type return_type;
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 P <span class="keyword">const</span> center = ggl::make<P>(get<0>(c), get<1>(c));
-<a name="l00114"></a>00114 strategy_type <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>;
-<a name="l00115"></a>00115 return_type <span class="keyword">const</span> r = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(p, center);
-<a name="l00116"></a>00116 return_type <span class="keyword">const</span> rad = make_distance_result<return_type>(get_radius<0>(c));
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="keywordflow">return</span> r < rad;
-<a name="l00119"></a>00119 }
-<a name="l00121"></a>00121 <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> C>
-<a name="l00122"></a>00122 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_circle(<span class="keyword">const</span> T& c1, <span class="keyword">const</span> T& c2, C <span class="keyword">const</span>& c)
-<a name="l00123"></a>00123 {
-<a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<C>::type point_type;
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 point_type p = ggl::make<point_type>(c1, c2);
-<a name="l00127"></a>00127 <span class="keywordflow">return</span> point_in_circle(p, c);
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 <span class="keyword">template</span><<span class="keyword">typename</span> B, <span class="keyword">typename</span> C>
-<a name="l00131"></a>00131 <span class="keyword">inline</span> <span class="keywordtype">bool</span> box_in_circle(B <span class="keyword">const</span>& b, C <span class="keyword">const</span>& c)
-<a name="l00132"></a>00132 {
-<a name="l00133"></a>00133 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<B>::type point_type;
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="comment">// Currently only implemented for 2d geometries</span>
-<a name="l00136"></a>00136 assert_dimension<point_type, 2>();
-<a name="l00137"></a>00137 assert_dimension<C, 2>();
+<a name="l00092"></a>00092 <span class="keyword">template</span>
+<a name="l00093"></a>00093 <
+<a name="l00094"></a>00094 <span class="keyword">typename</span> Box1,
+<a name="l00095"></a>00095 <span class="keyword">typename</span> Box2,
+<a name="l00096"></a>00096 <span class="keyword">typename</span> Strategy,
+<a name="l00097"></a>00097 std::size_t Dimension,
+<a name="l00098"></a>00098 std::size_t DimensionCount
+<a name="l00099"></a>00099 >
+<a name="l00100"></a>00100 <span class="keyword">struct </span>box_in_box
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>& b1, Box2 <span class="keyword">const</span>& b2, Strategy <span class="keyword">const</span>& s)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 assert_dimension_equal<Box1, Box2>();
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="keywordflow">if</span> (get<min_corner, Dimension>(b1) <= get<min_corner, Dimension>(b2)
+<a name="l00107"></a>00107 || get<max_corner, Dimension>(b1) >= get<max_corner, Dimension>(b2))
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> box_in_box
+<a name="l00113"></a>00113 <
+<a name="l00114"></a>00114 Box1,
+<a name="l00115"></a>00115 Box2,
+<a name="l00116"></a>00116 Strategy,
+<a name="l00117"></a>00117 Dimension + 1,
+<a name="l00118"></a>00118 DimensionCount
+<a name="l00119"></a>00119 >::apply(b1, b2, s);
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 };
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keyword">template</span>
+<a name="l00124"></a>00124 <
+<a name="l00125"></a>00125 <span class="keyword">typename</span> Box1,
+<a name="l00126"></a>00126 <span class="keyword">typename</span> Box2,
+<a name="l00127"></a>00127 <span class="keyword">typename</span> Strategy,
+<a name="l00128"></a>00128 std::size_t DimensionCount
+<a name="l00129"></a>00129 >
+<a name="l00130"></a>00130 <span class="keyword">struct </span>box_in_box<Box1, Box2, Strategy, DimensionCount, DimensionCount>
+<a name="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Box1 <span class="keyword">const</span>& , Box2 <span class="keyword">const</span>& , Strategy <span class="keyword">const</span>&)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 };
+<a name="l00137"></a>00137
<a name="l00138"></a>00138
-<a name="l00139"></a>00139 <span class="comment">// Box: all four points must lie within circle</span>
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="comment">// Check points lower-left and upper-right, then lower-right and upper-left</span>
-<a name="l00142"></a>00142 <span class="keywordflow">return</span> point_in_circle(get<min_corner, 0>(b), get<min_corner, 1>(b), c)
-<a name="l00143"></a>00143 && point_in_circle(get<max_corner, 0>(b), get<max_corner, 1>(b), c)
-<a name="l00144"></a>00144 && point_in_circle(get<min_corner, 0>(b), get<max_corner, 1>(b), c)
-<a name="l00145"></a>00145 && point_in_circle(get<max_corner, 0>(b), get<min_corner, 1>(b), c);
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148 <span class="comment">// Generic "range-in-circle", true if all points within circle</span>
-<a name="l00149"></a>00149 <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> C>
-<a name="l00150"></a>00150 <span class="keyword">inline</span> <span class="keywordtype">bool</span> range_in_circle(R <span class="keyword">const</span>& range, C <span class="keyword">const</span>& c)
-<a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 assert_dimension<R, 2>();
-<a name="l00153"></a>00153 assert_dimension<C, 2>();
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<R>::type it = boost::begin(range);
-<a name="l00156"></a>00156 it != boost::end(range); ++it)
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158 <span class="keywordflow">if</span> (! point_in_circle(*it, c))
-<a name="l00159"></a>00159 {
-<a name="l00160"></a>00160 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166
-<a name="l00167"></a>00167 <span class="keyword">template</span><<span class="keyword">typename</span> Y, <span class="keyword">typename</span> C>
-<a name="l00168"></a>00168 <span class="keyword">inline</span> <span class="keywordtype">bool</span> polygon_in_circle(Y <span class="keyword">const</span>& poly, C <span class="keyword">const</span>& c)
-<a name="l00169"></a>00169 {
-<a name="l00170"></a>00170 <span class="keywordflow">return</span> range_in_circle(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), c);
-<a name="l00171"></a>00171 }
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> R, <span class="keyword">typename</span> S>
-<a name="l00174"></a>00174 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_ring(P <span class="keyword">const</span>& p, R <span class="keyword">const</span>& r, S <span class="keyword">const</span>& strategy)
-<a name="l00175"></a>00175 {
-<a name="l00176"></a>00176 <span class="keywordflow">if</span> (boost::size(r) < 4)
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00179"></a>00179 }
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="keyword">typename</span> S::state_type state(p);
-<a name="l00182"></a>00182 <span class="keywordflow">if</span> (<a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(r, strategy, state))
-<a name="l00183"></a>00183 {
-<a name="l00184"></a>00184 <span class="keywordflow">return</span> state.within();
-<a name="l00185"></a>00185 }
+<a name="l00139"></a>00139 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy>
+<a name="l00140"></a>00140 <span class="keyword">struct </span>point_in_ring
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">ggl::concept::WithinStrategy<Strategy></a>) );
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>& point, Ring <span class="keyword">const</span>& ring,
+<a name="l00145"></a>00145 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="keywordflow">if</span> (boost::size(ring) < 4)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Ring>::type iterator_type;
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keyword">typename</span> Strategy::state_type state;
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 iterator_type it = boost::begin(ring);
+<a name="l00157"></a>00157 <span class="keywordflow">for</span> (iterator_type previous = it++;
+<a name="l00158"></a>00158 it != boost::end(ring);
+<a name="l00159"></a>00159 previous = it++)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="keywordflow">if</span> (! Strategy::apply(point, *previous, *it, state))
+<a name="l00162"></a>00162 {
+<a name="l00163"></a>00163 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00164"></a>00164 }
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166 <span class="keywordflow">return</span> Strategy::result(state);
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168 };
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170 <span class="comment">// Polygon: in exterior ring, and if so, not within interior ring(s)</span>
+<a name="l00171"></a>00171 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy>
+<a name="l00172"></a>00172 <span class="keyword">struct </span>point_in_polygon
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">ggl::concept::WithinStrategy<Strategy></a>) );
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Point <span class="keyword">const</span>& point, Polygon <span class="keyword">const</span>& poly,
+<a name="l00177"></a>00177 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 <span class="keyword">typedef</span> point_in_ring
+<a name="l00181"></a>00181 <
+<a name="l00182"></a>00182 Point,
+<a name="l00183"></a>00183 <span class="keyword">typename</span> ring_type<Polygon>::type,
+<a name="l00184"></a>00184 Strategy
+<a name="l00185"></a>00185 > per_ring;
<a name="l00186"></a>00186
-<a name="l00187"></a>00187 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00188"></a>00188 }
+<a name="l00187"></a>00187 <span class="keywordflow">if</span> (per_ring::apply(point, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy))
+<a name="l00188"></a>00188 {
<a name="l00189"></a>00189
-<a name="l00190"></a>00190 <span class="comment">// Polygon: in exterior ring, and if so, not within interior ring(s)</span>
-<a name="l00191"></a>00191 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> Y, <span class="keyword">typename</span> S>
-<a name="l00192"></a>00192 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_polygon(P <span class="keyword">const</span>& p, Y <span class="keyword">const</span>& poly, S <span class="keyword">const</span>& strategy)
-<a name="l00193"></a>00193 {
-<a name="l00194"></a>00194 <span class="keywordflow">if</span> (point_in_ring(p, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy))
-<a name="l00195"></a>00195 {
-<a name="l00196"></a>00196 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00197"></a>00197 <<span class="keyword">typename</span> interior_type<Y>::type>::type iterator_type;
-<a name="l00198"></a>00198
-<a name="l00199"></a>00199 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00200"></a>00200 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly)); ++it)
-<a name="l00201"></a>00201 {
-<a name="l00202"></a>00202 <span class="keywordflow">if</span> (point_in_ring(p, *it, strategy))
-<a name="l00203"></a>00203 {
-<a name="l00204"></a>00204 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00205"></a>00205 }
-<a name="l00206"></a>00206 }
-<a name="l00207"></a>00207 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00210"></a>00210 }
+<a name="l00190"></a>00190 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00191"></a>00191 <
+<a name="l00192"></a>00192 <span class="keyword">typename</span> interior_type<Polygon>::type
+<a name="l00193"></a>00193 >::type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00194"></a>00194 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00195"></a>00195 ++it)
+<a name="l00196"></a>00196 {
+<a name="l00197"></a>00197 <span class="keywordflow">if</span> (per_ring::apply(point, *it, strategy))
+<a name="l00198"></a>00198 {
+<a name="l00199"></a>00199 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00200"></a>00200 }
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00203"></a>00203 }
+<a name="l00204"></a>00204 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 };
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208 }} <span class="comment">// namespace detail::within</span>
+<a name="l00209"></a>00209 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00210"></a>00210 <span class="preprocessor"></span>
<a name="l00211"></a>00211
-<a name="l00212"></a>00212 }} <span class="comment">// namespace detail::within</span>
-<a name="l00213"></a>00213 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00214"></a>00214 <span class="preprocessor"></span>
+<a name="l00212"></a>00212 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00213"></a>00213 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00214"></a>00214 {
<a name="l00215"></a>00215
-<a name="l00216"></a>00216 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00217"></a>00217 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00218"></a>00218 {
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
-<a name="l00221"></a>00221 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a> {};
-<a name="l00222"></a>00222
-<a name="l00223"></a>00223 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
-<a name="l00224"></a>00224 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><point_tag, box_tag, P, B>
-<a name="l00225"></a>00225 {
-<a name="l00226"></a>00226 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& p, B <span class="keyword">const</span>& b)
-<a name="l00227"></a>00227 {
-<a name="l00228"></a>00228 assert_dimension_equal<P, B>();
-<a name="l00229"></a>00229
-<a name="l00230"></a>00230 <span class="keywordflow">return</span> detail::within::point_in_box
+<a name="l00216"></a>00216 <span class="keyword">template</span>
+<a name="l00217"></a>00217 <
+<a name="l00218"></a>00218 <span class="keyword">typename</span> Tag1,
+<a name="l00219"></a>00219 <span class="keyword">typename</span> Tag2,
+<a name="l00220"></a>00220 <span class="keyword">typename</span> Geometry1,
+<a name="l00221"></a>00221 <span class="keyword">typename</span> Geometry2,
+<a name="l00222"></a>00222 <span class="keyword">typename</span> Strategy
+<a name="l00223"></a>00223 >
+<a name="l00224"></a>00224 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>
+<a name="l00225"></a>00225 {};
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00229"></a>00229 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a><point_tag, box_tag, Point, Box, Strategy>
+<a name="l00230"></a>00230 : detail::<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>::point_in_box
<a name="l00231"></a>00231 <
-<a name="l00232"></a>00232 P,
-<a name="l00233"></a>00233 B,
-<a name="l00234"></a>00234 0,
-<a name="l00235"></a>00235 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<P>::type::value</a>
-<a name="l00236"></a>00236 >::inside(p, b);
-<a name="l00237"></a>00237 }
-<a name="l00238"></a>00238 };
+<a name="l00232"></a>00232 Point,
+<a name="l00233"></a>00233 Box,
+<a name="l00234"></a>00234 Strategy,
+<a name="l00235"></a>00235 0,
+<a name="l00236"></a>00236 dimension<Point>::type::value
+<a name="l00237"></a>00237 >
+<a name="l00238"></a>00238 {};
<a name="l00239"></a>00239
-<a name="l00240"></a>00240 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2>
-<a name="l00241"></a>00241 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><box_tag, box_tag, B1, B2>
-<a name="l00242"></a>00242 {
-<a name="l00243"></a>00243 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>& b1, B2 <span class="keyword">const</span>& b2)
-<a name="l00244"></a>00244 {
-<a name="l00245"></a>00245 assert_dimension_equal<B1, B2>();
-<a name="l00246"></a>00246
-<a name="l00247"></a>00247 <span class="keywordflow">return</span> detail::within::box_in_box
-<a name="l00248"></a>00248 <
-<a name="l00249"></a>00249 B1,
-<a name="l00250"></a>00250 B2,
-<a name="l00251"></a>00251 0,
-<a name="l00252"></a>00252 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<B1>::type::value</a>
-<a name="l00253"></a>00253 >::inside(b1, b2);
-<a name="l00254"></a>00254 }
-<a name="l00255"></a>00255 };
-<a name="l00256"></a>00256
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> C>
-<a name="l00259"></a>00259 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><point_tag, nsphere_tag, P, C>
-<a name="l00260"></a>00260 {
-<a name="l00261"></a>00261 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& p, C <span class="keyword">const</span>& c)
-<a name="l00262"></a>00262 {
-<a name="l00263"></a>00263 <span class="keywordflow">return</span> detail::within::point_in_circle(p, c);
-<a name="l00264"></a>00264 }
-<a name="l00265"></a>00265 };
-<a name="l00266"></a>00266
-<a name="l00267"></a>00267 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> C>
-<a name="l00268"></a>00268 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><box_tag, nsphere_tag, B, C>
-<a name="l00269"></a>00269 {
-<a name="l00270"></a>00270 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B <span class="keyword">const</span>& b, C <span class="keyword">const</span>& c)
-<a name="l00271"></a>00271 {
-<a name="l00272"></a>00272 <span class="keywordflow">return</span> detail::within::box_in_circle(b, c);
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274 };
-<a name="l00275"></a>00275
-<a name="l00276"></a>00276 <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> C>
-<a name="l00277"></a>00277 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><linestring_tag, nsphere_tag, R, C>
-<a name="l00278"></a>00278 {
-<a name="l00279"></a>00279 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(R <span class="keyword">const</span>& ln, C <span class="keyword">const</span>& c)
-<a name="l00280"></a>00280 {
-<a name="l00281"></a>00281 <span class="keywordflow">return</span> detail::within::range_in_circle(ln, c);
-<a name="l00282"></a>00282 }
-<a name="l00283"></a>00283 };
-<a name="l00284"></a>00284
-<a name="l00285"></a>00285 <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> C>
-<a name="l00286"></a>00286 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><ring_tag, nsphere_tag, R, C>
-<a name="l00287"></a>00287 {
-<a name="l00288"></a>00288 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(R <span class="keyword">const</span>& r, C <span class="keyword">const</span>& c)
-<a name="l00289"></a>00289 {
-<a name="l00290"></a>00290 <span class="keywordflow">return</span> detail::within::range_in_circle(r, c);
-<a name="l00291"></a>00291 }
-<a name="l00292"></a>00292 };
-<a name="l00293"></a>00293
-<a name="l00294"></a>00294 <span class="keyword">template</span> <<span class="keyword">typename</span> Y, <span class="keyword">typename</span> C>
-<a name="l00295"></a>00295 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><polygon_tag, nsphere_tag, Y, C>
-<a name="l00296"></a>00296 {
-<a name="l00297"></a>00297 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Y <span class="keyword">const</span>& poly, C <span class="keyword">const</span>& c)
-<a name="l00298"></a>00298 {
-<a name="l00299"></a>00299 <span class="keywordflow">return</span> detail::within::polygon_in_circle(poly, c);
-<a name="l00300"></a>00300 }
-<a name="l00301"></a>00301 };
-<a name="l00302"></a>00302
-<a name="l00303"></a>00303 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> R>
-<a name="l00304"></a>00304 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><point_tag, ring_tag, P, R>
+<a name="l00240"></a>00240 <span class="keyword">template</span> <<span class="keyword">typename</span> Box1, <span class="keyword">typename</span> Box2, <span class="keyword">typename</span> Strategy>
+<a name="l00241"></a>00241 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a><box_tag, box_tag, Box1, Box2, Strategy>
+<a name="l00242"></a>00242 : detail::<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>::box_in_box
+<a name="l00243"></a>00243 <
+<a name="l00244"></a>00244 Box1,
+<a name="l00245"></a>00245 Box2,
+<a name="l00246"></a>00246 Strategy,
+<a name="l00247"></a>00247 0,
+<a name="l00248"></a>00248 dimension<Box1>::type::value
+<a name="l00249"></a>00249 >
+<a name="l00250"></a>00250 {};
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253
+<a name="l00254"></a>00254 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy>
+<a name="l00255"></a>00255 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a><point_tag, ring_tag, Point, Ring, Strategy>
+<a name="l00256"></a>00256 : detail::<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>::point_in_ring
+<a name="l00257"></a>00257 <Point, Ring, Strategy>
+<a name="l00258"></a>00258 {};
+<a name="l00259"></a>00259
+<a name="l00260"></a>00260 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy>
+<a name="l00261"></a>00261 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a><point_tag, polygon_tag, Point, Polygon, Strategy>
+<a name="l00262"></a>00262 : detail::<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>::point_in_polygon
+<a name="l00263"></a>00263 <Point, Polygon, Strategy>
+<a name="l00264"></a>00264 {};
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266 } <span class="comment">// namespace dispatch</span>
+<a name="l00267"></a>00267 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00268"></a>00268 <span class="preprocessor"></span>
+<a name="l00269"></a>00269
+<a name="l00303"></a>00303 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2>
+<a name="l00304"></a><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d">00304</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>(Geometry1 <span class="keyword">const</span>& geometry1, Geometry2 <span class="keyword">const</span>& geometry2)
<a name="l00305"></a>00305 {
-<a name="l00306"></a>00306 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& p, R <span class="keyword">const</span>& r)
-<a name="l00307"></a>00307 {
-<a name="l00308"></a>00308 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<R>::type point_type;
-<a name="l00309"></a>00309 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_within
-<a name="l00310"></a>00310 <
-<a name="l00311"></a>00311 <span class="keyword">typename</span> cs_tag<P>::type,
-<a name="l00312"></a>00312 <span class="keyword">typename</span> cs_tag<point_type>::type,
-<a name="l00313"></a>00313 P,
-<a name="l00314"></a>00314 point_type
-<a name="l00315"></a>00315 >::type strategy_type;
-<a name="l00316"></a>00316
-<a name="l00317"></a>00317 <span class="keywordflow">return</span> detail::within::point_in_ring(p, r, strategy_type());
-<a name="l00318"></a>00318 }
-<a name="l00319"></a>00319 };
-<a name="l00320"></a>00320
-<a name="l00321"></a>00321 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> Y>
-<a name="l00322"></a>00322 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><point_tag, polygon_tag, P, Y>
-<a name="l00323"></a>00323 {
-<a name="l00324"></a>00324 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& point, Y <span class="keyword">const</span>& poly)
-<a name="l00325"></a>00325 {
-<a name="l00326"></a>00326 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Y>::type point_type;
-<a name="l00327"></a>00327 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_within
-<a name="l00328"></a>00328 <
-<a name="l00329"></a>00329 <span class="keyword">typename</span> cs_tag<P>::type,
-<a name="l00330"></a>00330 <span class="keyword">typename</span> cs_tag<point_type>::type,
-<a name="l00331"></a>00331 P,
-<a name="l00332"></a>00332 point_type
-<a name="l00333"></a>00333 >::type strategy_type;
-<a name="l00334"></a>00334
-<a name="l00335"></a>00335 <span class="keywordflow">return</span> detail::within::point_in_polygon(point, poly, strategy_type());
-<a name="l00336"></a>00336 }
-<a name="l00337"></a>00337
-<a name="l00338"></a>00338 <span class="keyword">template</span><<span class="keyword">typename</span> S>
-<a name="l00339"></a>00339 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& point, Y <span class="keyword">const</span>& poly, S <span class="keyword">const</span>& strategy)
-<a name="l00340"></a>00340 {
-<a name="l00341"></a>00341 <span class="keywordflow">return</span> detail::within::point_in_polygon(point, poly, strategy);
-<a name="l00342"></a>00342 }
-<a name="l00343"></a>00343 };
-<a name="l00344"></a>00344
-<a name="l00345"></a>00345 } <span class="comment">// namespace dispatch</span>
-<a name="l00346"></a>00346 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00347"></a>00347 <span class="preprocessor"></span>
-<a name="l00348"></a>00348
-<a name="l00376"></a>00376 <span class="keyword">template</span><<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
-<a name="l00377"></a><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">00377</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(G1 <span class="keyword">const</span>& geometry1, G2 <span class="keyword">const</span>& geometry2)
-<a name="l00378"></a>00378 {
-<a name="l00379"></a>00379 <span class="keyword">typedef</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">dispatch::within</a>
-<a name="l00380"></a>00380 <
-<a name="l00381"></a>00381 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G1>::type</a>,
-<a name="l00382"></a>00382 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G2>::type</a>,
-<a name="l00383"></a>00383 G1,
-<a name="l00384"></a>00384 G2
-<a name="l00385"></a>00385 > within_type;
-<a name="l00386"></a>00386
-<a name="l00387"></a>00387 <span class="keywordflow">return</span> within_type::apply(geometry1, geometry2);
-<a name="l00388"></a>00388 }
-<a name="l00389"></a>00389
-<a name="l00398"></a>00398 <span class="keyword">template</span><<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2, <span class="keyword">typename</span> S>
-<a name="l00399"></a><a class="code" href="group__boolean__relations.html#g3051574eadb5ef8ae92ef210665a7332">00399</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(G1 <span class="keyword">const</span>& geometry1, G2 <span class="keyword">const</span>& geometry2, S <span class="keyword">const</span>& strategy)
-<a name="l00400"></a>00400 {
-<a name="l00401"></a>00401 <span class="keyword">typedef</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">dispatch::within</a>
-<a name="l00402"></a>00402 <
-<a name="l00403"></a>00403 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G1>::type</a>,
-<a name="l00404"></a>00404 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G2>::type</a>,
-<a name="l00405"></a>00405 G1,
-<a name="l00406"></a>00406 G2
-<a name="l00407"></a>00407 > within_type;
-<a name="l00408"></a>00408
-<a name="l00409"></a>00409 <span class="keywordflow">return</span> within_type::apply(geometry1, geometry2, strategy);
-<a name="l00410"></a>00410 }
-<a name="l00411"></a>00411
-<a name="l00412"></a>00412 } <span class="comment">// namespace ggl</span>
-<a name="l00413"></a>00413
-<a name="l00414"></a>00414 <span class="preprocessor">#endif // GGL_ALGORITHMS_WITHIN_HPP</span>
+<a name="l00306"></a>00306 concept::check<const Geometry1>();
+<a name="l00307"></a>00307 concept::check<const Geometry2>();
+<a name="l00308"></a>00308
+<a name="l00309"></a>00309 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry1>::type</a> point_type1;
+<a name="l00310"></a>00310 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry2>::type</a> point_type2;
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__within.html" title="Traits class binding a within determination strategy to a coordinate system.">strategy_within</a>
+<a name="l00313"></a>00313 <
+<a name="l00314"></a>00314 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type1>::type</a>,
+<a name="l00315"></a>00315 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<point_type2>::type</a>,
+<a name="l00316"></a>00316 point_type1,
+<a name="l00317"></a>00317 point_type2
+<a name="l00318"></a>00318 >::type strategy_type;
+<a name="l00319"></a>00319
+<a name="l00320"></a>00320 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">dispatch::within</a>
+<a name="l00321"></a>00321 <
+<a name="l00322"></a>00322 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry1>::type</a>,
+<a name="l00323"></a>00323 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry2>::type</a>,
+<a name="l00324"></a>00324 Geometry1,
+<a name="l00325"></a>00325 Geometry2,
+<a name="l00326"></a>00326 strategy_type
+<a name="l00327"></a>00327 >::apply(geometry1, geometry2, strategy_type());
+<a name="l00328"></a>00328 }
+<a name="l00329"></a>00329
+<a name="l00339"></a>00339 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> Strategy>
+<a name="l00340"></a><a class="code" href="group__boolean__relations.html#g052af0474ab2dafcb875ce64a9361611">00340</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>(Geometry1 <span class="keyword">const</span>& geometry1, Geometry2 <span class="keyword">const</span>& geometry2,
+<a name="l00341"></a>00341 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00342"></a>00342 {
+<a name="l00343"></a>00343 <span class="comment">// Always assume a point-in-polygon strategy here.</span>
+<a name="l00344"></a>00344 <span class="comment">// Because for point-in-box, it makes no sense to specify one.</span>
+<a name="l00345"></a>00345 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">ggl::concept::WithinStrategy<Strategy></a>) );
+<a name="l00346"></a>00346
+<a name="l00347"></a>00347 concept::check<const Geometry1>();
+<a name="l00348"></a>00348 concept::check<const Geometry2>();
+<a name="l00349"></a>00349
+<a name="l00350"></a>00350 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">dispatch::within</a>
+<a name="l00351"></a>00351 <
+<a name="l00352"></a>00352 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry1>::type</a>,
+<a name="l00353"></a>00353 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry2>::type</a>,
+<a name="l00354"></a>00354 Geometry1,
+<a name="l00355"></a>00355 Geometry2,
+<a name="l00356"></a>00356 Strategy
+<a name="l00357"></a>00357 >::apply(geometry1, geometry2, strategy);
+<a name="l00358"></a>00358 }
+<a name="l00359"></a>00359
+<a name="l00360"></a>00360 } <span class="comment">// namespace ggl</span>
+<a name="l00361"></a>00361
+<a name="l00362"></a>00362 <span class="preprocessor">#endif // GGL_ALGORITHMS_WITHIN_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,23 +53,33 @@
<tr><td class="indexkey"><a class="el" href="structggl_1_1cartesian__tag.html">ggl::cartesian_tag</a></td><td class="indexvalue">Tag indicating Cartesian coordinate system family (cartesian,epsg) </td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1centroid__exception.html">ggl::centroid_exception</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator< Iterator ></a></td><td class="indexvalue">Iterator which goes circular through a range, starting at a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, ending at that <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box< B ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< B ></a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< L ></a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy< Strategy ></a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy< Strategy ></a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere< S ></a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< X ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< P ></a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< R ></a></td><td class="indexvalue">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< S ></a></td><td class="indexvalue">Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< L ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere< S ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point< X ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< Geometry ></a></td><td class="indexvalue">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append.html">ggl::concept::detail::check_append< Geometry, Point, UseStd ></a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">ggl::concept::detail::check_append< Geometry, Point, false ></a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">ggl::concept::detail::check_append< Geometry, Point, true ></a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear.html">ggl::concept::detail::check_clear< Geometry, UseStd ></a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">ggl::concept::detail::check_clear< Geometry, false ></a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">ggl::concept::detail::check_clear< Geometry, true ></a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1detail_1_1checker.html">ggl::concept::detail::checker< Geometry, IsConst ></a></td><td class="indexvalue">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere< S ></a></td><td class="indexvalue">Checks nsphere <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy< Strategy ></a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy< Strategy ></a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< P ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring< R ></a></td><td class="indexvalue">Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment< S ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring< Geometry ></a></td><td class="indexvalue">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment< Geometry ></a></td><td class="indexvalue">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy< Strategy ></a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy< Strategy ></a></td><td class="indexvalue">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon) </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system< G ></a></td><td class="indexvalue">Meta-function which defines coordinate system for any geometry </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type< G ></a></td><td class="indexvalue">Meta-function which defines coordinate type (int, float, double, etc) of any geometry </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1cs_1_1cartesian.html">ggl::cs::cartesian</a></td><td class="indexvalue">Cartesian coordinate system </td></tr>
@@ -104,8 +114,6 @@
<tr><td class="indexkey"><a class="el" href="structggl_1_1multi__point__tag.html">ggl::multi_point_tag</a></td><td class="indexvalue">OGC Multi <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon< P, V, A ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1multi__polygon__tag.html">ggl::multi_polygon_tag</a></td><td class="indexvalue">OGC Multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td class="indexvalue">Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1nsphere__tag.html">ggl::nsphere_tag</a></td><td class="indexvalue">Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1point.html">ggl::point< T, D, C ></a></td><td class="indexvalue">Basic <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> class, having coordinates defined in a neutral way </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1point__order.html">ggl::point_order< Geometry ></a></td><td class="indexvalue">Meta-function which defines <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of any geometry </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1point__tag.html">ggl::point_tag</a></td><td class="indexvalue">OGC Point identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
@@ -119,7 +127,6 @@
<tr><td class="indexkey"><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td class="indexvalue">The <b><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></b> contains an outer ring and zero or more inner rings </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1polygon__tag.html">ggl::polygon_tag</a></td><td class="indexvalue">OGC Polygon identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1radian.html">ggl::radian</a></td><td class="indexvalue">Unit of plan angles: radians </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1radius__type.html">ggl::radius_type< G ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1replace__point__type.html">ggl::replace_point_type< Geometry, NewPointType ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch< Geometry1, Geometry2 ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1ring__tag.html">ggl::ring_tag</a></td><td class="indexvalue">Convenience (linear) ring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
@@ -131,14 +138,15 @@
<tr><td class="indexkey"><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points< P ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator< Base, Point ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1segment__tag.html">ggl::segment_tag</a></td><td class="indexvalue">Convenience <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type< Point1, Point2, CalculationType ></a></td><td class="indexvalue">Utility selecting the "calculation" type </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type< T1, T2 ></a></td><td class="indexvalue">Utility selecting the most precise coordinate type of two geometries </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise< T1, T2 ></a></td><td class="indexvalue">Traits class to select, of two types, the most accurate type for calculations </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1single__tag.html">ggl::single_tag< Tag ></a></td><td class="indexvalue">Meta-function to get for a <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of a multi-geometry the <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a> of the corresponding single-geometry </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1spherical__tag.html">ggl::spherical_tag</a></td><td class="indexvalue">Tag indicating Spherical coordinate system family (spherical,celestial,...) </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess< P ></a></td><td class="indexvalue">Area calculation by spherical excess </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PS, CalculationType ></a></td><td class="indexvalue">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a></td><td class="indexvalue">Centroid calculation using algorith Bashein / Detmer </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995< PC, PS ></a></td><td class="indexvalue">Centroid calculation </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a></td><td class="indexvalue">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td><td class="indexvalue">Area calculation by spherical excess / Huiller's formula </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a></td><td class="indexvalue">Centroid calculation using algorith Bashein / Detmer </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian< P, D ></a></td><td class="indexvalue">Compare (in one direction) <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for cartesian coordinates </td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a></td><td class="indexvalue">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> calculation </td></tr>
@@ -177,8 +185,9 @@
<tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< P, PS ></a></td><td class="indexvalue">Within detection using cross counting </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< P, PS ></a></td><td class="indexvalue">Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a></td><td class="indexvalue">Within detection using cross counting, </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a></td><td class="indexvalue">Within detection using cross counting </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a></td><td class="indexvalue">Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area< T, P ></a></td><td class="indexvalue">Traits class binding an area <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid< T, P, PS ></a></td><td class="indexvalue">Traits class binding a centroid calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare< T, P, D ></a></td><td class="indexvalue">Traits class binding a comparing <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system </td></tr>
@@ -201,8 +210,8 @@
<tr><td class="indexkey"><a class="el" href="structggl_1_1topological__dimension.html">ggl::topological_dimension< Geometry ></a></td><td class="indexvalue">Meta-function returning the topological <a class="el" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> of a geometry </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access< Geometry, Dimension ></a></td><td class="indexvalue">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html">ggl::traits::access< ggl::detail::intersection::intersection_point< P >, Dimension ></a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point< G, P ></a></td><td class="indexvalue">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear< G ></a></td><td class="indexvalue">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point< Geometry, Point ></a></td><td class="indexvalue">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear< Geometry ></a></td><td class="indexvalue">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system< P ></a></td><td class="indexvalue">Traits class defining the coordinate system of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, important for <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> selection </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::coordinate_system< ggl::detail::intersection::intersection_point< P > ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">ggl::traits::coordinate_type< P ></a></td><td class="indexvalue">Traits class which indicate the coordinate type (double,float,...) of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </td></tr>
@@ -216,8 +225,6 @@
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1interior__type.html">ggl::traits::interior_type< G ></a></td><td class="indexvalue">Traits class indicating interior container type of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order< G ></a></td><td class="indexvalue">Traits class indicating the order of contained points within a ring or (multi)<a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, clockwise, counter clockwise or not known </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1point__type.html">ggl::traits::point_type< G ></a></td><td class="indexvalue">Traits class indicating the type of contained points </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1radius__access.html">ggl::traits::radius_access< G, T, D ></a></td><td class="indexvalue">Traits class to get/set radius of a circle/sphere/(ellipse) </td></tr>
- <tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1radius__type.html">ggl::traits::radius_type< G ></a></td><td class="indexvalue">Traits class indicating the type (double,float,...) of the radius of a circle or a sphere </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1ring__type.html">ggl::traits::ring_type< G ></a></td><td class="indexvalue">Traits class to indicate ring-type of a polygon's exterior ring/interior rings </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag< Geometry ></a></td><td class="indexvalue">Traits class to attach a <a class="el" href="structggl_1_1traits_1_1tag.html" title="Traits class to attach a tag to a geometry.">tag</a> to a geometry </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::tag< ggl::detail::intersection::intersection_point< P > ></a></td><td class="indexvalue"></td></tr>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -46,20 +46,14 @@
<p>
<a href="append_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point< G, P ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
-
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename RoP > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">ggl::append</a> (G &geometry, const RoP &range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename RoP > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909">ggl::append</a> (Geometry &geometry, RoP const &range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
</table>
</div>
<hr size="1">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,169 +54,159 @@
<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/range/functions.hpp></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept_check.hpp></span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="keyword">namespace </span>ggl
-<a name="l00023"></a>00023 {
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>traits
-<a name="l00026"></a>00026 {
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
<a name="l00027"></a>00027
-<a name="l00039"></a>00039 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> P>
-<a name="l00040"></a><a class="code" href="structggl_1_1traits_1_1append__point.html">00040</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1append__point.html" title="Traits class, optional, might be implemented to append a point.">append_point</a>
-<a name="l00041"></a>00041 {
-<a name="l00042"></a>00042 };
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 } <span class="comment">// namespace traits</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a> {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keywordtype">bool</span> UseStd>
+<a name="l00032"></a>00032 <span class="keyword">struct </span>append_point {};
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00035"></a>00035 <span class="keyword">struct </span>append_point<Geometry, Point, true>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry& geometry, Point <span class="keyword">const</span>& point, <span class="keywordtype">int</span> , <span class="keywordtype">int</span> )
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">typename</span> point_type<Geometry>::type point_type;
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(point, point_type);
+<a name="l00042"></a>00042 geometry.push_back(point_type);
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044 };
<a name="l00045"></a>00045
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a> {
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keywordtype">bool</span> Std>
-<a name="l00051"></a>00051 <span class="keyword">struct </span>append_point {};
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> P>
-<a name="l00054"></a>00054 <span class="keyword">struct </span>append_point<G, P, true>
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G& geometry, P <span class="keyword">const</span>& point, <span class="keywordtype">int</span> , <span class="keywordtype">int</span> )
-<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 <span class="keyword">typename</span> point_type<G>::type point_type;
+<a name="l00046"></a>00046 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00047"></a>00047 <span class="keyword">struct </span>append_point<Geometry, Point, false>
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry& geometry, Point <span class="keyword">const</span>& point, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 traits::append_point<Geometry, Point>::apply(geometry, point, ring_index, multi_index);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> UseStd>
+<a name="l00056"></a>00056 <span class="keyword">struct </span>append_range
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<Range>::type point_type;
<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(point, point_type);
-<a name="l00061"></a>00061 geometry.push_back(point_type);
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063 };
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> P>
-<a name="l00066"></a>00066 <span class="keyword">struct </span>append_point<G, P, false>
-<a name="l00067"></a>00067 {
-<a name="l00068"></a>00068 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G& geometry, P <span class="keyword">const</span>& point, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
-<a name="l00069"></a>00069 {
-<a name="l00070"></a>00070 traits::append_point<G, P>::apply(geometry, point, ring_index, multi_index);
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072 };
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> R, <span class="keywordtype">bool</span> Std>
-<a name="l00075"></a>00075 <span class="keyword">struct </span>append_range
-<a name="l00076"></a>00076 {
-<a name="l00077"></a>00077 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<R>::type point_type;
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G& geometry, R <span class="keyword">const</span>& range, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
-<a name="l00080"></a>00080 {
-<a name="l00081"></a>00081 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<R>::type it = boost::begin(range);
-<a name="l00082"></a>00082 it != boost::end(range); ++it)
-<a name="l00083"></a>00083 {
-<a name="l00084"></a>00084 append_point<G, point_type, Std>::apply(geometry, *it, ring_index, multi_index);
-<a name="l00085"></a>00085 }
-<a name="l00086"></a>00086 }
-<a name="l00087"></a>00087 };
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> T, <span class="keywordtype">bool</span> Std>
-<a name="l00090"></a>00090 <span class="keyword">struct </span>point_to_poly
-<a name="l00091"></a>00091 {
-<a name="l00092"></a>00092 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P>::type range_type;
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& polygon, T <span class="keyword">const</span>& point, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 boost::ignore_unused_variable_warning(multi_index);
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="keywordflow">if</span> (ring_index == -1)
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 append_point<range_type, T, Std>::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), point, -1, -1);
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ring_index < boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)))
-<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104 append_point<range_type, T, Std>::apply(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[ring_index], point, -1, -1);
-<a name="l00105"></a>00105 }
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107 };
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> R, <span class="keywordtype">bool</span> Std>
-<a name="l00110"></a>00110 <span class="keyword">struct </span>range_to_poly
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P>::type ring_type;
+<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry& geometry, Range <span class="keyword">const</span>& range, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<Range>::type it = boost::begin(range);
+<a name="l00063"></a>00063 it != boost::end(range); ++it)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 append_point<Geometry, point_type, UseStd>::apply(geometry, *it, ring_index, multi_index);
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keywordtype">bool</span> Std>
+<a name="l00071"></a>00071 <span class="keyword">struct </span>point_to_poly
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Polygon>::type range_type;
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon& polygon, Point <span class="keyword">const</span>& point, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> )
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (ring_index == -1)
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 append_point<range_type, Point, Std>::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), point, -1, -1);
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ring_index < boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)))
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 append_point<range_type, Point, Std>::apply(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[ring_index], point, -1, -1);
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086 };
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Range, <span class="keywordtype">bool</span> Std>
+<a name="l00089"></a>00089 <span class="keyword">struct </span>range_to_poly
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Polygon>::type ring_type;
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon& polygon, Range <span class="keyword">const</span>& range, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> )
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keywordflow">if</span> (ring_index == -1)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 append_range<ring_type, Range, Std>::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), range, -1, -1);
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ring_index < boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)))
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 append_range<ring_type, Range, Std>::apply(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[ring_index], range, -1, -1);
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104 };
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 }} <span class="comment">// namespace detail::append</span>
+<a name="l00107"></a>00107 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00108"></a>00108 <span class="preprocessor"></span>
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00112"></a>00112 {
<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& polygon, R <span class="keyword">const</span>& range, <span class="keywordtype">int</span> ring_index, <span class="keywordtype">int</span> multi_index)
-<a name="l00115"></a>00115 {
-<a name="l00116"></a>00116 <span class="keywordflow">if</span> (ring_index == -1)
-<a name="l00117"></a>00117 {
-<a name="l00118"></a>00118 append_range<ring_type, R, Std>::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon), range, -1, -1);
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ring_index < boost::size(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)))
-<a name="l00121"></a>00121 {
-<a name="l00122"></a>00122 append_range<ring_type, R, Std>::apply(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[ring_index], range, -1, -1);
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125 };
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 }} <span class="comment">// namespace detail::append</span>
-<a name="l00128"></a>00128 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00129"></a>00129 <span class="preprocessor"></span>
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00132"></a>00132 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00133"></a>00133 {
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="comment">// (RoP = range or point, Std = use std library)</span>
+<a name="l00114"></a>00114 <span class="comment">// (RoP = range or point, Std = use std library)</span>
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="comment">// Default case (where RoP will be range/array/etc)</span>
+<a name="l00117"></a>00117 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> G, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std>
+<a name="l00118"></a>00118 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a> : detail::<a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::append_range<G, RoP, Std> {};
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="comment">// Append a point to any geometry</span>
+<a name="l00121"></a>00121 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keywordtype">bool</span> Std>
+<a name="l00122"></a>00122 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><Tag, point_tag, G, P, Std>
+<a name="l00123"></a>00123 : detail::<a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::append_point<G, P, Std> {};
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="comment">// Never possible to append anything to a point/box/n-sphere</span>
+<a name="l00126"></a>00126 <span class="keyword">template</span> <<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> P, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std>
+<a name="l00127"></a>00127 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><point_tag, TagRoP, P, RoP, Std> {};
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="keyword">template</span> <<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> B, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std>
+<a name="l00130"></a>00130 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><box_tag, TagRoP, B, RoP, Std> {};
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> TAG_R, <span class="keyword">typename</span> R, <span class="keywordtype">bool</span> Std>
+<a name="l00134"></a>00134 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><polygon_tag, TAG_R, P, R, Std>
+<a name="l00135"></a>00135 : detail::<a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::range_to_poly<P, R, Std> {};
<a name="l00136"></a>00136
-<a name="l00137"></a>00137 <span class="comment">// Default case (where RoP will be range/array/etc)</span>
-<a name="l00138"></a>00138 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> G, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std>
-<a name="l00139"></a>00139 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a> : detail::<a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::append_range<G, RoP, Std> {};
+<a name="l00137"></a>00137 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> T, <span class="keywordtype">bool</span> Std>
+<a name="l00138"></a>00138 <span class="keyword">struct </span><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><polygon_tag, point_tag, P, T, Std>
+<a name="l00139"></a>00139 : detail::<a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::point_to_poly<P, T, Std> {};
<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="comment">// Append a point to any geometry</span>
-<a name="l00142"></a>00142 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keywordtype">bool</span> Std>
-<a name="l00143"></a>00143 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><Tag, point_tag, G, P, Std>
-<a name="l00144"></a>00144 : detail::<a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::append_point<G, P, Std> {};
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 <span class="comment">// Never possible to append anything to a point/box/n-sphere</span>
-<a name="l00147"></a>00147 <span class="keyword">template</span> <<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> P, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std>
-<a name="l00148"></a>00148 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><point_tag, TagRoP, P, RoP, Std> {};
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 <span class="keyword">template</span> <<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> B, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std>
-<a name="l00151"></a>00151 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><box_tag, TagRoP, B, RoP, Std> {};
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 <span class="keyword">template</span> <<span class="keyword">typename</span> TagRoP, <span class="keyword">typename</span> N, <span class="keyword">typename</span> RoP, <span class="keywordtype">bool</span> Std>
-<a name="l00154"></a>00154 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><nsphere_tag, TagRoP, N, RoP, Std> {};
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> TAG_R, <span class="keyword">typename</span> R, <span class="keywordtype">bool</span> Std>
-<a name="l00157"></a>00157 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><polygon_tag, TAG_R, P, R, Std>
-<a name="l00158"></a>00158 : detail::<a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::range_to_poly<P, R, Std> {};
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> T, <span class="keywordtype">bool</span> Std>
-<a name="l00161"></a>00161 <span class="keyword">struct </span><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a><polygon_tag, point_tag, P, T, Std>
-<a name="l00162"></a>00162 : detail::<a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>::point_to_poly<P, T, Std> {};
+<a name="l00141"></a>00141 <span class="comment">// Multi-linestring and multi-polygon might either implement traits or use standard...</span>
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 } <span class="comment">// namespace dispatch</span>
+<a name="l00144"></a>00144 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00145"></a>00145 <span class="preprocessor"></span>
+<a name="l00146"></a>00146
+<a name="l00156"></a>00156 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> RoP>
+<a name="l00157"></a><a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909">00157</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(Geometry& geometry, RoP <span class="keyword">const</span>& range_or_point,
+<a name="l00158"></a>00158 <span class="keywordtype">int</span> ring_index = -1, <span class="keywordtype">int</span> multi_index = 0)
+<a name="l00159"></a>00159 {
+<a name="l00160"></a>00160 concept::check<Geometry>();
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type ncg_type;
<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="comment">// Multi-linestring and multi-polygon might either implement traits or use standard...</span>
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 } <span class="comment">// namespace dispatch</span>
-<a name="l00167"></a>00167 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00168"></a>00168 <span class="preprocessor"></span>
-<a name="l00169"></a>00169
-<a name="l00179"></a>00179 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> RoP>
-<a name="l00180"></a><a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">00180</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(G& geometry, <span class="keyword">const</span> RoP& range_or_point,
-<a name="l00181"></a>00181 <span class="keywordtype">int</span> ring_index = -1, <span class="keywordtype">int</span> multi_index = 0)
-<a name="l00182"></a>00182 {
-<a name="l00183"></a>00183 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">dispatch::append</a>
-<a name="l00186"></a>00186 <
-<a name="l00187"></a>00187 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00188"></a>00188 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<RoP>::type</a>,
-<a name="l00189"></a>00189 ncg_type,
-<a name="l00190"></a>00190 RoP,
-<a name="l00191"></a>00191 <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std<ncg_type>::value</a>
-<a name="l00192"></a>00192 >::apply(geometry, range_or_point, ring_index, multi_index);
-<a name="l00193"></a>00193 }
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 } <span class="comment">// namespace ggl</span>
-<a name="l00196"></a>00196
-<a name="l00197"></a>00197 <span class="preprocessor">#endif // GGL_ALGORITHMS_APPEND_HPP</span>
+<a name="l00164"></a>00164 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">dispatch::append</a>
+<a name="l00165"></a>00165 <
+<a name="l00166"></a>00166 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00167"></a>00167 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<RoP>::type</a>,
+<a name="l00168"></a>00168 ncg_type,
+<a name="l00169"></a>00169 RoP,
+<a name="l00170"></a>00170 <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std<ncg_type>::value</a>
+<a name="l00171"></a>00171 >::apply(geometry, range_or_point, ring_index, multi_index);
+<a name="l00172"></a>00172 }
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 } <span class="comment">// namespace ggl</span>
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="preprocessor">#endif // GGL_ALGORITHMS_APPEND_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/area_by_triangles.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::area::by_triangles< PointOfSegment, CalculationType >::summation</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__by__triangles_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/area_by_triangles.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_AREA_BY_TRIANGLES_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_AREA_BY_TRIANGLES_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/type_traits.hpp></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 {
+<a name="l00022"></a><a class="code" href="namespaceggl_1_1strategy_1_1area.html">00022</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> {
+<a name="l00023"></a>00023
+<a name="l00029"></a>00029 <span class="keyword">template</span>
+<a name="l00030"></a>00030 <
+<a name="l00031"></a>00031 <span class="keyword">typename</span> PointOfSegment,
+<a name="l00032"></a>00032 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00033"></a>00033 >
+<a name="l00034"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">00034</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html" title="Strategy functor for area calculation on point_xy points.">by_triangles</a>
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keyword">public</span> :
+<a name="l00037"></a>00037 <span class="comment">// If user specified a calculation type, use that type,</span>
+<a name="l00038"></a>00038 <span class="comment">// whatever it is and whatever the point-type is.</span>
+<a name="l00039"></a>00039 <span class="comment">// Else, use the pointtype, but at least double</span>
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00041"></a>00041 boost::mpl::if_c
+<a name="l00042"></a>00042 <
+<a name="l00043"></a>00043 boost::is_void<CalculationType>::type::value,
+<a name="l00044"></a>00044 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00045"></a>00045 <
+<a name="l00046"></a>00046 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<PointOfSegment>::type</a>,
+<a name="l00047"></a>00047 <span class="keywordtype">double</span>
+<a name="l00048"></a>00048 >::type,
+<a name="l00049"></a>00049 CalculationType
+<a name="l00050"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">00050</a> >::type <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a>;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">private</span> :
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">class </span>summation
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html" title="Strategy functor for area calculation on point_xy points.">by_triangles</a>;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> sum;
+<a name="l00060"></a>00060 <span class="keyword">public</span> :
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">inline</span> summation() : sum(<a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a>())
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="comment">// Strategy supports only 2D areas</span>
+<a name="l00065"></a>00065 assert_dimension<PointOfSegment, 2>();
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>()<span class="keyword"> const</span>
+<a name="l00068"></a>00068 <span class="keyword"> </span>{
+<a name="l00069"></a>00069 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">result</a> = sum;
+<a name="l00070"></a>00070 result *= 0.5;
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> result;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073 };
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">public</span> :
+<a name="l00076"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">00076</a> <span class="keyword">typedef</span> summation <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a>;
+<a name="l00077"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">00077</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">segment_point_type</a>;
+<a name="l00078"></a>00078
+<a name="l00079"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#a2e7e0b22074af36a21925f73a583fb1">00079</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#a2e7e0b22074af36a21925f73a583fb1">init</a>()<span class="keyword"> const</span>
+<a name="l00080"></a>00080 <span class="keyword"> </span>{
+<a name="l00081"></a>00081 <span class="keywordflow">return</span> summation();
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083
+<a name="l00084"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">00084</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">apply</a>(PointOfSegment <span class="keyword">const</span>& p1,
+<a name="l00085"></a>00085 PointOfSegment <span class="keyword">const</span>& p2,
+<a name="l00086"></a>00086 summation& state)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="comment">// SUM += x2 * y1 - x1 * y2;</span>
+<a name="l00089"></a>00089 state.sum += get<0>(p2) * get<1>(p1) - get<0>(p1) * get<1>(p2);
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091
+<a name="l00092"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">00092</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">result</a>(summation <span class="keyword">const</span>& state)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keywordflow">return</span> state.area();
+<a name="l00095"></a>00095 }
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 };
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 }} <span class="comment">// namespace strategy::area</span>
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span>
+<a name="l00104"></a>00104 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00105"></a>00105 <span class="keyword">struct </span>strategy_area<cartesian_tag, Point>
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keyword">typedef</span> strategy::area::by_triangles<Point> <a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a>;
+<a name="l00108"></a>00108 };
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="preprocessor">#endif</span>
+<a name="l00111"></a>00111 <span class="preprocessor"></span>
+<a name="l00112"></a>00112 } <span class="comment">// namespace ggl</span>
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_AREA_BY_TRIANGLES_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/concepts/area_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy< Strategy ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::AreaStrategy< Strategy >::check_methods</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/concepts/area_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_AREA_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_AREA_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/concept_check.hpp></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00023"></a>00023 <span class="keyword">template</span> <<span class="keyword">typename</span> Strategy>
+<a name="l00024"></a><a class="code" href="classggl_1_1concept_1_1_area_strategy.html">00024</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_area_strategy.html" title="Checks strategy for area.">AreaStrategy</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="comment">// 1) must define state_type,</span>
+<a name="l00028"></a>00028 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::state_type state_type;
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">// 2) must define return_type,</span>
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type return_type;
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// 3) must define point_type, of polygon (segments)</span>
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::segment_point_type spoint_type;
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">struct </span>check_methods
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 Strategy <span class="keyword">const</span>* st;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="comment">// 4) must implement an init-method</span>
+<a name="l00043"></a>00043 state_type s = st->init();
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">// 5) must implement a static method apply with the following signature</span>
+<a name="l00046"></a>00046 spoint_type *sp;
+<a name="l00047"></a>00047 Strategy::apply(*sp, *sp, s);
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="comment">// 6) must implement a static method result with the following signature</span>
+<a name="l00050"></a>00050 return_type r = Strategy::result(s);
+<a name="l00051"></a>00051 boost::ignore_unused_variable_warning(r);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">public</span> :
+<a name="l00056"></a><a class="code" href="classggl_1_1concept_1_1_area_strategy.html#d50d5260c5b5aa679bad15cb05533994">00056</a> <a class="code" href="classggl_1_1concept_1_1_area_strategy.html#d50d5260c5b5aa679bad15cb05533994">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_area_strategy.html" title="Checks strategy for area.">AreaStrategy</a>)
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 check_methods::apply();
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_AREA_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/spherical/area_huiller.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Area calculation by spherical excess / Huiller's formula. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/area__huiller_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/spherical/area_huiller.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_SPHERICAL_AREA_HUILLER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_SPHERICAL_AREA_HUILLER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="distance__haversine_8hpp.html">ggl/strategies/spherical/distance_haversine.hpp</a>></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="radian__access_8hpp.html">ggl/core/radian_access.hpp</a>></span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a> {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00042"></a>00042 <span class="keyword">template</span>
+<a name="l00043"></a>00043 <
+<a name="l00044"></a>00044 <span class="keyword">typename</span> PointOfSegment,
+<a name="l00045"></a>00045 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00046"></a>00046 >
+<a name="l00047"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html">00047</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html" title="Area calculation by spherical excess / Huiller&#39;s formula.">huiller</a>
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">protected</span> :
+<a name="l00050"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">00050</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a>
+<a name="l00051"></a>00051 {
+<a name="l00052"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">00052</a> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a>;
+<a name="l00053"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">00053</a> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">radius</a>;
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="comment">// Distances are calculated on unit sphere here</span>
+<a name="l00056"></a>00056 <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html">strategy::distance::haversine<PointOfSegment, PointOfSegment></a>
+<a name="l00057"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">00057</a> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a>;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#d9e044246e82d4e5dbdfc81b40f3a960">00060</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#d9e044246e82d4e5dbdfc81b40f3a960">excess_sum</a>(<span class="keywordtype">double</span> sphere_radius = 1.0)
+<a name="l00061"></a>00061 : <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a>(0)
+<a name="l00062"></a>00062 , <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">radius</a>(sphere_radius)
+<a name="l00063"></a>00063 , <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a>(1)
+<a name="l00064"></a>00064 {}
+<a name="l00065"></a><a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#135c23662721d5d31e15702e48957329">00065</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#135c23662721d5d31e15702e48957329">area</a>()<span class="keyword"> const</span>
+<a name="l00066"></a>00066 <span class="keyword"> </span>{
+<a name="l00067"></a>00067 <span class="keywordflow">return</span> - <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a> * <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">radius</a> * <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">radius</a>;
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069 };
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">public</span> :
+<a name="l00072"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">00072</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a>;
+<a name="l00073"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">00073</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">segment_point_type</a>;
+<a name="l00074"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">00074</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">state_type</a>;
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">00076</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">huiller</a>(<span class="keywordtype">double</span> radius = 1.0)
+<a name="l00077"></a>00077 : m_radius(radius)
+<a name="l00078"></a>00078 {}
+<a name="l00079"></a>00079
+<a name="l00080"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#e9e1313791b55bc3036db4916c608061">00080</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">state_type</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#e9e1313791b55bc3036db4916c608061">init</a>()<span class="keyword"> const</span>
+<a name="l00081"></a>00081 <span class="keyword"> </span>{
+<a name="l00082"></a>00082 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a>(m_radius);
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084
+<a name="l00085"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#d22bbe66effda8c1fc1027ed0689547b">00085</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#d22bbe66effda8c1fc1027ed0689547b">apply</a>(PointOfSegment <span class="keyword">const</span>& p1,
+<a name="l00086"></a>00086 PointOfSegment <span class="keyword">const</span>& p2,
+<a name="l00087"></a>00087 <a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a>& state)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">if</span> (! <a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(get<0>(p1), get<0>(p2)))
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="comment">// Distance p1 p2</span>
+<a name="l00092"></a>00092 <span class="keywordtype">double</span> a = state.<a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a>(p1, p2);
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="comment">// Sides on unit sphere to south pole</span>
+<a name="l00095"></a>00095 <span class="keywordtype">double</span> b = 0.5 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">math::pi</a> - ggl::get_as_radian<1>(p2);
+<a name="l00096"></a>00096 <span class="keywordtype">double</span> c = 0.5 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">math::pi</a> - ggl::get_as_radian<1>(p1);
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="comment">// Semi parameter</span>
+<a name="l00099"></a>00099 <span class="keywordtype">double</span> s = 0.5 * (a + b + c);
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="comment">// E: spherical excess, using l'Huiller's formula</span>
+<a name="l00102"></a>00102 <span class="comment">// [tg(e / 4)]2 = tg[s / 2] tg[(s-a) / 2] tg[(s-b) / 2] tg[(s-c) / 2]</span>
+<a name="l00103"></a>00103 <span class="keywordtype">double</span> E = 4.0 * atan(sqrt(std::abs(tan(s / 2)
+<a name="l00104"></a>00104 * tan((s - a) / 2)
+<a name="l00105"></a>00105 * tan((s - b) / 2)
+<a name="l00106"></a>00106 * tan((s - c) / 2))));
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 E = std::abs(E);
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="comment">// In right direction: positive, add area. In left direction: negative, subtract area.</span>
+<a name="l00111"></a>00111 <span class="comment">// Longitude comparisons are not so obvious. If one is negative, other is positive,</span>
+<a name="l00112"></a>00112 <span class="comment">// we have to take the dateline into account.</span>
+<a name="l00113"></a>00113 <span class="comment">// TODO: check this / enhance this, should be more robust. See also the "grow" for ll</span>
+<a name="l00114"></a>00114 <span class="comment">// TODO: use minmax or "smaller"/"compare" strategy for this</span>
+<a name="l00115"></a>00115 <span class="keywordtype">double</span> lon1 = ggl::get_as_radian<0>(p1) < 0
+<a name="l00116"></a>00116 ? ggl::get_as_radian<0>(p1) + <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>
+<a name="l00117"></a>00117 : ggl::get_as_radian<0>(p1);
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keywordtype">double</span> lon2 = ggl::get_as_radian<0>(p2) < 0
+<a name="l00120"></a>00120 ? ggl::get_as_radian<0>(p2) + <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>
+<a name="l00121"></a>00121 : ggl::get_as_radian<0>(p2);
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keywordflow">if</span> (lon2 < lon1)
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 E = -E;
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 state.<a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a> += E;
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131
+<a name="l00132"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#28b1aa48766cdaa8272452e1b722cb58">00132</a> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1huiller.html#28b1aa48766cdaa8272452e1b722cb58">result</a>(<a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> <span class="keyword">const</span>& state)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 <span class="keywordflow">return</span> state.<a class="code" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#135c23662721d5d31e15702e48957329">area</a>();
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="keyword">private</span> :
+<a name="l00139"></a>00139 <span class="keywordtype">double</span> m_radius;
+<a name="l00140"></a>00140 };
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 }} <span class="comment">// namespace strategy::area</span>
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00148"></a>00148 <span class="preprocessor"></span>
+<a name="l00149"></a>00149 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00150"></a>00150 <span class="keyword">struct </span>strategy_area<spherical_tag, Point>
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="keyword">typedef</span> strategy::area::huiller<Point> <a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a>;
+<a name="l00153"></a>00153 };
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155 <span class="preprocessor">#endif</span>
+<a name="l00156"></a>00156 <span class="preprocessor"></span>
+<a name="l00157"></a>00157 } <span class="comment">// namespace ggl</span>
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 <span class="preprocessor">#endif // GGL_STRATEGIES_SPHERICAL_AREA_HUILLER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/arithmetic_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -57,7 +57,7 @@
<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="for__each__coordinate_8hpp.html">ggl/util/for_each_coordinate.hpp</a>></span>
<a name="l00020"></a>00020
<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl
@@ -81,7 +81,7 @@
<a name="l00043"></a>00043 {
<a name="l00044"></a>00044 C m_value;
<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keyword">inline</span> value_operation(<span class="keyword">const</span> C& value)
+<a name="l00046"></a>00046 <span class="keyword">inline</span> value_operation(C <span class="keyword">const</span> &value)
<a name="l00047"></a>00047 : m_value(value)
<a name="l00048"></a>00048 {}
<a name="l00049"></a>00049
@@ -98,7 +98,7 @@
<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<PointSrc>::type coordinate_type;
<a name="l00061"></a>00061 PointSrc <span class="keyword">const</span>& m_source_point;
<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="keyword">inline</span> point_operation(<span class="keyword">const</span> PointSrc& point)
+<a name="l00063"></a>00063 <span class="keyword">inline</span> point_operation(PointSrc <span class="keyword">const</span>& point)
<a name="l00064"></a>00064 : m_source_point(point)
<a name="l00065"></a>00065 {}
<a name="l00066"></a>00066
@@ -116,7 +116,7 @@
<a name="l00085"></a>00085 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
<a name="l00086"></a><a class="code" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">00086</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb" title="Adds a value to each coordinate of a point.">add_value</a>(Point& p, <span class="keyword">typename</span> detail::param<Point>::type value)
<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point></a>) );
+<a name="l00088"></a>00088 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point></a>) );
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p, detail::value_operation<<span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Point>::type</a>, std::plus>(value));
<a name="l00091"></a>00091 }
@@ -124,8 +124,8 @@
<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2>
<a name="l00102"></a><a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f">00102</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(Point1& p1, Point2 <span class="keyword">const</span>& p2)
<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point2></a>) );
-<a name="l00105"></a>00105 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Point2></a>) );
+<a name="l00104"></a>00104 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point2></a>) );
+<a name="l00105"></a>00105 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Point2></a>) );
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p1, detail::point_operation<Point2, std::plus>(p2));
<a name="l00108"></a>00108 }
@@ -133,7 +133,7 @@
<a name="l00117"></a>00117 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
<a name="l00118"></a><a class="code" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80">00118</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g4672200cc86d998c5b6a1106fb423d80" title="Subtracts a value to each coordinate of a point.">subtract_value</a>(Point& p, <span class="keyword">typename</span> detail::param<Point>::type value)
<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point></a>) );
+<a name="l00120"></a>00120 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point></a>) );
<a name="l00121"></a>00121
<a name="l00122"></a>00122 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p, detail::value_operation<<span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Point>::type</a>, std::minus>(value));
<a name="l00123"></a>00123 }
@@ -141,8 +141,8 @@
<a name="l00133"></a>00133 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2>
<a name="l00134"></a><a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9">00134</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(Point1& p1, Point2 <span class="keyword">const</span>& p2)
<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point2></a>) );
-<a name="l00137"></a>00137 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Point2></a>) );
+<a name="l00136"></a>00136 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point2></a>) );
+<a name="l00137"></a>00137 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Point2></a>) );
<a name="l00138"></a>00138
<a name="l00139"></a>00139 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p1, detail::point_operation<Point2, std::minus>(p2));
<a name="l00140"></a>00140 }
@@ -150,7 +150,7 @@
<a name="l00149"></a>00149 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
<a name="l00150"></a><a class="code" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d">00150</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d" title="Multiplies each coordinate of a point by a value.">multiply_value</a>(Point& p, <span class="keyword">typename</span> detail::param<Point>::type value)
<a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point></a>) );
+<a name="l00152"></a>00152 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point></a>) );
<a name="l00153"></a>00153
<a name="l00154"></a>00154 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p, detail::value_operation<<span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Point>::type</a>, std::multiplies>(value));
<a name="l00155"></a>00155 }
@@ -158,8 +158,8 @@
<a name="l00166"></a>00166 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2>
<a name="l00167"></a><a class="code" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1">00167</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1" title="Multiplies a point by another.">multiply_point</a>(Point1& p1, Point2 <span class="keyword">const</span>& p2)
<a name="l00168"></a>00168 {
-<a name="l00169"></a>00169 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point2></a>) );
-<a name="l00170"></a>00170 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Point2></a>) );
+<a name="l00169"></a>00169 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point2></a>) );
+<a name="l00170"></a>00170 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Point2></a>) );
<a name="l00171"></a>00171
<a name="l00172"></a>00172 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p1, detail::point_operation<Point2, std::multiplies>(p2));
<a name="l00173"></a>00173 }
@@ -167,7 +167,7 @@
<a name="l00182"></a>00182 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
<a name="l00183"></a><a class="code" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">00183</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8" title="Divides each coordinate of a point by a value.">divide_value</a>(Point& p, <span class="keyword">typename</span> detail::param<Point>::type value)
<a name="l00184"></a>00184 {
-<a name="l00185"></a>00185 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point></a>) );
+<a name="l00185"></a>00185 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point></a>) );
<a name="l00186"></a>00186
<a name="l00187"></a>00187 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p, detail::value_operation<<span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Point>::type</a>, std::divides>(value));
<a name="l00188"></a>00188 }
@@ -175,8 +175,8 @@
<a name="l00198"></a>00198 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2>
<a name="l00199"></a><a class="code" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8">00199</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8" title="Divides a point by another.">divide_point</a>(Point1& p1, Point2 <span class="keyword">const</span>& p2)
<a name="l00200"></a>00200 {
-<a name="l00201"></a>00201 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point2></a>) );
-<a name="l00202"></a>00202 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Point2></a>) );
+<a name="l00201"></a>00201 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point2></a>) );
+<a name="l00202"></a>00202 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Point2></a>) );
<a name="l00203"></a>00203
<a name="l00204"></a>00204 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p1, detail::point_operation<Point2, std::divides>(p2));
<a name="l00205"></a>00205 }
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -141,7 +141,7 @@
<a name="l00110"></a>00110 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
<a name="l00111"></a>00111 Geometry,
<a name="l00112"></a>00112 Range
-<a name="l00113"></a>00113 ><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(input);
+<a name="l00113"></a>00113 ><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">::get</a>(input);
<a name="l00114"></a>00114 }
<a name="l00115"></a>00115
<a name="l00116"></a>00116 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Geometry>
@@ -152,7 +152,7 @@
<a name="l00121"></a>00121 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
<a name="l00122"></a>00122 Geometry,
<a name="l00123"></a>00123 Range
-<a name="l00124"></a>00124 ><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(input);
+<a name="l00124"></a>00124 ><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">::get</a>(input);
<a name="l00125"></a>00125 }
<a name="l00126"></a>00126
<a name="l00127"></a>00127 } <span class="comment">// namespace ggl</span>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,38 +50,38 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename R > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge87a43e061a27e450e01f00c228ed472">ggl::assign</a> (G &geometry, R const &range)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename R > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gbc56bc60ddc721443ab1e0460dd40bda">ggl::assign</a> (Geometry &geometry, R const &range)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">ggl::assign</a> (G &geometry, T const &c1, T const &c2, T const &c3, T const &c4)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign center + radius to a sphere <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">ggl::assign</a> (G &geometry, T const &c1, T const &c2, T const &c3)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or the center + radius to a circle <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge58b5c7b493d0112202dc139af200c73">ggl::assign</a> (G &geometry, T const &c1, T const &c2)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign two values to a 2D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B , typename P > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">ggl::assign_box_corners</a> (B const &box, P &lower_left, P &lower_right, P &upper_left, P &upper_right)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign the 4 points of a 2D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">ggl::assign_inverse</a> (G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g0e5cdc21c975ed9e04db5a2ad7175895">ggl::assign</a> (Geometry &geometry, T const &c1, T const &c2, T const &c3, T const &c4)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign center + radius to a sphere [for extension] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga5796281b722f07af188cc8714003751">ggl::assign</a> (Geometry &geometry, T const &c1, T const &c2, T const &c3)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> [or the center + radius to a circle] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8">ggl::assign</a> (Geometry &geometry, T const &c1, T const &c2)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign two values to a 2D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Box , typename Point > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed">ggl::assign_box_corners</a> (Box const &box, Point &lower_left, Point &lower_right, Point &upper_left, Point &upper_right)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign the 4 points of a 2D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g490821bd25a63cc584be1319375794f0">ggl::assign_inverse</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> inverse infinite <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> inverse infinite <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t Corner, typename Box , typename Point > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156">ggl::assign_point_to_box</a> (Point const &point, Box &box)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with the value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">ggl::assign_zero</a> (G &geometry)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">ggl::assign_zero</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
</table>
</div>
<hr size="1">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -62,412 +62,381 @@
<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="radius_8hpp.html">ggl/core/radius.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="for__each__coordinate_8hpp.html">ggl/util/for_each_coordinate.hpp</a>></span>
-<a name="l00028"></a>00028
-<a name="l00052"></a>00052 <span class="keyword">namespace </span>ggl
-<a name="l00053"></a>00053 {
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a> {
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keyword">template</span> <<span class="keyword">typename</span> C>
-<a name="l00059"></a>00059 <span class="keyword">struct </span>assign_operation
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keyword">inline</span> assign_operation(C <span class="keyword">const</span>& value)
-<a name="l00062"></a>00062 : m_value(value)
-<a name="l00063"></a>00063 {}
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> I>
-<a name="l00066"></a>00066 <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& point)<span class="keyword"> const</span>
-<a name="l00067"></a>00067 <span class="keyword"> </span>{
-<a name="l00068"></a>00068 set<I>(point, m_value);
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="keyword">private</span>:
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>></span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="for__each__coordinate_8hpp.html">ggl/util/for_each_coordinate.hpp</a>></span>
+<a name="l00030"></a>00030
+<a name="l00054"></a>00054 <span class="keyword">namespace </span>ggl
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a> {
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">template</span> <<span class="keyword">typename</span> C>
+<a name="l00061"></a>00061 <span class="keyword">struct </span>assign_operation
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">inline</span> assign_operation(C <span class="keyword">const</span>& value)
+<a name="l00064"></a>00064 : m_value(value)
+<a name="l00065"></a>00065 {}
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> I>
+<a name="l00068"></a>00068 <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& point)<span class="keyword"> const</span>
+<a name="l00069"></a>00069 <span class="keyword"> </span>{
+<a name="l00070"></a>00070 set<I>(point, m_value);
+<a name="l00071"></a>00071 }
<a name="l00072"></a>00072
-<a name="l00073"></a>00073 C m_value;
-<a name="l00074"></a>00074 };
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076
-<a name="l00084"></a>00084 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00085"></a>00085 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_value(P& p, <span class="keyword">typename</span> coordinate_type<P>::type <span class="keyword">const</span>& value)
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p,
-<a name="l00088"></a>00088 assign_operation<<span class="keyword">typename</span> coordinate_type<P>::type>(value));
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091
+<a name="l00073"></a>00073 <span class="keyword">private</span>:
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 C m_value;
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00086"></a>00086 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
+<a name="l00087"></a>00087 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_value(P& p, <span class="keyword">typename</span> coordinate_type<P>::type <span class="keyword">const</span>& value)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(p,
+<a name="l00090"></a>00090 assign_operation<<span class="keyword">typename</span> coordinate_type<P>::type>(value));
+<a name="l00091"></a>00091 }
<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keyword">template</span> <<span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D>
-<a name="l00094"></a>00094 <span class="keyword">struct </span>initialize
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B& box, <span class="keyword">const</span> coordinate_type& value)
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 set<C, I>(box, value);
-<a name="l00101"></a>00101 initialize<B, C, I + 1, D>::apply(box, value);
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 };
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keyword">template</span> <<span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D>
-<a name="l00106"></a>00106 <span class="keyword">struct </span>initialize<B, C, D, D>
-<a name="l00107"></a>00107 {
-<a name="l00108"></a>00108 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B& box, <span class="keyword">const</span> coordinate_type& value)
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112 boost::ignore_unused_variable_warning(box);
-<a name="l00113"></a>00113 boost::ignore_unused_variable_warning(value);
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115 };
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00118"></a>00118 <span class="keyword">struct </span>assign_zero_point
-<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point& point)
-<a name="l00121"></a>00121 {
-<a name="l00122"></a>00122 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Point>::type coordinate_type;
-<a name="l00123"></a>00123 assign_value(point, 0);
-<a name="l00124"></a>00124 }
-<a name="l00125"></a>00125 };
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00129"></a>00129 <span class="keyword">struct </span>assign_inverse_box
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Box>::type point_type;
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
-<a name="l00134"></a>00134 {
-<a name="l00135"></a>00135 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<point_type>::type coordinate_type;
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 initialize
-<a name="l00138"></a>00138 <
-<a name="l00139"></a>00139 Box, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
-<a name="l00140"></a>00140 >::apply(
-<a name="l00141"></a>00141 box, boost::numeric::bounds<coordinate_type>::highest());
-<a name="l00142"></a>00142 initialize
-<a name="l00143"></a>00143 <
-<a name="l00144"></a>00144 Box, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
-<a name="l00145"></a>00145 >::apply(
-<a name="l00146"></a>00146 box, boost::numeric::bounds<coordinate_type>::lowest());
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148 };
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00151"></a>00151 <span class="keyword">struct </span>assign_zero_box
-<a name="l00152"></a>00152 {
-<a name="l00153"></a>00153 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
-<a name="l00154"></a>00154 {
-<a name="l00155"></a>00155 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Box>::type coordinate_type;
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 initialize
-<a name="l00158"></a>00158 <
-<a name="l00159"></a>00159 Box, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
-<a name="l00160"></a>00160 >::apply(box, coordinate_type());
-<a name="l00161"></a>00161 initialize
-<a name="l00162"></a>00162 <
-<a name="l00163"></a>00163 Box, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
-<a name="l00164"></a>00164 >::apply(box, coordinate_type());
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166 };
-<a name="l00167"></a>00167
-<a name="l00168"></a>00168
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">template</span> <<span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> D>
+<a name="l00096"></a>00096 <span class="keyword">struct </span>initialize
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B& box, <span class="keyword">const</span> coordinate_type& value)
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 set<C, I>(box, value);
+<a name="l00103"></a>00103 initialize<B, C, I + 1, D>::apply(box, value);
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keyword">template</span> <<span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D>
+<a name="l00108"></a>00108 <span class="keyword">struct </span>initialize<B, C, D, D>
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B& box, <span class="keyword">const</span> coordinate_type& value)
+<a name="l00113"></a>00113 {
+<a name="l00114"></a>00114 boost::ignore_unused_variable_warning(box);
+<a name="l00115"></a>00115 boost::ignore_unused_variable_warning(value);
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117 };
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00120"></a>00120 <span class="keyword">struct </span>assign_zero_point
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point& point)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Point>::type coordinate_type;
+<a name="l00125"></a>00125 assign_value(point, 0);
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127 };
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00131"></a>00131 <span class="keyword">struct </span>assign_inverse_box
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Box>::type point_type;
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<point_type>::type coordinate_type;
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 initialize
+<a name="l00140"></a>00140 <
+<a name="l00141"></a>00141 Box, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
+<a name="l00142"></a>00142 >::apply(
+<a name="l00143"></a>00143 box, boost::numeric::bounds<coordinate_type>::highest());
+<a name="l00144"></a>00144 initialize
+<a name="l00145"></a>00145 <
+<a name="l00146"></a>00146 Box, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
+<a name="l00147"></a>00147 >::apply(
+<a name="l00148"></a>00148 box, boost::numeric::bounds<coordinate_type>::lowest());
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150 };
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00153"></a>00153 <span class="keyword">struct </span>assign_zero_box
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box)
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Box>::type coordinate_type;
+<a name="l00158"></a>00158
+<a name="l00159"></a>00159 initialize
+<a name="l00160"></a>00160 <
+<a name="l00161"></a>00161 Box, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
+<a name="l00162"></a>00162 >::apply(box, coordinate_type());
+<a name="l00163"></a>00163 initialize
+<a name="l00164"></a>00164 <
+<a name="l00165"></a>00165 Box, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Box>::type::value</a>
+<a name="l00166"></a>00166 >::apply(box, coordinate_type());
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168 };
<a name="l00169"></a>00169
<a name="l00170"></a>00170
-<a name="l00171"></a>00171 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> C1, std::<span class="keywordtype">size_t</span> C2, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00172"></a>00172 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_box_2d_corner(Box <span class="keyword">const</span>& box, Point& point)
-<a name="l00173"></a>00173 {
-<a name="l00174"></a>00174 <span class="comment">// Be sure both are 2-Dimensional</span>
-<a name="l00175"></a>00175 assert_dimension<Box, 2>();
-<a name="l00176"></a>00176 assert_dimension<Point, 2>();
-<a name="l00177"></a>00177
-<a name="l00178"></a>00178 <span class="comment">// Copy coordinates</span>
-<a name="l00179"></a>00179 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Point>::type coordinate_type;
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 set<0>(point, boost::numeric_cast<coordinate_type>(get<C1, 0>(box)));
-<a name="l00182"></a>00182 set<1>(point, boost::numeric_cast<coordinate_type>(get<C2, 1>(box)));
-<a name="l00183"></a>00183 }
-<a name="l00184"></a>00184
-<a name="l00185"></a>00185
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> C1, std::<span class="keywordtype">size_t</span> C2, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00174"></a>00174 <span class="keyword">inline</span> <span class="keywordtype">void</span> assign_box_2d_corner(Box <span class="keyword">const</span>& box, Point& point)
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 <span class="comment">// Be sure both are 2-Dimensional</span>
+<a name="l00177"></a>00177 assert_dimension<Box, 2>();
+<a name="l00178"></a>00178 assert_dimension<Point, 2>();
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180 <span class="comment">// Copy coordinates</span>
+<a name="l00181"></a>00181 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Point>::type coordinate_type;
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 set<0>(point, boost::numeric_cast<coordinate_type>(get<C1, 0>(box)));
+<a name="l00184"></a>00184 set<1>(point, boost::numeric_cast<coordinate_type>(get<C2, 1>(box)));
+<a name="l00185"></a>00185 }
<a name="l00186"></a>00186
<a name="l00187"></a>00187
<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="keyword">template</span>
-<a name="l00190"></a>00190 <
-<a name="l00191"></a>00191 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
-<a name="l00192"></a>00192 std::size_t Corner,
-<a name="l00193"></a>00193 std::size_t Dimension, std::size_t Count
-<a name="l00194"></a>00194 >
-<a name="l00195"></a>00195 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">assign_point_to_box</a>
-<a name="l00196"></a>00196 {
-<a name="l00197"></a>00197 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Box>::type coordinate_type;
-<a name="l00198"></a>00198
-<a name="l00199"></a>00199 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>& point, Box& box)
-<a name="l00200"></a>00200 {
-<a name="l00201"></a>00201 ggl::set<Corner, Dimension>
-<a name="l00202"></a>00202 (
-<a name="l00203"></a>00203 box,
-<a name="l00204"></a>00204 boost::numeric_cast<coordinate_type>(ggl::get<Dimension>(point))
-<a name="l00205"></a>00205 );
-<a name="l00206"></a>00206
-<a name="l00207"></a>00207 <a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">assign_point_to_box</a>
-<a name="l00208"></a>00208 <
-<a name="l00209"></a>00209 Box, Point, Corner, Dimension + 1, Count
-<a name="l00210"></a>00210 >::apply(point, box);
-<a name="l00211"></a>00211 }
-<a name="l00212"></a>00212 };
-<a name="l00213"></a>00213
-<a name="l00214"></a>00214 <span class="keyword">template</span>
-<a name="l00215"></a>00215 <
-<a name="l00216"></a>00216 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
-<a name="l00217"></a>00217 std::size_t Corner,
-<a name="l00218"></a>00218 std::size_t Count
-<a name="l00219"></a>00219 >
-<a name="l00220"></a>00220 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">assign_point_to_box</a><Box, Point, Corner, Count, Count>
-<a name="l00221"></a>00221 {
-<a name="l00222"></a>00222 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>& point, Box& box)
-<a name="l00223"></a>00223 {
-<a name="l00224"></a>00224 }
-<a name="l00225"></a>00225 };
-<a name="l00226"></a>00226
-<a name="l00227"></a>00227
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="keyword">template</span>
+<a name="l00192"></a>00192 <
+<a name="l00193"></a>00193 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
+<a name="l00194"></a>00194 std::size_t Corner,
+<a name="l00195"></a>00195 std::size_t Dimension, std::size_t Count
+<a name="l00196"></a>00196 >
+<a name="l00197"></a>00197 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">assign_point_to_box</a>
+<a name="l00198"></a>00198 {
+<a name="l00199"></a>00199 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Box>::type coordinate_type;
+<a name="l00200"></a>00200
+<a name="l00201"></a>00201 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>& point, Box& box)
+<a name="l00202"></a>00202 {
+<a name="l00203"></a>00203 ggl::set<Corner, Dimension>
+<a name="l00204"></a>00204 (
+<a name="l00205"></a>00205 box,
+<a name="l00206"></a>00206 boost::numeric_cast<coordinate_type>(ggl::get<Dimension>(point))
+<a name="l00207"></a>00207 );
+<a name="l00208"></a>00208
+<a name="l00209"></a>00209 <a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">assign_point_to_box</a>
+<a name="l00210"></a>00210 <
+<a name="l00211"></a>00211 Box, Point, Corner, Dimension + 1, Count
+<a name="l00212"></a>00212 >::apply(point, box);
+<a name="l00213"></a>00213 }
+<a name="l00214"></a>00214 };
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="keyword">template</span>
+<a name="l00217"></a>00217 <
+<a name="l00218"></a>00218 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
+<a name="l00219"></a>00219 std::size_t Corner,
+<a name="l00220"></a>00220 std::size_t Count
+<a name="l00221"></a>00221 >
+<a name="l00222"></a>00222 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">assign_point_to_box</a><Box, Point, Corner, Count, Count>
+<a name="l00223"></a>00223 {
+<a name="l00224"></a>00224 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>& point, Box& box)
+<a name="l00225"></a>00225 {
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227 };
<a name="l00228"></a>00228
-<a name="l00229"></a>00229 }} <span class="comment">// namespace detail::assign</span>
-<a name="l00230"></a>00230 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00231"></a>00231 <span class="preprocessor"></span>
-<a name="l00232"></a>00232 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00233"></a>00233 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00234"></a>00234 {
-<a name="l00235"></a>00235
-<a name="l00236"></a>00236 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00237"></a>00237 <span class="keyword">struct </span><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a> {};
-<a name="l00238"></a>00238
-<a name="l00239"></a>00239 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00240"></a>00240 <span class="keyword">struct </span><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a><point_tag, P, 2>
-<a name="l00241"></a>00241 {
-<a name="l00242"></a>00242 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<P>::type coordinate_type;
-<a name="l00243"></a>00243
-<a name="l00244"></a>00244 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00245"></a>00245 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& point, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2)
-<a name="l00246"></a>00246 {
-<a name="l00247"></a>00247 set<0>(point, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00248"></a>00248 set<1>(point, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00249"></a>00249 }
-<a name="l00250"></a>00250 };
-<a name="l00251"></a>00251
-<a name="l00252"></a>00252 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00253"></a>00253 <span class="keyword">struct </span><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a><point_tag, P, 3>
-<a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<P>::type coordinate_type;
-<a name="l00256"></a>00256
-<a name="l00257"></a>00257 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00258"></a>00258 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& point, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3)
-<a name="l00259"></a>00259 {
-<a name="l00260"></a>00260 set<0>(point, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00261"></a>00261 set<1>(point, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00262"></a>00262 set<2>(point, boost::numeric_cast<coordinate_type>(c3));
-<a name="l00263"></a>00263 }
-<a name="l00264"></a>00264 };
-<a name="l00265"></a>00265
-<a name="l00266"></a>00266 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
-<a name="l00267"></a>00267 <span class="keyword">struct </span><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a><box_tag, B, 2>
-<a name="l00268"></a>00268 {
-<a name="l00269"></a>00269 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
-<a name="l00270"></a>00270
-<a name="l00271"></a>00271 <span class="comment">// Here we assign 4 coordinates to a box.</span>
-<a name="l00272"></a>00272 <span class="comment">// -> Most logical is: x1,y1,x2,y2</span>
-<a name="l00273"></a>00273 <span class="comment">// In case the user reverses x1/x2 or y1/y2, we could reverse them (THAT IS NOT IMPLEMENTED)</span>
-<a name="l00274"></a>00274
-<a name="l00275"></a>00275 <span class="comment">// Note also comment in util/assign_box_corner -></span>
-<a name="l00276"></a>00276 <span class="comment">// ("Most logical is LOWER, UPPER and sub-order LEFT, RIGHT")</span>
-<a name="l00277"></a>00277 <span class="comment">// (That is assigning 4 points from a box. So lower-left, lower-right, upper-left, upper-right)</span>
-<a name="l00278"></a>00278 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00279"></a>00279 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B& box, T <span class="keyword">const</span>& x1, T <span class="keyword">const</span>& y1, T <span class="keyword">const</span>& x2, T <span class="keyword">const</span>& y2)
-<a name="l00280"></a>00280 {
-<a name="l00281"></a>00281 set<min_corner, 0>(box, boost::numeric_cast<coordinate_type>(x1));
-<a name="l00282"></a>00282 set<min_corner, 1>(box, boost::numeric_cast<coordinate_type>(y1));
-<a name="l00283"></a>00283 set<max_corner, 0>(box, boost::numeric_cast<coordinate_type>(x2));
-<a name="l00284"></a>00284 set<max_corner, 1>(box, boost::numeric_cast<coordinate_type>(y2));
-<a name="l00285"></a>00285 }
-<a name="l00286"></a>00286 };
-<a name="l00287"></a>00287
-<a name="l00288"></a>00288
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 }} <span class="comment">// namespace detail::assign</span>
+<a name="l00232"></a>00232 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00233"></a>00233 <span class="preprocessor"></span>
+<a name="l00234"></a>00234 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00235"></a>00235 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00236"></a>00236 {
+<a name="l00237"></a>00237
+<a name="l00238"></a>00238 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00239"></a>00239 <span class="keyword">struct </span><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a> {};
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
+<a name="l00242"></a>00242 <span class="keyword">struct </span><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a><point_tag, P, 2>
+<a name="l00243"></a>00243 {
+<a name="l00244"></a>00244 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<P>::type coordinate_type;
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
+<a name="l00247"></a>00247 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& point, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2)
+<a name="l00248"></a>00248 {
+<a name="l00249"></a>00249 set<0>(point, boost::numeric_cast<coordinate_type>(c1));
+<a name="l00250"></a>00250 set<1>(point, boost::numeric_cast<coordinate_type>(c2));
+<a name="l00251"></a>00251 }
+<a name="l00252"></a>00252 };
+<a name="l00253"></a>00253
+<a name="l00254"></a>00254 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
+<a name="l00255"></a>00255 <span class="keyword">struct </span><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a><point_tag, P, 3>
+<a name="l00256"></a>00256 {
+<a name="l00257"></a>00257 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<P>::type coordinate_type;
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
+<a name="l00260"></a>00260 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& point, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3)
+<a name="l00261"></a>00261 {
+<a name="l00262"></a>00262 set<0>(point, boost::numeric_cast<coordinate_type>(c1));
+<a name="l00263"></a>00263 set<1>(point, boost::numeric_cast<coordinate_type>(c2));
+<a name="l00264"></a>00264 set<2>(point, boost::numeric_cast<coordinate_type>(c3));
+<a name="l00265"></a>00265 }
+<a name="l00266"></a>00266 };
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
+<a name="l00269"></a>00269 <span class="keyword">struct </span><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a><box_tag, B, 2>
+<a name="l00270"></a>00270 {
+<a name="l00271"></a>00271 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
+<a name="l00272"></a>00272
+<a name="l00273"></a>00273 <span class="comment">// Here we assign 4 coordinates to a box.</span>
+<a name="l00274"></a>00274 <span class="comment">// -> Most logical is: x1,y1,x2,y2</span>
+<a name="l00275"></a>00275 <span class="comment">// In case the user reverses x1/x2 or y1/y2, we could reverse them (THAT IS NOT IMPLEMENTED)</span>
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 <span class="comment">// Note also comment in util/assign_box_corner -></span>
+<a name="l00278"></a>00278 <span class="comment">// ("Most logical is LOWER, UPPER and sub-order LEFT, RIGHT")</span>
+<a name="l00279"></a>00279 <span class="comment">// (That is assigning 4 points from a box. So lower-left, lower-right, upper-left, upper-right)</span>
+<a name="l00280"></a>00280 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
+<a name="l00281"></a>00281 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B& box, T <span class="keyword">const</span>& x1, T <span class="keyword">const</span>& y1, T <span class="keyword">const</span>& x2, T <span class="keyword">const</span>& y2)
+<a name="l00282"></a>00282 {
+<a name="l00283"></a>00283 set<min_corner, 0>(box, boost::numeric_cast<coordinate_type>(x1));
+<a name="l00284"></a>00284 set<min_corner, 1>(box, boost::numeric_cast<coordinate_type>(y1));
+<a name="l00285"></a>00285 set<max_corner, 0>(box, boost::numeric_cast<coordinate_type>(x2));
+<a name="l00286"></a>00286 set<max_corner, 1>(box, boost::numeric_cast<coordinate_type>(y2));
+<a name="l00287"></a>00287 }
+<a name="l00288"></a>00288 };
<a name="l00289"></a>00289
<a name="l00290"></a>00290
<a name="l00291"></a>00291
-<a name="l00292"></a>00292 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00293"></a>00293 <span class="keyword">struct </span><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a><nsphere_tag, S, 2>
-<a name="l00294"></a>00294 {
-<a name="l00295"></a>00295 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<S>::type coordinate_type;
-<a name="l00296"></a>00296 <span class="keyword">typedef</span> <span class="keyword">typename</span> radius_type<S>::type radius_type;
-<a name="l00297"></a>00297
-<a name="l00299"></a>00299 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00300"></a>00300 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S& sphercle, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2)
-<a name="l00301"></a>00301 {
-<a name="l00302"></a>00302 set<0>(sphercle, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00303"></a>00303 set<1>(sphercle, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00304"></a>00304 }
+<a name="l00292"></a>00292 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
+<a name="l00293"></a>00293 <span class="keyword">struct </span><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a> {};
+<a name="l00294"></a>00294
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00297"></a>00297 <span class="keyword">struct </span><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a><point_tag, Point>
+<a name="l00298"></a>00298 : detail::<a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>::assign_zero_point<Point>
+<a name="l00299"></a>00299 {};
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00302"></a>00302 <span class="keyword">struct </span><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a><box_tag, Box>
+<a name="l00303"></a>00303 : detail::<a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>::assign_zero_box<Box>
+<a name="l00304"></a>00304 {};
<a name="l00305"></a>00305
-<a name="l00306"></a>00306 <span class="keyword">template</span> <<span class="keyword">typename</span> T, <span class="keyword">typename</span> R>
-<a name="l00307"></a>00307 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S& sphercle, T <span class="keyword">const</span>& c1,
-<a name="l00308"></a>00308 T <span class="keyword">const</span>& c2, R <span class="keyword">const</span>& radius)
-<a name="l00309"></a>00309 {
-<a name="l00310"></a>00310 set<0>(sphercle, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00311"></a>00311 set<1>(sphercle, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00312"></a>00312 set_radius<0>(sphercle, boost::numeric_cast<radius_type>(radius));
-<a name="l00313"></a>00313 }
-<a name="l00314"></a>00314 };
+<a name="l00306"></a>00306
+<a name="l00307"></a>00307 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
+<a name="l00308"></a>00308 <span class="keyword">struct </span><a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a> {};
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00311"></a>00311 <span class="keyword">struct </span><a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a><box_tag, Box>
+<a name="l00312"></a>00312 : detail::<a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>::assign_inverse_box<Box>
+<a name="l00313"></a>00313 {};
+<a name="l00314"></a>00314
<a name="l00315"></a>00315
-<a name="l00316"></a>00316 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00317"></a>00317 <span class="keyword">struct </span><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a><nsphere_tag, S, 3>
-<a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<S>::type coordinate_type;
-<a name="l00320"></a>00320 <span class="keyword">typedef</span> <span class="keyword">typename</span> radius_type<S>::type radius_type;
-<a name="l00321"></a>00321
-<a name="l00323"></a>00323 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00324"></a>00324 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S& sphercle, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3)
-<a name="l00325"></a>00325 {
-<a name="l00326"></a>00326 set<0>(sphercle, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00327"></a>00327 set<1>(sphercle, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00328"></a>00328 set<2>(sphercle, boost::numeric_cast<coordinate_type>(c3));
-<a name="l00329"></a>00329 }
-<a name="l00330"></a>00330
-<a name="l00332"></a>00332 <span class="keyword">template</span> <<span class="keyword">typename</span> T, <span class="keyword">typename</span> R>
-<a name="l00333"></a>00333 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(S& sphercle, T <span class="keyword">const</span>& c1,
-<a name="l00334"></a>00334 T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3, R <span class="keyword">const</span>& radius)
-<a name="l00335"></a>00335 {
+<a name="l00316"></a>00316 } <span class="comment">// namespace dispatch</span>
+<a name="l00317"></a>00317 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00318"></a>00318 <span class="preprocessor"></span>
+<a name="l00319"></a>00319
+<a name="l00324"></a>00324 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> T>
+<a name="l00325"></a><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8">00325</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(Geometry& geometry, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2)
+<a name="l00326"></a>00326 {
+<a name="l00327"></a>00327 concept::check<Geometry>();
+<a name="l00328"></a>00328
+<a name="l00329"></a>00329 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00330"></a>00330 <
+<a name="l00331"></a>00331 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00332"></a>00332 Geometry,
+<a name="l00333"></a>00333 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<Geometry>::type::value</a>
+<a name="l00334"></a>00334 >::apply(geometry, c1, c2);
+<a name="l00335"></a>00335 }
<a name="l00336"></a>00336
-<a name="l00337"></a>00337 set<0>(sphercle, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00338"></a>00338 set<1>(sphercle, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00339"></a>00339 set<2>(sphercle, boost::numeric_cast<coordinate_type>(c3));
-<a name="l00340"></a>00340 set_radius<0>(sphercle, boost::numeric_cast<radius_type>(radius));
-<a name="l00341"></a>00341 }
-<a name="l00342"></a>00342
-<a name="l00343"></a>00343 };
-<a name="l00344"></a>00344
+<a name="l00341"></a>00341 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> T>
+<a name="l00342"></a><a class="code" href="group__access.html#ga5796281b722f07af188cc8714003751">00342</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(Geometry& geometry, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3)
+<a name="l00343"></a>00343 {
+<a name="l00344"></a>00344 concept::check<Geometry>();
<a name="l00345"></a>00345
-<a name="l00346"></a>00346 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
-<a name="l00347"></a>00347 <span class="keyword">struct </span><a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">assign_zero</a> {};
-<a name="l00348"></a>00348
-<a name="l00349"></a>00349
-<a name="l00350"></a>00350 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00351"></a>00351 <span class="keyword">struct </span><a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">assign_zero</a><point_tag, Point>
-<a name="l00352"></a>00352 : detail::<a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>::assign_zero_point<Point>
-<a name="l00353"></a>00353 {};
-<a name="l00354"></a>00354
-<a name="l00355"></a>00355 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00356"></a>00356 <span class="keyword">struct </span><a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">assign_zero</a><box_tag, Box>
-<a name="l00357"></a>00357 : detail::<a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>::assign_zero_box<Box>
-<a name="l00358"></a>00358 {};
-<a name="l00359"></a>00359
-<a name="l00360"></a>00360
-<a name="l00361"></a>00361 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
-<a name="l00362"></a>00362 <span class="keyword">struct </span><a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">assign_inverse</a> {};
-<a name="l00363"></a>00363
-<a name="l00364"></a>00364 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00365"></a>00365 <span class="keyword">struct </span><a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">assign_inverse</a><box_tag, Box>
-<a name="l00366"></a>00366 : detail::<a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>::assign_inverse_box<Box>
-<a name="l00367"></a>00367 {};
-<a name="l00368"></a>00368
-<a name="l00369"></a>00369
-<a name="l00370"></a>00370 } <span class="comment">// namespace dispatch</span>
-<a name="l00371"></a>00371 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00372"></a>00372 <span class="preprocessor"></span>
-<a name="l00373"></a>00373
-<a name="l00378"></a>00378 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00379"></a><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73">00379</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(G& geometry, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2)
-<a name="l00380"></a>00380 {
-<a name="l00381"></a>00381 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00382"></a>00382 <
-<a name="l00383"></a>00383 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00384"></a>00384 G,
-<a name="l00385"></a>00385 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
-<a name="l00386"></a>00386 >::apply(geometry, c1, c2);
-<a name="l00387"></a>00387 }
-<a name="l00388"></a>00388
-<a name="l00393"></a>00393 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00394"></a><a class="code" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">00394</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(G& geometry, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3)
-<a name="l00395"></a>00395 {
-<a name="l00396"></a>00396 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00397"></a>00397 <
-<a name="l00398"></a>00398 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00399"></a>00399 G,
-<a name="l00400"></a>00400 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
-<a name="l00401"></a>00401 >::apply(geometry, c1, c2, c3);
-<a name="l00402"></a>00402 }
-<a name="l00403"></a>00403
-<a name="l00408"></a>00408 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00409"></a><a class="code" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">00409</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(G& geometry, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3, T <span class="keyword">const</span>& c4)
-<a name="l00410"></a>00410 {
-<a name="l00411"></a>00411 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00412"></a>00412 <
-<a name="l00413"></a>00413 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00414"></a>00414 G,
-<a name="l00415"></a>00415 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
-<a name="l00416"></a>00416 >::apply(geometry, c1, c2, c3, c4);
-<a name="l00417"></a>00417 }
-<a name="l00418"></a>00418
-<a name="l00419"></a>00419
-<a name="l00425"></a>00425 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> R>
-<a name="l00426"></a><a class="code" href="group__access.html#ge87a43e061a27e450e01f00c228ed472">00426</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(G& geometry, R <span class="keyword">const</span>& range)
-<a name="l00427"></a>00427 {
-<a name="l00428"></a>00428 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(geometry);
-<a name="l00429"></a>00429 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(geometry, range, -1, 0);
-<a name="l00430"></a>00430 }
-<a name="l00431"></a>00431
-<a name="l00432"></a>00432
-<a name="l00440"></a>00440 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00441"></a><a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">00441</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">assign_inverse</a>(G& geometry)
-<a name="l00442"></a>00442 {
-<a name="l00443"></a>00443 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">dispatch::assign_inverse</a>
-<a name="l00444"></a>00444 <
-<a name="l00445"></a>00445 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00446"></a>00446 G
-<a name="l00447"></a>00447 >::apply(geometry);
-<a name="l00448"></a>00448 }
-<a name="l00449"></a>00449
-<a name="l00456"></a>00456 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00457"></a><a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">00457</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">assign_zero</a>(G& geometry)
-<a name="l00458"></a>00458 {
-<a name="l00459"></a>00459 <a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">dispatch::assign_zero</a>
-<a name="l00460"></a>00460 <
-<a name="l00461"></a>00461 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00462"></a>00462 G
-<a name="l00463"></a>00463 >::apply(geometry);
-<a name="l00464"></a>00464 }
-<a name="l00465"></a>00465
+<a name="l00346"></a>00346 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00347"></a>00347 <
+<a name="l00348"></a>00348 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00349"></a>00349 Geometry,
+<a name="l00350"></a>00350 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<Geometry>::type::value</a>
+<a name="l00351"></a>00351 >::apply(geometry, c1, c2, c3);
+<a name="l00352"></a>00352 }
+<a name="l00353"></a>00353
+<a name="l00358"></a>00358 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> T>
+<a name="l00359"></a><a class="code" href="group__access.html#g0e5cdc21c975ed9e04db5a2ad7175895">00359</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(Geometry& geometry, T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3, T <span class="keyword">const</span>& c4)
+<a name="l00360"></a>00360 {
+<a name="l00361"></a>00361 concept::check<Geometry>();
+<a name="l00362"></a>00362
+<a name="l00363"></a>00363 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00364"></a>00364 <
+<a name="l00365"></a>00365 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00366"></a>00366 Geometry,
+<a name="l00367"></a>00367 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<Geometry>::type::value</a>
+<a name="l00368"></a>00368 >::apply(geometry, c1, c2, c3, c4);
+<a name="l00369"></a>00369 }
+<a name="l00370"></a>00370
+<a name="l00371"></a>00371
+<a name="l00377"></a>00377 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> R>
+<a name="l00378"></a><a class="code" href="group__access.html#gbc56bc60ddc721443ab1e0460dd40bda">00378</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(Geometry& geometry, R <span class="keyword">const</span>& range)
+<a name="l00379"></a>00379 {
+<a name="l00380"></a>00380 concept::check<Geometry>();
+<a name="l00381"></a>00381
+<a name="l00382"></a>00382 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(geometry);
+<a name="l00383"></a>00383 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(geometry, range, -1, 0);
+<a name="l00384"></a>00384 }
+<a name="l00385"></a>00385
+<a name="l00386"></a>00386
+<a name="l00394"></a>00394 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00395"></a><a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0">00395</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(Geometry& geometry)
+<a name="l00396"></a>00396 {
+<a name="l00397"></a>00397 concept::check<Geometry>();
+<a name="l00398"></a>00398
+<a name="l00399"></a>00399 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">dispatch::assign_inverse</a>
+<a name="l00400"></a>00400 <
+<a name="l00401"></a>00401 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00402"></a>00402 Geometry
+<a name="l00403"></a>00403 >::apply(geometry);
+<a name="l00404"></a>00404 }
+<a name="l00405"></a>00405
+<a name="l00412"></a>00412 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00413"></a><a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">00413</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a>(Geometry& geometry)
+<a name="l00414"></a>00414 {
+<a name="l00415"></a>00415 concept::check<Geometry>();
+<a name="l00416"></a>00416
+<a name="l00417"></a>00417 <a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">dispatch::assign_zero</a>
+<a name="l00418"></a>00418 <
+<a name="l00419"></a>00419 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00420"></a>00420 Geometry
+<a name="l00421"></a>00421 >::apply(geometry);
+<a name="l00422"></a>00422 }
+<a name="l00423"></a>00423
+<a name="l00424"></a>00424
+<a name="l00430"></a>00430 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00431"></a><a class="code" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed">00431</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(Box <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>,
+<a name="l00432"></a>00432 Point& lower_left, Point& lower_right,
+<a name="l00433"></a>00433 Point& upper_left, Point& upper_right)
+<a name="l00434"></a>00434 {
+<a name="l00435"></a>00435 concept::check<const Box>();
+<a name="l00436"></a>00436 concept::check<Point>();
+<a name="l00437"></a>00437
+<a name="l00438"></a>00438 detail::assign::assign_box_2d_corner<min_corner, min_corner>(box, lower_left);
+<a name="l00439"></a>00439 detail::assign::assign_box_2d_corner<max_corner, min_corner>(box, lower_right);
+<a name="l00440"></a>00440 detail::assign::assign_box_2d_corner<min_corner, max_corner>(box, upper_left);
+<a name="l00441"></a>00441 detail::assign::assign_box_2d_corner<max_corner, max_corner>(box, upper_right);
+<a name="l00442"></a>00442 }
+<a name="l00443"></a>00443
+<a name="l00444"></a>00444
+<a name="l00445"></a>00445
+<a name="l00451"></a>00451 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> Corner, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00452"></a><a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156">00452</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">assign_point_to_box</a>(Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, Box& <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>)
+<a name="l00453"></a>00453 {
+<a name="l00454"></a>00454 concept::check<const Point>();
+<a name="l00455"></a>00455 concept::check<Box>();
+<a name="l00456"></a>00456
+<a name="l00457"></a>00457 <a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">detail::assign::assign_point_to_box</a>
+<a name="l00458"></a>00458 <
+<a name="l00459"></a>00459 Box, Point, Corner, 0, <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<Box>::type::value</a>
+<a name="l00460"></a>00460 >::apply(point, box);
+<a name="l00461"></a>00461 }
+<a name="l00462"></a>00462
+<a name="l00463"></a>00463
+<a name="l00464"></a>00464
+<a name="l00465"></a>00465 } <span class="comment">// namespace ggl</span>
<a name="l00466"></a>00466
-<a name="l00472"></a>00472 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> P>
-<a name="l00473"></a><a class="code" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">00473</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(B <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, P& lower_left, P& lower_right, P& upper_left, P& upper_right)
-<a name="l00474"></a>00474 {
-<a name="l00475"></a>00475 detail::assign::assign_box_2d_corner<min_corner, min_corner>(box, lower_left);
-<a name="l00476"></a>00476 detail::assign::assign_box_2d_corner<max_corner, min_corner>(box, lower_right);
-<a name="l00477"></a>00477 detail::assign::assign_box_2d_corner<min_corner, max_corner>(box, upper_left);
-<a name="l00478"></a>00478 detail::assign::assign_box_2d_corner<max_corner, max_corner>(box, upper_right);
-<a name="l00479"></a>00479 }
-<a name="l00480"></a>00480
-<a name="l00481"></a>00481
-<a name="l00482"></a>00482
-<a name="l00488"></a>00488 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> Corner, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00489"></a><a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156">00489</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">assign_point_to_box</a>(Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, Box& <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>)
-<a name="l00490"></a>00490 {
-<a name="l00491"></a>00491 <a class="code" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156" title="Assign a box with the value of a point.">detail::assign::assign_point_to_box</a>
-<a name="l00492"></a>00492 <
-<a name="l00493"></a>00493 Box, Point, Corner, 0, <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<Box>::type::value</a>
-<a name="l00494"></a>00494 >::apply(point, box);
-<a name="l00495"></a>00495 }
-<a name="l00496"></a>00496
-<a name="l00497"></a>00497
-<a name="l00498"></a>00498
-<a name="l00499"></a>00499 } <span class="comment">// namespace ggl</span>
-<a name="l00500"></a>00500
-<a name="l00501"></a>00501 <span class="preprocessor">#endif // GGL_ALGORITHMS_ASSIGN_HPP</span>
+<a name="l00467"></a>00467 <span class="preprocessor">#endif // GGL_ALGORITHMS_ASSIGN_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,96 +53,98 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <cstddef></span>
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept/assert.hpp></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
-<a name="l00019"></a>00019 {
-<a name="l00020"></a>00020
-<a name="l00034"></a>00034 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00035"></a><a class="code" href="classggl_1_1box.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point></a>) );
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">public</span>:
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022
+<a name="l00036"></a>00036 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00037"></a><a class="code" href="classggl_1_1box.html">00037</a> <span class="keyword">class </span><a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point></a>) );
<a name="l00040"></a>00040
-<a name="l00041"></a><a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">00041</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>() {}
+<a name="l00041"></a>00041 <span class="keyword">public</span>:
<a name="l00042"></a>00042
-<a name="l00046"></a><a class="code" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">00046</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>(Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>, Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>)
-<a name="l00047"></a>00047 {
-<a name="l00048"></a>00048 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(min_corner, m_min_corner);
-<a name="l00049"></a>00049 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(max_corner, m_max_corner);
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00052"></a><a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">00052</a> <span class="keyword">inline</span> Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_min_corner; }
-<a name="l00053"></a><a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">00053</a> <span class="keyword">inline</span> Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_max_corner; }
-<a name="l00054"></a>00054
-<a name="l00055"></a><a class="code" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">00055</a> <span class="keyword">inline</span> Point& <a class="code" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner</a>() { <span class="keywordflow">return</span> m_min_corner; }
-<a name="l00056"></a><a class="code" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">00056</a> <span class="keyword">inline</span> Point& <a class="code" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner</a>() { <span class="keywordflow">return</span> m_max_corner; }
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keyword">private</span>:
+<a name="l00043"></a><a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">00043</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>() {}
+<a name="l00044"></a>00044
+<a name="l00048"></a><a class="code" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">00048</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">box</a>(Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>, Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(min_corner, m_min_corner);
+<a name="l00051"></a>00051 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(max_corner, m_max_corner);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a><a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">00054</a> <span class="keyword">inline</span> Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">min_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_min_corner; }
+<a name="l00055"></a><a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">00055</a> <span class="keyword">inline</span> Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">max_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_max_corner; }
+<a name="l00056"></a>00056
+<a name="l00057"></a><a class="code" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">00057</a> <span class="keyword">inline</span> Point& <a class="code" href="classggl_1_1box.html#9d91801e6fc859f6e4258800fd9e3c94">min_corner</a>() { <span class="keywordflow">return</span> m_min_corner; }
+<a name="l00058"></a><a class="code" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">00058</a> <span class="keyword">inline</span> Point& <a class="code" href="classggl_1_1box.html#dc5baf1c27a841e04907d274fd9b6c39">max_corner</a>() { <span class="keywordflow">return</span> m_max_corner; }
<a name="l00059"></a>00059
-<a name="l00060"></a>00060 Point m_min_corner;
-<a name="l00061"></a>00061 Point m_max_corner;
-<a name="l00062"></a>00062 };
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="comment">// Traits specializations for box above</span>
-<a name="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00071"></a>00071 <span class="keyword">struct </span>tag<box<Point> >
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <span class="keyword">typedef</span> box_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
-<a name="l00074"></a>00074 };
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00077"></a>00077 <span class="keyword">struct </span>point_type<box<Point> >
-<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 <span class="keyword">typedef</span> Point type;
-<a name="l00080"></a>00080 };
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension>
-<a name="l00083"></a>00083 <span class="keyword">struct </span>indexed_access<box<Point>, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, Dimension>
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type<Point>::type</a> coordinate_type;
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(box<Point> <span class="keyword">const</span>& b)
-<a name="l00088"></a>00088 {
-<a name="l00089"></a>00089 <span class="keywordflow">return</span> ggl::get<Dimension>(b.min_corner());
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box<Point>& b, coordinate_type <span class="keyword">const</span>& value)
-<a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 ggl::set<Dimension>(b.min_corner(), value);
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096 };
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension>
-<a name="l00099"></a>00099 <span class="keyword">struct </span>indexed_access<box<Point>, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, Dimension>
-<a name="l00100"></a>00100 {
-<a name="l00101"></a>00101 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type<Point>::type</a> coordinate_type;
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(box<Point> <span class="keyword">const</span>& b)
-<a name="l00104"></a>00104 {
-<a name="l00105"></a>00105 <span class="keywordflow">return</span> ggl::get<Dimension>(b.max_corner());
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box<Point>& b, coordinate_type <span class="keyword">const</span>& value)
-<a name="l00109"></a>00109 {
-<a name="l00110"></a>00110 ggl::set<Dimension>(b.max_corner(), value);
-<a name="l00111"></a>00111 }
-<a name="l00112"></a>00112 };
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 } <span class="comment">// namespace traits</span>
-<a name="l00115"></a>00115 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00116"></a>00116 <span class="preprocessor"></span>
-<a name="l00117"></a>00117 } <span class="comment">// namespace ggl</span>
-<a name="l00118"></a>00118
-<a name="l00119"></a>00119 <span class="preprocessor">#endif // GGL_GEOMETRIES_BOX_HPP</span>
+<a name="l00060"></a>00060 <span class="keyword">private</span>:
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 Point m_min_corner;
+<a name="l00063"></a>00063 Point m_max_corner;
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="comment">// Traits specializations for box above</span>
+<a name="l00068"></a>00068 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00073"></a>00073 <span class="keyword">struct </span>tag<box<Point> >
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> box_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00079"></a>00079 <span class="keyword">struct </span>point_type<box<Point> >
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> Point type;
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension>
+<a name="l00085"></a>00085 <span class="keyword">struct </span>indexed_access<box<Point>, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, Dimension>
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type<Point>::type</a> coordinate_type;
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(box<Point> <span class="keyword">const</span>& b)
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keywordflow">return</span> ggl::get<Dimension>(b.min_corner());
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box<Point>& b, coordinate_type <span class="keyword">const</span>& value)
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 ggl::set<Dimension>(b.min_corner(), value);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension>
+<a name="l00101"></a>00101 <span class="keyword">struct </span>indexed_access<box<Point>, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, Dimension>
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type<Point>::type</a> coordinate_type;
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type <span class="keyword">get</span>(box<Point> <span class="keyword">const</span>& b)
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 <span class="keywordflow">return</span> ggl::get<Dimension>(b.max_corner());
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(box<Point>& b, coordinate_type <span class="keyword">const</span>& value)
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 ggl::set<Dimension>(b.max_corner(), value);
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114 };
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 } <span class="comment">// namespace traits</span>
+<a name="l00117"></a>00117 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00118"></a>00118 <span class="preprocessor"></span>
+<a name="l00119"></a>00119 } <span class="comment">// namespace ggl</span>
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="preprocessor">#endif // GGL_GEOMETRIES_BOX_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -42,26 +42,24 @@
</div>
</div>
<div class="contents">
-<h1>ggl/core/concepts/box_concept.hpp File Reference</h1>
+<h1>ggl/geometries/concepts/box_concept.hpp File Reference</h1>
<p>
<a href="box__concept_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box< B ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Box< B >::dimension_checker< C, D, N ></b></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Box< Geometry >::dimension_checker< Index, Dimension, DimensionCount ></b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Box< B >::dimension_checker< C, N, N ></b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Box< Geometry >::dimension_checker< Index, DimensionCount, DimensionCount ></b></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< B ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstBox< B >::dimension_checker< C, D, N ></b></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstBox< Geometry >::dimension_checker< Index, Dimension, DimensionCount ></b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstBox< B >::dimension_checker< C, N, N ></b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstBox< Geometry >::dimension_checker< Index, DimensionCount, DimensionCount ></b></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -40,7 +40,7 @@
<li>File Members</li>
</ul>
</div>
-<h1>ggl/core/concepts/box_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<h1>ggl/geometries/concepts/box_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
@@ -49,92 +49,104 @@
<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009
-<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_BOX_CONCEPT_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_BOX_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_BOX_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_BOX_CONCEPT_HPP</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept_check.hpp></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <cstddef></span>
<a name="l00015"></a>00015
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021
-<a name="l00022"></a><a class="code" href="namespaceggl_1_1concept.html">00022</a> <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/concept_check.hpp></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
+<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
-<a name="l00029"></a>00029 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
-<a name="l00030"></a><a class="code" href="structggl_1_1concept_1_1_box.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a>
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <span class="keyword">private</span> :
-<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<B>::type</a> P;
-<a name="l00034"></a>00034
-<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N>
-<a name="l00037"></a>00037 <span class="keyword">struct </span>dimension_checker
-<a name="l00038"></a>00038 {
-<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041 B* b;
-<a name="l00042"></a>00042 ggl::set<C, D>(*b, ggl::get<C, D>(*b));
-<a name="l00043"></a>00043 dimension_checker<C, D + 1, N>::check();
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045 };
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> N>
-<a name="l00048"></a>00048 <span class="keyword">struct </span>dimension_checker<C, N, N>
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
-<a name="l00051"></a>00051 };
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keyword">public</span> :
-<a name="l00055"></a><a class="code" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">00055</a> <a class="code" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753" title="BCCL macro to check the Box concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a>)
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<B>::value</a>;
-<a name="l00058"></a>00058 dimension_checker<min_corner, 0, N>::check();
-<a name="l00059"></a>00059 dimension_checker<max_corner, 0, N>::check();
-<a name="l00060"></a>00060 }
-<a name="l00061"></a>00061 };
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063
-<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
-<a name="l00071"></a><a class="code" href="structggl_1_1concept_1_1_const_box.html">00071</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a>
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <span class="keyword">private</span> :
-<a name="l00074"></a>00074 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<B>::type</a> P;
-<a name="l00075"></a>00075 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<B>::type</a> T;
-<a name="l00076"></a>00076
-<a name="l00078"></a>00078 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N>
-<a name="l00079"></a>00079 <span class="keyword">struct </span>dimension_checker
-<a name="l00080"></a>00080 {
-<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="keyword">const</span> B* b = 0;
-<a name="l00084"></a>00084 T coord(ggl::get<C, D>(*b));
-<a name="l00085"></a>00085 boost::ignore_unused_variable_warning(coord);
-<a name="l00086"></a>00086 dimension_checker<C, D + 1, N>::check();
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088 };
-<a name="l00089"></a>00089
-<a name="l00090"></a>00090 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> N>
-<a name="l00091"></a>00091 <span class="keyword">struct </span>dimension_checker<C, N, N>
-<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
-<a name="l00094"></a>00094 };
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keyword">public</span> :
-<a name="l00098"></a><a class="code" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">00098</a> <a class="code" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f" title="BCCL macro to check the ConstBox concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a>)
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<B>::value</a>;
-<a name="l00101"></a>00101 dimension_checker<min_corner, 0, N>::check();
-<a name="l00102"></a>00102 dimension_checker<max_corner, 0, N>::check();
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104 };
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 }} <span class="comment">// namespace ggl::concept</span>
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_BOX_CONCEPT_HPP</span>
+<a name="l00025"></a><a class="code" href="namespaceggl_1_1concept.html">00025</a> <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00032"></a>00032 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00033"></a><a class="code" href="classggl_1_1concept_1_1_box.html">00033</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a>
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span>
+<a name="l00039"></a>00039 <
+<a name="l00040"></a>00040 std::size_t Index,
+<a name="l00041"></a>00041 std::size_t Dimension,
+<a name="l00042"></a>00042 std::size_t DimensionCount
+<a name="l00043"></a>00043 >
+<a name="l00044"></a>00044 <span class="keyword">struct </span>dimension_checker
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 Geometry* b;
+<a name="l00049"></a>00049 ggl::set<Index, Dimension>(*b, ggl::get<Index, Dimension>(*b));
+<a name="l00050"></a>00050 dimension_checker<Index, Dimension + 1, DimensionCount>::apply();
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 };
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00055"></a>00055 <span class="keyword">struct </span>dimension_checker<Index, DimensionCount, DimensionCount>
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">public</span> :
+<a name="l00061"></a><a class="code" href="classggl_1_1concept_1_1_box.html#6f151d280edf8aa4fb97d3935c9f69b3">00061</a> <a class="code" href="classggl_1_1concept_1_1_box.html#6f151d280edf8aa4fb97d3935c9f69b3">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a>)
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t n = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<Geometry>::type::value</a>;
+<a name="l00064"></a>00064 dimension_checker<min_corner, 0, n>::apply();
+<a name="l00065"></a>00065 dimension_checker<max_corner, 0, n>::apply();
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 };
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069
+<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00077"></a><a class="code" href="classggl_1_1concept_1_1_const_box.html">00077</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a>
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Geometry>::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keyword">template</span>
+<a name="l00083"></a>00083 <
+<a name="l00084"></a>00084 std::size_t Index,
+<a name="l00085"></a>00085 std::size_t Dimension,
+<a name="l00086"></a>00086 std::size_t DimensionCount
+<a name="l00087"></a>00087 >
+<a name="l00088"></a>00088 <span class="keyword">struct </span>dimension_checker
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">const</span> Geometry* b = 0;
+<a name="l00093"></a>00093 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> coord(ggl::get<Index, Dimension>(*b));
+<a name="l00094"></a>00094 boost::ignore_unused_variable_warning(coord);
+<a name="l00095"></a>00095 dimension_checker<Index, Dimension + 1, DimensionCount>::apply();
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 };
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00100"></a>00100 <span class="keyword">struct </span>dimension_checker<Index, DimensionCount, DimensionCount>
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keyword">public</span> :
+<a name="l00106"></a><a class="code" href="classggl_1_1concept_1_1_const_box.html#1b41babee5e102e7c55bb32792399690">00106</a> <a class="code" href="classggl_1_1concept_1_1_const_box.html#1b41babee5e102e7c55bb32792399690">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a>)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t n = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<Geometry>::type::value</a>;
+<a name="l00109"></a>00109 dimension_checker<min_corner, 0, n>::apply();
+<a name="l00110"></a>00110 dimension_checker<max_corner, 0, n>::apply();
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 };
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_BOX_CONCEPT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,13 +51,13 @@
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Input , typename Output , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">ggl::buffer</a> (const Input &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215">ggl::buffer</a> (Input const &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Output , typename Input , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">ggl::make_buffer</a> (const Input &geometry, T const &distance, T const &chord_length=-1)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g52451d11ee1f91fdbfbee86ae2dee993">ggl::make_buffer</a> (Input const &geometry, T const &distance, T const &chord_length=-1)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
</table>
</div>
<hr size="1">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -55,9 +55,9 @@
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="box__concept_8hpp.html">ggl/core/concepts/box_concept.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>></span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="comment">// Buffer functions</span>
<a name="l00021"></a>00021 <span class="comment">// Was before: "grow" but then only for box</span>
@@ -67,7 +67,7 @@
<a name="l00034"></a>00034 {
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63" title="Calculate buffer (= new geometry) around specified distance of geometry.">buffer</a> {
+<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215" title="Calculate buffer (= new geometry) around specified distance of geometry.">buffer</a> {
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="keyword">template</span> <<span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
<a name="l00040"></a>00040 <span class="keyword">struct </span>box_loop
@@ -107,11 +107,11 @@
<a name="l00074"></a>00074 {
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> TagIn, <span class="keyword">typename</span> TagOut, <span class="keyword">typename</span> Input, <span class="keyword">typename</span> T, <span class="keyword">typename</span> Output>
-<a name="l00077"></a>00077 <span class="keyword">struct </span><a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63" title="Calculate buffer (= new geometry) around specified distance of geometry.">buffer</a> {};
+<a name="l00077"></a>00077 <span class="keyword">struct </span><a class="code" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215" title="Calculate buffer (= new geometry) around specified distance of geometry.">buffer</a> {};
<a name="l00078"></a>00078
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keyword">template</span> <<span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> T, <span class="keyword">typename</span> BoxOut>
-<a name="l00081"></a>00081 <span class="keyword">struct </span><a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63" title="Calculate buffer (= new geometry) around specified distance of geometry.">buffer</a><box_tag, box_tag, BoxIn, T, BoxOut>
+<a name="l00081"></a>00081 <span class="keyword">struct </span><a class="code" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215" title="Calculate buffer (= new geometry) around specified distance of geometry.">buffer</a><box_tag, box_tag, BoxIn, T, BoxOut>
<a name="l00082"></a>00082 {
<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(BoxIn <span class="keyword">const</span>& box_in, T <span class="keyword">const</span>& <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>,
<a name="l00084"></a>00084 T <span class="keyword">const</span>& chord_length, BoxIn& box_out)
@@ -130,39 +130,45 @@
<a name="l00097"></a>00097 <span class="preprocessor"></span>
<a name="l00098"></a>00098
<a name="l00110"></a>00110 <span class="keyword">template</span> <<span class="keyword">typename</span> Input, <span class="keyword">typename</span> Output, <span class="keyword">typename</span> T>
-<a name="l00111"></a><a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">00111</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63" title="Calculate buffer (= new geometry) around specified distance of geometry.">buffer</a>(<span class="keyword">const</span> Input& geometry_in, Output& geometry_out,
+<a name="l00111"></a><a class="code" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215">00111</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215" title="Calculate buffer (= new geometry) around specified distance of geometry.">buffer</a>(Input <span class="keyword">const</span>& geometry_in, Output& geometry_out,
<a name="l00112"></a>00112 T <span class="keyword">const</span>& <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, T <span class="keyword">const</span>& chord_length = -1)
<a name="l00113"></a>00113 {
-<a name="l00114"></a>00114 <a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63" title="Calculate buffer (= new geometry) around specified distance of geometry.">dispatch::buffer</a>
-<a name="l00115"></a>00115 <
-<a name="l00116"></a>00116 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Input>::type</a>,
-<a name="l00117"></a>00117 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Output>::type</a>,
-<a name="l00118"></a>00118 Input,
-<a name="l00119"></a>00119 T,
-<a name="l00120"></a>00120 Output
-<a name="l00121"></a>00121 >::apply(geometry_in, distance, chord_length, geometry_out);
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123
-<a name="l00133"></a>00133 <span class="keyword">template</span> <<span class="keyword">typename</span> Output, <span class="keyword">typename</span> Input, <span class="keyword">typename</span> T>
-<a name="l00134"></a><a class="code" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">00134</a> Output <a class="code" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22" title="Calculate and return buffer (= new geometry) around specified distance of geometry...">make_buffer</a>(<span class="keyword">const</span> Input& geometry, T <span class="keyword">const</span>& <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, T <span class="keyword">const</span>& chord_length = -1)
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 Output geometry_out;
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63" title="Calculate buffer (= new geometry) around specified distance of geometry.">dispatch::buffer</a>
-<a name="l00139"></a>00139 <
-<a name="l00140"></a>00140 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Input>::type</a>,
-<a name="l00141"></a>00141 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Output>::type</a>,
-<a name="l00142"></a>00142 Input,
-<a name="l00143"></a>00143 T,
-<a name="l00144"></a>00144 Output
-<a name="l00145"></a>00145 >::apply(geometry, distance, chord_length, geometry_out);
-<a name="l00146"></a>00146
-<a name="l00147"></a>00147 <span class="keywordflow">return</span> geometry_out;
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 } <span class="comment">// namespace ggl</span>
-<a name="l00151"></a>00151
-<a name="l00152"></a>00152 <span class="preprocessor">#endif // GGL_ALGORITHMS_BUFFER_HPP</span>
+<a name="l00114"></a>00114 concept::check<const Input>();
+<a name="l00115"></a>00115 concept::check<Output>();
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <a class="code" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215" title="Calculate buffer (= new geometry) around specified distance of geometry.">dispatch::buffer</a>
+<a name="l00118"></a>00118 <
+<a name="l00119"></a>00119 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Input>::type</a>,
+<a name="l00120"></a>00120 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Output>::type</a>,
+<a name="l00121"></a>00121 Input,
+<a name="l00122"></a>00122 T,
+<a name="l00123"></a>00123 Output
+<a name="l00124"></a>00124 >::apply(geometry_in, distance, chord_length, geometry_out);
+<a name="l00125"></a>00125 }
+<a name="l00126"></a>00126
+<a name="l00136"></a>00136 <span class="keyword">template</span> <<span class="keyword">typename</span> Output, <span class="keyword">typename</span> Input, <span class="keyword">typename</span> T>
+<a name="l00137"></a><a class="code" href="group__buffer.html#g52451d11ee1f91fdbfbee86ae2dee993">00137</a> Output <a class="code" href="group__buffer.html#g52451d11ee1f91fdbfbee86ae2dee993" title="Calculate and return buffer (= new geometry) around specified distance of geometry...">make_buffer</a>(Input <span class="keyword">const</span>& geometry, T <span class="keyword">const</span>& <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, T <span class="keyword">const</span>& chord_length = -1)
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 concept::check<const Input>();
+<a name="l00140"></a>00140 concept::check<Output>();
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 Output geometry_out;
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <a class="code" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215" title="Calculate buffer (= new geometry) around specified distance of geometry.">dispatch::buffer</a>
+<a name="l00145"></a>00145 <
+<a name="l00146"></a>00146 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Input>::type</a>,
+<a name="l00147"></a>00147 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Output>::type</a>,
+<a name="l00148"></a>00148 Input,
+<a name="l00149"></a>00149 T,
+<a name="l00150"></a>00150 Output
+<a name="l00151"></a>00151 >::apply(geometry, distance, chord_length, geometry_out);
+<a name="l00152"></a>00152
+<a name="l00153"></a>00153 <span class="keywordflow">return</span> geometry_out;
+<a name="l00154"></a>00154 }
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 } <span class="comment">// namespace ggl</span>
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="preprocessor">#endif // GGL_ALGORITHMS_BUFFER_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c01__custom__point__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -130,8 +130,8 @@
my_array_point a1 = {{0}};
my_array_point a2 = {{0}};
- <a name="a6"></a><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(a1, 1, 2, 3);
- <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(a2, 3, 2, 1);
+ <a name="a6"></a><a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(a1, 1, 2, 3);
+ <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(a2, 3, 2, 1);
std::cout << <span class="stringliteral">"color distance "</span>
<< <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(a1) << <span class="stringliteral">" to "</span>
@@ -154,8 +154,8 @@
my_class_rw crw1;
my_class_rw crw2;
- <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(crw1, 1, 2);
- <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(crw2, 3, 4);
+ <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(crw1, 1, 2);
+ <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(crw2, 3, 4);
std::cout << <span class="stringliteral">"class r/w distance "</span>
<< <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(crw1) << <span class="stringliteral">" to "</span>
<< <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(crw2) << <span class="stringliteral">" is "</span>
@@ -163,8 +163,8 @@
my_class_gs cgs1;
my_class_gs cgs2;
- <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(cgs1, 1, 2);
- <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(cgs2, 3, 4);
+ <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(cgs1, 1, 2);
+ <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(cgs2, 3, 4);
std::cout << <span class="stringliteral">"class g/s distance "</span>
<< <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(crw1) << <span class="stringliteral">" to "</span>
<< <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(crw2) << <span class="stringliteral">" is "</span>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c02__custom__box__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -103,13 +103,13 @@
my_box_t<my_point> bt = ggl::make<my_box_t<my_point> >(0, 0, 5, 5);
std::cout << <a name="a4"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p) << <span class="stringliteral">" IN "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b)
- << <span class="stringliteral">" : "</span> << int(<a name="a5"></a><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, b)) << std::endl;
+ << <span class="stringliteral">" : "</span> << int(<a name="a5"></a><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(p, b)) << std::endl;
std::cout << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p) << <span class="stringliteral">" IN "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b1)
- << <span class="stringliteral">" : "</span> << int(<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, b1)) << std::endl;
+ << <span class="stringliteral">" : "</span> << int(<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(p, b1)) << std::endl;
std::cout << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p) << <span class="stringliteral">" IN "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(b4)
- << <span class="stringliteral">" : "</span> << int(<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, b4)) << std::endl;
+ << <span class="stringliteral">" : "</span> << int(<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(p, b4)) << std::endl;
std::cout << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p) << <span class="stringliteral">" IN "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(bt)
- << <span class="stringliteral">" : "</span> << int(<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, bt)) << std::endl;
+ << <span class="stringliteral">" : "</span> << int(<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(p, bt)) << std::endl;
<span class="keywordflow">return</span> 0;
}
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__a__custom__triangle__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -112,7 +112,7 @@
std::cout << <span class="stringliteral">"Area: "</span> << <a name="a2"></a><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">ggl::area</a>(t) << std::endl;
<a name="_a3"></a><a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy<double></a> c;
- <a name="a4"></a><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">ggl::centroid</a>(t, c);
+ <a name="a4"></a><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">ggl::centroid</a>(t, c);
std::cout << <span class="stringliteral">"Centroid: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(c) << std::endl;
<span class="keywordflow">return</span> 0;
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -100,7 +100,7 @@
<span class="comment">//ggl::point_xy<double> c;</span>
boost::tuple<double, double> c;
- <a name="a4"></a><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">ggl::centroid</a>(t, c);
+ <a name="a4"></a><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">ggl::centroid</a>(t, c);
std::cout << <span class="stringliteral">"Centroid: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(c) << std::endl;
<span class="keywordflow">return</span> 0;
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/strategies/cartesian/cart_area.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PS, CalculationType ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::area::by_triangles< PS, CalculationType >::summation</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a></td></tr>
-
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__area_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,160 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/strategies/cartesian/cart_area.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_AREA_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_AREA_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012
-<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/type_traits.hpp></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
-<a name="l00021"></a>00021 {
-<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
-<a name="l00023"></a>00023 {
-<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1area.html">00024</a> <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>
-<a name="l00025"></a>00025 {
-<a name="l00026"></a>00026
-<a name="l00034"></a>00034 <span class="keyword">template</span><<span class="keyword">typename</span> PS, <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>>
-<a name="l00035"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html" title="Strategy functor for area calculation on point_xy points.">by_triangles</a>
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <span class="keyword">public</span> :
-<a name="l00038"></a>00038 <span class="comment">// If user specified a calculation type, use that type,</span>
-<a name="l00039"></a>00039 <span class="comment">// whatever it is and whatever the point-type is.</span>
-<a name="l00040"></a>00040 <span class="comment">// Else, use the pointtype, but at least double</span>
-<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span>
-<a name="l00042"></a>00042 boost::mpl::if_c
-<a name="l00043"></a>00043 <
-<a name="l00044"></a>00044 boost::is_void<CalculationType>::type::value,
-<a name="l00045"></a>00045 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
-<a name="l00046"></a>00046 <
-<a name="l00047"></a>00047 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<PS>::type</a>,
-<a name="l00048"></a>00048 <span class="keywordtype">double</span>
-<a name="l00049"></a>00049 >::type,
-<a name="l00050"></a>00050 CalculationType
-<a name="l00051"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">00051</a> >::type <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a>;
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keyword">private</span> :
-<a name="l00055"></a>00055
-<a name="l00056"></a>00056 <span class="keyword">struct </span>summation
-<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> sum;
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="keyword">inline</span> summation() : sum(<a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a>())
-<a name="l00061"></a>00061 {
-<a name="l00062"></a>00062 <span class="comment">// Currently only 2D areas are supported</span>
-<a name="l00063"></a>00063 assert_dimension<PS, 2>();
-<a name="l00064"></a>00064 }
-<a name="l00065"></a>00065 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>()<span class="keyword"> const</span>
-<a name="l00066"></a>00066 <span class="keyword"> </span>{
-<a name="l00067"></a>00067 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> result = sum;
-<a name="l00068"></a>00068 result *= 0.5;
-<a name="l00069"></a>00069 <span class="keywordflow">return</span> result;
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071 };
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keyword">public</span> :
-<a name="l00074"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">00074</a> <span class="keyword">typedef</span> summation <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a>;
-<a name="l00075"></a>00075
-<a name="l00076"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">00076</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a> <span class="keyword">const</span>& s,
-<a name="l00077"></a>00077 <a class="code" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a>& state)<span class="keyword"> const</span>
-<a name="l00078"></a>00078 <span class="keyword"> </span>{
-<a name="l00079"></a>00079 <span class="comment">// SUM += x2 * y1 - x1 * y2;</span>
-<a name="l00080"></a>00080 state.sum += get<1, 0>(s) * get<0, 1>(s)
-<a name="l00081"></a>00081 - get<0, 0>(s) * get<1, 1>(s);
-<a name="l00082"></a>00082 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00083"></a>00083 }
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 };
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 } <span class="comment">// namespace area</span>
-<a name="l00088"></a>00088 } <span class="comment">// namespace strategy</span>
-<a name="l00089"></a>00089
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00093"></a>00093 <span class="keyword">struct </span>strategy_area<cartesian_tag, P>
-<a name="l00094"></a>00094 {
-<a name="l00095"></a>00095 <span class="keyword">typedef</span> strategy::area::by_triangles<P> <a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a>;
-<a name="l00096"></a>00096 };
-<a name="l00097"></a>00097 <span class="preprocessor">#endif</span>
-<a name="l00098"></a>00098 <span class="preprocessor"></span>
-<a name="l00099"></a>00099 } <span class="comment">// namespace ggl</span>
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_AREA_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/strategies/cartesian/cart_centroid.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Centroid calculation using algorith Bashein / Detmer. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType >::sums</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995< PC, PS ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Centroid calculation. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::centroid::geolib1995< PC, PS >::sums</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a></td></tr>
-
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__centroid_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,291 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/strategies/cartesian/cart_centroid.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_CENTROID_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_CENTROID_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012
-<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/type_traits.hpp></span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>strategy
-<a name="l00030"></a>00030 {
-<a name="l00031"></a><a class="code" href="namespaceggl_1_1strategy_1_1centroid.html">00031</a> <span class="keyword">namespace </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>
-<a name="l00032"></a>00032 {
-<a name="l00042"></a>00042 <span class="keyword">template</span><<span class="keyword">typename</span> PC, <span class="keyword">typename</span> PS = PC>
-<a name="l00043"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">00043</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html" title="Centroid calculation.">geolib1995</a>
-<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 <span class="keyword">private</span> :
-<a name="l00046"></a>00046 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
-<a name="l00047"></a>00047 <
-<a name="l00048"></a>00048 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type<PC, PS>::type</a>,
-<a name="l00049"></a>00049 <span class="keywordtype">double</span>
-<a name="l00050"></a>00050 >::type T;
-<a name="l00051"></a>00051
-<a name="l00053"></a>00053 <span class="keyword">struct </span>sums
-<a name="l00054"></a>00054 {
-<a name="l00055"></a>00055 PC sum_ms, sum_m;
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 sums()
-<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 assign_point(sum_m, T());
-<a name="l00060"></a>00060 assign_point(sum_ms, T());
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(PC& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>)
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 point = sum_ms;
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="keywordflow">if</span> (get<0>(sum_m) != 0 && get<1>(sum_m) != 0)
-<a name="l00067"></a>00067 {
-<a name="l00068"></a>00068 <a class="code" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d" title="Multiplies each coordinate of a point by a value.">multiply_value</a>(point, 0.5);
-<a name="l00069"></a>00069 <a class="code" href="group__arithmetic.html#g107f9a76ffac64805a1f0c93ce235da8" title="Divides a point by another.">divide_point</a>(point, sum_m);
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071 <span class="keywordflow">else</span>
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <span class="comment">// exception?</span>
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075 }
-<a name="l00076"></a>00076 };
-<a name="l00077"></a>00077
-<a name="l00078"></a>00078 <span class="keyword">public</span> :
-<a name="l00079"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">00079</a> <span class="keyword">typedef</span> sums <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a>;
-<a name="l00080"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">00080</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a>(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a>& s, <a class="code" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a>& state)<span class="keyword"> const</span>
-<a name="l00081"></a>00081 <span class="keyword"> </span>{
-<a name="l00082"></a>00082 <span class="comment">/* Algorithm:</span>
-<a name="l00083"></a>00083 <span class="comment"> For each segment:</span>
-<a name="l00084"></a>00084 <span class="comment"> begin</span>
-<a name="l00085"></a>00085 <span class="comment"> dx = x2 - x1;</span>
-<a name="l00086"></a>00086 <span class="comment"> dy = y2 - y1;</span>
-<a name="l00087"></a>00087 <span class="comment"> sx = x2 + x1;</span>
-<a name="l00088"></a>00088 <span class="comment"> sy = y2 + y1;</span>
-<a name="l00089"></a>00089 <span class="comment"> mx = dx * sy;</span>
-<a name="l00090"></a>00090 <span class="comment"> my = sx * dy;</span>
-<a name="l00091"></a>00091 <span class="comment"></span>
-<a name="l00092"></a>00092 <span class="comment"> sum_mx += mx;</span>
-<a name="l00093"></a>00093 <span class="comment"> sum_my += my;</span>
-<a name="l00094"></a>00094 <span class="comment"> sum_msx += mx * sx;</span>
-<a name="l00095"></a>00095 <span class="comment"> sum_msy += my * sy;</span>
-<a name="l00096"></a>00096 <span class="comment"> end;</span>
-<a name="l00097"></a>00097 <span class="comment"> return POINT(0.5 * sum_msx / sum_mx, 0.5 * sum_msy / sum_my);</span>
-<a name="l00098"></a>00098 <span class="comment"> */</span>
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 PS diff = s.<a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>, sum = s.<a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>;
-<a name="l00101"></a>00101 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(diff, s.<a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>);
-<a name="l00102"></a>00102 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(sum, s.<a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>);
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <span class="comment">// We might create an arithmatic operation for this.</span>
-<a name="l00105"></a>00105 PS m;
-<a name="l00106"></a>00106 get<0>(m) = get<0>(diff) * get<1>(sum);
-<a name="l00107"></a>00107 get<1>(m) = get<0>(sum) * get<1>(diff);
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(state.sum_m, m);
-<a name="l00110"></a>00110 <a class="code" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1" title="Multiplies a point by another.">multiply_point</a>(m, sum);
-<a name="l00111"></a>00111 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(state.sum_ms, m);
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116 };
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118
-<a name="l00174"></a>00174 <span class="keyword">template</span>
-<a name="l00175"></a>00175 <
-<a name="l00176"></a>00176 <span class="keyword">typename</span> CentroidPointType,
-<a name="l00177"></a>00177 <span class="keyword">typename</span> SegmentPointType = CentroidPointType,
-<a name="l00178"></a>00178 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
-<a name="l00179"></a>00179 >
-<a name="l00180"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">00180</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html" title="Centroid calculation using algorith Bashein / Detmer.">bashein_detmer</a>
-<a name="l00181"></a>00181 {
-<a name="l00182"></a>00182 <span class="keyword">private</span> :
-<a name="l00183"></a>00183 <span class="comment">// If user specified a calculation type, use that type,</span>
-<a name="l00184"></a>00184 <span class="comment">// whatever it is and whatever the point-type(s) are.</span>
-<a name="l00185"></a>00185 <span class="comment">// Else, use the most appropriate coordinate type</span>
-<a name="l00186"></a>00186 <span class="comment">// of the two points, but at least double</span>
-<a name="l00187"></a>00187 <span class="keyword">typedef</span> <span class="keyword">typename</span>
-<a name="l00188"></a>00188 boost::mpl::if_c
-<a name="l00189"></a>00189 <
-<a name="l00190"></a>00190 boost::is_void<CalculationType>::type::value,
-<a name="l00191"></a>00191 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
-<a name="l00192"></a>00192 <
-<a name="l00193"></a>00193 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
-<a name="l00194"></a>00194 <
-<a name="l00195"></a>00195 CentroidPointType,
-<a name="l00196"></a>00196 SegmentPointType
-<a name="l00197"></a>00197 >::type,
-<a name="l00198"></a>00198 <span class="keywordtype">double</span>
-<a name="l00199"></a>00199 >::type,
-<a name="l00200"></a>00200 CalculationType
-<a name="l00201"></a>00201 >::type calc_type;
-<a name="l00202"></a>00202
-<a name="l00204"></a>00204 <span class="keyword">struct </span>sums
-<a name="l00205"></a>00205 {
-<a name="l00206"></a>00206 calc_type sum_a2;
-<a name="l00207"></a>00207 calc_type sum_x;
-<a name="l00208"></a>00208 calc_type sum_y;
-<a name="l00209"></a>00209 <span class="keyword">inline</span> sums()
-<a name="l00210"></a>00210 : sum_a2(calc_type())
-<a name="l00211"></a>00211 , sum_x(calc_type())
-<a name="l00212"></a>00212 , sum_y(calc_type())
-<a name="l00213"></a>00213 {
-<a name="l00214"></a>00214 <span class="keyword">typedef</span> calc_type ct;
-<a name="l00215"></a>00215 <span class="comment">//std::cout << "-> calctype: " << typeid(ct).name()</span>
-<a name="l00216"></a>00216 <span class="comment">// << " size: " << sizeof(ct)</span>
-<a name="l00217"></a>00217 <span class="comment">// << " init: " << sum_a2</span>
-<a name="l00218"></a>00218 <span class="comment">// << std::endl;</span>
-<a name="l00219"></a>00219 }
-<a name="l00220"></a>00220
-<a name="l00221"></a>00221 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>(CentroidPointType& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>)
-<a name="l00222"></a>00222 {
-<a name="l00223"></a>00223 <span class="keywordflow">if</span> (sum_a2 != 0)
-<a name="l00224"></a>00224 {
-<a name="l00225"></a>00225 calc_type <span class="keyword">const</span> v3 = 3;
-<a name="l00226"></a>00226 calc_type <span class="keyword">const</span> a3 = v3 * sum_a2;
-<a name="l00227"></a>00227
-<a name="l00228"></a>00228 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type</a>
-<a name="l00229"></a>00229 <
-<a name="l00230"></a>00230 CentroidPointType
-<a name="l00231"></a>00231 >::type <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
-<a name="l00232"></a>00232
-<a name="l00233"></a>00233 set<0>(point,
-<a name="l00234"></a>00234 boost::numeric_cast<coordinate_type>(sum_x / a3));
-<a name="l00235"></a>00235 set<1>(point,
-<a name="l00236"></a>00236 boost::numeric_cast<coordinate_type>(sum_y / a3));
-<a name="l00237"></a>00237 }
-<a name="l00238"></a>00238 <span class="keywordflow">else</span>
-<a name="l00239"></a>00239 {
-<a name="l00240"></a>00240 <span class="comment">// exception?</span>
-<a name="l00241"></a>00241 }
-<a name="l00242"></a>00242 }
-<a name="l00243"></a>00243
-<a name="l00244"></a>00244 };
-<a name="l00245"></a>00245
-<a name="l00246"></a>00246 <span class="keyword">public</span> :
-<a name="l00247"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">00247</a> <span class="keyword">typedef</span> sums <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a>;
-<a name="l00248"></a>00248
-<a name="l00249"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">00249</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const SegmentPointType></a> <span class="keyword">const</span>& s, <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a>& state)<span class="keyword"> const</span>
-<a name="l00250"></a>00250 <span class="keyword"> </span>{
-<a name="l00251"></a>00251 <span class="comment">/* Algorithm:</span>
-<a name="l00252"></a>00252 <span class="comment"> For each segment:</span>
-<a name="l00253"></a>00253 <span class="comment"> begin</span>
-<a name="l00254"></a>00254 <span class="comment"> ai = x1 * y2 - x2 * y1;</span>
-<a name="l00255"></a>00255 <span class="comment"> sum_a2 += ai;</span>
-<a name="l00256"></a>00256 <span class="comment"> sum_x += ai * (x1 + x2);</span>
-<a name="l00257"></a>00257 <span class="comment"> sum_y += ai * (y1 + y2);</span>
-<a name="l00258"></a>00258 <span class="comment"> end</span>
-<a name="l00259"></a>00259 <span class="comment"> return POINT(sum_x / (3 * sum_a2), sum_y / (3 * sum_a2) )</span>
-<a name="l00260"></a>00260 <span class="comment"> */</span>
-<a name="l00261"></a>00261
-<a name="l00262"></a>00262 <span class="comment">// Get coordinates and promote them to calc_type</span>
-<a name="l00263"></a>00263 calc_type <span class="keyword">const</span> x1 = boost::numeric_cast<calc_type>(get<0, 0>(s));
-<a name="l00264"></a>00264 calc_type <span class="keyword">const</span> y1 = boost::numeric_cast<calc_type>(get<0, 1>(s));
-<a name="l00265"></a>00265 calc_type <span class="keyword">const</span> x2 = boost::numeric_cast<calc_type>(get<1, 0>(s));
-<a name="l00266"></a>00266 calc_type <span class="keyword">const</span> y2 = boost::numeric_cast<calc_type>(get<1, 1>(s));
-<a name="l00267"></a>00267 calc_type <span class="keyword">const</span> ai = x1 * y2 - x2 * y1;
-<a name="l00268"></a>00268 state.sum_a2 += ai;
-<a name="l00269"></a>00269 state.sum_x += ai * (x1 + x2);
-<a name="l00270"></a>00270 state.sum_y += ai * (y1 + y2);
-<a name="l00271"></a>00271
-<a name="l00272"></a>00272 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274
-<a name="l00275"></a>00275 };
-<a name="l00276"></a>00276 } <span class="comment">// namespace centroid</span>
-<a name="l00277"></a>00277
-<a name="l00278"></a>00278 } <span class="comment">// namespace strategy</span>
-<a name="l00279"></a>00279
-<a name="l00280"></a>00280
-<a name="l00281"></a>00281 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00282"></a>00282 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS>
-<a name="l00283"></a>00283 <span class="keyword">struct </span>strategy_centroid<cartesian_tag, P, PS>
-<a name="l00284"></a>00284 {
-<a name="l00285"></a>00285 <span class="keyword">typedef</span> strategy::centroid::bashein_detmer<P, PS> <a class="code" href="structggl_1_1strategy__centroid.html#d993b491319e39b70e4b52c2fd9f5dd6">type</a>;
-<a name="l00286"></a>00286 };
-<a name="l00287"></a>00287 <span class="preprocessor">#endif</span>
-<a name="l00288"></a>00288 <span class="preprocessor"></span>
-<a name="l00289"></a>00289 } <span class="comment">// namespace ggl</span>
-<a name="l00290"></a>00290
-<a name="l00291"></a>00291
-<a name="l00292"></a>00292 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_CENTROID_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -131,8 +131,8 @@
<a name="l00097"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">00097</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">return_type</a> <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">operator()</a>(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)<span class="keyword"> const</span>
<a name="l00098"></a>00098 <span class="keyword"> </span>{
<a name="l00099"></a>00099
-<a name="l00100"></a>00100 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P1></a>) );
-<a name="l00101"></a>00101 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P2></a>) );
+<a name="l00100"></a>00100 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P1></a>) );
+<a name="l00101"></a>00101 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P2></a>) );
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="comment">// Calculate distance using Pythagoras</span>
<a name="l00104"></a>00104 <span class="comment">// (Leave comment above for Doxygen)</span>
@@ -194,12 +194,12 @@
<a name="l00171"></a>00171
<a name="l00172"></a>00172 Strategy strategy;
<a name="l00173"></a>00173
-<a name="l00174"></a>00174 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> c1 = <a class="code" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556" title="Computes the dot product of 2 points.">dot_product</a>(w, v);
+<a name="l00174"></a>00174 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> c1 = <a class="code" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4" title="Computes the dot product of 2 points.">dot_product</a>(w, v);
<a name="l00175"></a>00175 <span class="keywordflow">if</span> (c1 <= 0)
<a name="l00176"></a>00176 {
<a name="l00177"></a>00177 <span class="keywordflow">return</span> strategy(p, s.first);
<a name="l00178"></a>00178 }
-<a name="l00179"></a>00179 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> c2 = <a class="code" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556" title="Computes the dot product of 2 points.">dot_product</a>(v, v);
+<a name="l00179"></a>00179 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> c2 = <a class="code" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4" title="Computes the dot product of 2 points.">dot_product</a>(v, v);
<a name="l00180"></a>00180 <span class="keywordflow">if</span> (c2 <= c1)
<a name="l00181"></a>00181 {
<a name="l00182"></a>00182 <span class="keywordflow">return</span> strategy(p, s.second);
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__envelope_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,59 +53,56 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="combine_8hpp.html">ggl/algorithms/combine.hpp</a>></span>
+<a name="l00015"></a>00015
<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="combine_8hpp.html">ggl/algorithms/combine.hpp</a>></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
-<a name="l00021"></a>00021 {
-<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
-<a name="l00023"></a>00023 {
-<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1envelope.html">00024</a> <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>
-<a name="l00025"></a>00025 {
-<a name="l00026"></a>00026 <span class="comment">// envelope calculation strategy for xy-points</span>
-<a name="l00027"></a>00027 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
-<a name="l00028"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a>
-<a name="l00029"></a>00029 {
-<a name="l00030"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a>
-<a name="l00031"></a>00031 {
-<a name="l00032"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">00032</a> B& <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>;
-<a name="l00033"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">00033</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">state</a>(B& <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>) : <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>(box)
-<a name="l00034"></a>00034 {
-<a name="l00035"></a>00035 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">assign_inverse</a>(<a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>);
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037 };
-<a name="l00038"></a>00038
-<a name="l00039"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">00039</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a>;
-<a name="l00040"></a>00040
-<a name="l00041"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">00041</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">operator()</a>(<span class="keyword">const</span> P& p, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a>& s)<span class="keyword"> const</span>
-<a name="l00042"></a>00042 <span class="keyword"> </span>{
-<a name="l00043"></a>00043 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(s.<a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>, p);
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045 };
-<a name="l00046"></a>00046 } <span class="comment">// namespace envelope</span>
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl
+<a name="l00018"></a>00018 {
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>strategy
+<a name="l00020"></a>00020 {
+<a name="l00021"></a><a class="code" href="namespaceggl_1_1strategy_1_1envelope.html">00021</a> <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023 <span class="comment">// envelope calculation strategy for xy-points</span>
+<a name="l00024"></a>00024 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
+<a name="l00025"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">00025</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a>
+<a name="l00026"></a>00026 {
+<a name="l00027"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">00027</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a>
+<a name="l00028"></a>00028 {
+<a name="l00029"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">00029</a> B& <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>;
+<a name="l00030"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">00030</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">state</a>(B& <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>) : <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>(box)
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">assign_inverse</a>(<a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>);
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 };
+<a name="l00035"></a>00035
+<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">00036</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a>;
+<a name="l00037"></a>00037
+<a name="l00038"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">00038</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">operator()</a>(<span class="keyword">const</span> P& p, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">state_type</a>& s)<span class="keyword"> const</span>
+<a name="l00039"></a>00039 <span class="keyword"> </span>{
+<a name="l00040"></a>00040 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">ggl::combine</a>(s.<a class="code" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#c86c9c655acae1615af90d9966d395ea">m_box</a>, p);
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043 } <span class="comment">// namespace envelope</span>
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 } <span class="comment">// namespace strategy</span>
+<a name="l00046"></a>00046
<a name="l00047"></a>00047
-<a name="l00048"></a>00048 } <span class="comment">// namespace strategy</span>
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
-<a name="l00054"></a>00054 <span class="keyword">struct </span>strategy_envelope<cartesian_tag, cartesian_tag, P, B>
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keyword">typedef</span> strategy::envelope::combine_xy<P, B> <a class="code" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">type</a>;
-<a name="l00057"></a>00057 };
-<a name="l00058"></a>00058
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
+<a name="l00051"></a>00051 <span class="keyword">struct </span>strategy_envelope<cartesian_tag, cartesian_tag, P, B>
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">typedef</span> strategy::envelope::combine_xy<P, B> <a class="code" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">type</a>;
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span>
<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
-<a name="l00061"></a>00061 <span class="preprocessor"></span>
+<a name="l00060"></a>00060 } <span class="comment">// namespace ggl</span>
+<a name="l00061"></a>00061
<a name="l00062"></a>00062
-<a name="l00063"></a>00063 } <span class="comment">// namespace ggl</span>
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_ENVELOPE_HPP</span>
+<a name="l00063"></a>00063 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_ENVELOPE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__side_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,64 +53,70 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="point__xy_8hpp.html">ggl/geometries/point_xy.hpp</a>></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
+<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
-<a name="l00022"></a>00022 {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>strategy
-<a name="l00024"></a>00024 {
-<a name="l00025"></a><a class="code" href="namespaceggl_1_1strategy_1_1side.html">00025</a> <span class="keyword">namespace </span>side
-<a name="l00026"></a>00026 {
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS>
-<a name="l00029"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</a>
-<a name="l00030"></a>00030 {
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>strategy
+<a name="l00023"></a>00023 {
+<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1side.html">00024</a> <span class="keyword">namespace </span>side
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS>
+<a name="l00028"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#fc00b4def4ecbec875fdcccbd03f9a6f">00030</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type<P, PS>::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="comment">// Check at which side of a segment a point lies:</span>
<a name="l00033"></a>00033 <span class="comment">// left of segment (> 0), right of segment (< 0), on segment (0)</span>
<a name="l00034"></a>00034 <span class="comment">// In fact this is twice the area of a triangle</span>
-<a name="l00035"></a>00035 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type<P, PS>::type</a>
-<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">00036</a> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a>& s, <span class="keyword">const</span> P& p)
+<a name="l00035"></a>00035 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>
+<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#3bfdcd774cb32a1e97a5b94a6f3b7f5b">00036</a> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#3bfdcd774cb32a1e97a5b94a6f3b7f5b">side</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a> <span class="keyword">const</span>& s, P <span class="keyword">const</span>& p)
<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type<P, PS>::type</a> T;
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="comment">// Todo: might be changed to subtract_point</span>
-<a name="l00041"></a>00041 T dx = get<1, 0>(s) - get<0, 0>(s);
-<a name="l00042"></a>00042 T dy = get<1, 1>(s) - get<0, 1>(s);
-<a name="l00043"></a>00043 T dpx = get<0>(p) - get<0, 0>(s);
-<a name="l00044"></a>00044 T dpy = get<1>(p) - get<0, 1>(s);
-<a name="l00045"></a>00045 <span class="keywordflow">return</span> dx * dpy - dy * dpx;
-<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048
-<a name="l00049"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#ef3dcea77c310bdd72a534539ef72edd">00049</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<span class="keyword">const</span> P& p0, <span class="keyword">const</span> P& p1, <span class="keyword">const</span> P& p2)
-<a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P>::type</a> s = <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const P></a>(p0, p1), p2);
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> s > 0 ? 1 : s < 0 ? -1 : 0;
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054 };
-<a name="l00055"></a>00055
-<a name="l00056"></a>00056 } <span class="comment">// namespace side</span>
-<a name="l00057"></a>00057 } <span class="comment">// namespace strategy</span>
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS>
-<a name="l00062"></a>00062 <span class="keyword">struct </span>strategy_side<cartesian_tag, P, PS>
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 <span class="keyword">typedef</span> strategy::side::xy_side<P, PS> <a class="code" href="structggl_1_1strategy__side.html#ff01de1fab8079a9387be65b1b925428">type</a>;
-<a name="l00065"></a>00065 };
-<a name="l00066"></a>00066 <span class="preprocessor">#endif</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span>
-<a name="l00068"></a>00068 } <span class="comment">// namespace ggl</span>
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_SIDE_HPP</span>
+<a name="l00038"></a>00038 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> x = get<0>(p);
+<a name="l00039"></a>00039 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> y = get<1>(p);
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> sx1 = get<0, 0>(s);
+<a name="l00042"></a>00042 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> sy1 = get<0, 1>(s);
+<a name="l00043"></a>00043 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> sx2 = get<1, 0>(s);
+<a name="l00044"></a>00044 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> <span class="keyword">const</span> sy2 = get<1, 1>(s);
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="comment">// Todo: might be changed to subtract_point</span>
+<a name="l00047"></a>00047 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dx = sx2 - sx1;
+<a name="l00048"></a>00048 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dy = sy2 - sy1;
+<a name="l00049"></a>00049 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dpx = x - sx1;
+<a name="l00050"></a>00050 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> dpy = y - sy1;
+<a name="l00051"></a>00051 <span class="keywordflow">return</span> dx * dpy - dy * dpx;
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054
+<a name="l00055"></a><a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#50f319e6cb75040a906468adcad6d1c9">00055</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#3bfdcd774cb32a1e97a5b94a6f3b7f5b">side</a>(PS <span class="keyword">const</span>& p0, PS <span class="keyword">const</span>& p1, P <span class="keyword">const</span>& p2)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> s = <a class="code" href="structggl_1_1strategy_1_1side_1_1xy__side.html#3bfdcd774cb32a1e97a5b94a6f3b7f5b">side</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a>(p0, p1), p2);
+<a name="l00058"></a>00058 <span class="keywordflow">return</span> s > 0 ? 1 : s < 0 ? -1 : 0;
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 } <span class="comment">// namespace side</span>
+<a name="l00063"></a>00063 } <span class="comment">// namespace strategy</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS>
+<a name="l00068"></a>00068 <span class="keyword">struct </span>strategy_side<cartesian_tag, P, PS>
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">typedef</span> strategy::side::xy_side<P, PS> <a class="code" href="structggl_1_1strategy__side.html#ff01de1fab8079a9387be65b1b925428">type</a>;
+<a name="l00071"></a>00071 };
+<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span>
+<a name="l00074"></a>00074 } <span class="comment">// namespace ggl</span>
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_SIDE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/strategies/cartesian/cart_within.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< P, PS ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using cross counting. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::franklin< P, PS >::crossings</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a></td></tr>
-
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__within_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,154 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/strategies/cartesian/cart_within.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_WITHIN_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_WITHIN_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
-<a name="l00019"></a>00019 {
-<a name="l00020"></a>00020 <span class="keyword">namespace </span>strategy
-<a name="l00021"></a>00021 {
-<a name="l00022"></a>00022 <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>
-<a name="l00023"></a>00023 {
-<a name="l00034"></a>00034 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> PS = P>
-<a name="l00035"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html" title="Within detection using cross counting.">franklin</a>
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <span class="keyword">private</span> :
-<a name="l00039"></a>00039 <span class="keyword">struct </span>crossings
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041 P p;
-<a name="l00042"></a>00042 <span class="keywordtype">bool</span> crosses;
-<a name="l00043"></a>00043 <span class="keyword">explicit</span> crossings(<span class="keyword">const</span> P& ap)
-<a name="l00044"></a>00044 : p(ap)
-<a name="l00045"></a>00045 , crosses(<span class="keyword">false</span>)
-<a name="l00046"></a>00046 {}
-<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>()<span class="keyword"> const</span>
-<a name="l00048"></a>00048 <span class="keyword"> </span>{
-<a name="l00049"></a>00049 <span class="keywordflow">return</span> crosses;
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051 };
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keyword">public</span> :
-<a name="l00054"></a>00054
-<a name="l00055"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">00055</a> <span class="keyword">typedef</span> crossings <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a>;
-<a name="l00056"></a>00056
-<a name="l00057"></a><a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">00057</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">operator()</a>(<span class="keyword">const</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const PS></a>& s, <a class="code" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a>& state)<span class="keyword"> const</span>
-<a name="l00058"></a>00058 <span class="keyword"> </span>{
-<a name="l00059"></a>00059 <span class="comment">/* Algorithm:</span>
-<a name="l00060"></a>00060 <span class="comment"> if (</span>
-<a name="l00061"></a>00061 <span class="comment"> ( (y2 <= py && py < y1)</span>
-<a name="l00062"></a>00062 <span class="comment"> || (y1 <= py && py < y2) )</span>
-<a name="l00063"></a>00063 <span class="comment"> && (px < (x1 - x2)</span>
-<a name="l00064"></a>00064 <span class="comment"> * (py - y2)</span>
-<a name="l00065"></a>00065 <span class="comment"> / (y1 - y2) + x2)</span>
-<a name="l00066"></a>00066 <span class="comment"> )</span>
-<a name="l00067"></a>00067 <span class="comment"> crosses = ! crosses</span>
-<a name="l00068"></a>00068 <span class="comment"> */</span>
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="keywordflow">if</span> (
-<a name="l00072"></a>00072 ((get<1, 1>(s) <= get<1>(state.p) && get<1>(state.p) < get<0, 1>(s))
-<a name="l00073"></a>00073 || (get<0, 1>(s) <= get<1>(state.p) && get<1>(state.p) < get<1, 1>(s)))
-<a name="l00074"></a>00074 && (get<0>(state.p) < (get<0, 0>(s) - get<1, 0>(s))
-<a name="l00075"></a>00075 * (get<1>(state.p) - get<1, 1>(s))
-<a name="l00076"></a>00076 / (get<0, 1>(s) - get<1, 1>(s)) + get<1, 0>(s))
-<a name="l00077"></a>00077 )
-<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 state.crosses = ! state.crosses;
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083 };
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 } <span class="comment">// namespace within</span>
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 } <span class="comment">// namespace strategy</span>
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 } <span class="comment">// namespace ggl</span>
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_WITHIN_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -52,8 +52,6 @@
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef box< point_2d > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">ggl::box_2d</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef nsphere< point_2d, double > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">ggl::circle</a></td></tr>
-
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef linestring< point_2d > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#bd8e114c665e6cc6ea48e2e716eeedc2">ggl::linestring_2d</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef point_xy< double, <br class="typebreak">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian2d_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -64,11 +64,10 @@
<a name="l00022"></a><a class="code" href="namespaceggl.html#9b5c5324bc541d70c4ba3451be8a3365">00022</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon<point_2d></a> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon_2d</a>;
<a name="l00023"></a><a class="code" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">00023</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box<point_2d></a> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_2d</a>;
<a name="l00024"></a><a class="code" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">00024</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<point_2d></a> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment_2d</a>;
-<a name="l00025"></a><a class="code" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">00025</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere<point_2d, double></a> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">circle</a>;
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 } <span class="comment">// namespace ggl</span>
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="preprocessor">#endif // GGL_GEOMETRIES_CARTESIAN2D_HPP</span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 } <span class="comment">// namespace ggl</span>
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="preprocessor">#endif // GGL_GEOMETRIES_CARTESIAN2D_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -61,8 +61,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef linear_ring< point_3d > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#fd5b225988bbf3d618978942a9e61b18">ggl::ring_3d</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef nsphere< point_3d, double > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">ggl::sphere</a></td></tr>
-
</table>
</div>
<hr size="1">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cartesian3d_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -63,11 +63,10 @@
<a name="l00021"></a><a class="code" href="namespaceggl.html#d83f4f521b6af4a82f6afb9af164305e">00021</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon<point_3d></a> <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon_3d</a>;
<a name="l00022"></a><a class="code" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">00022</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box<point_3d></a> <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box_3d</a>;
<a name="l00023"></a>00023
-<a name="l00024"></a><a class="code" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">00024</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere<point_3d, double></a> <a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">sphere</a>;
-<a name="l00025"></a>00025 }
+<a name="l00024"></a>00024 }
+<a name="l00025"></a>00025
<a name="l00026"></a>00026
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="preprocessor">#endif // GGL_CARTESIAN3D_HPP</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#endif // GGL_CARTESIAN3D_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/centroid_bashein_detmer.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Centroid calculation using algorith Bashein / Detmer. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType >::sums</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__bashein__detmer_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/centroid_bashein_detmer.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_CENTROID_BASHEIN_DETMER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_CENTROID_BASHEIN_DETMER_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/type_traits.hpp></span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a><a class="code" href="namespaceggl_1_1strategy_1_1centroid.html">00024</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a> {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00091"></a>00091 <span class="keyword">template</span>
+<a name="l00092"></a>00092 <
+<a name="l00093"></a>00093 <span class="keyword">typename</span> Point,
+<a name="l00094"></a>00094 <span class="keyword">typename</span> PointOfSegment = Point,
+<a name="l00095"></a>00095 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00096"></a>00096 >
+<a name="l00097"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">00097</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html" title="Centroid calculation using algorith Bashein / Detmer.">bashein_detmer</a>
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keyword">private</span> :
+<a name="l00100"></a>00100 <span class="comment">// If user specified a calculation type, use that type,</span>
+<a name="l00101"></a>00101 <span class="comment">// whatever it is and whatever the point-type(s) are.</span>
+<a name="l00102"></a>00102 <span class="comment">// Else, use the most appropriate coordinate type</span>
+<a name="l00103"></a>00103 <span class="comment">// of the two points, but at least double</span>
+<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00105"></a>00105 boost::mpl::if_c
+<a name="l00106"></a>00106 <
+<a name="l00107"></a>00107 boost::is_void<CalculationType>::type::value,
+<a name="l00108"></a>00108 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise</a>
+<a name="l00109"></a>00109 <
+<a name="l00110"></a>00110 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00111"></a>00111 <
+<a name="l00112"></a>00112 Point,
+<a name="l00113"></a>00113 PointOfSegment
+<a name="l00114"></a>00114 >::type,
+<a name="l00115"></a>00115 <span class="keywordtype">double</span>
+<a name="l00116"></a>00116 >::type,
+<a name="l00117"></a>00117 CalculationType
+<a name="l00118"></a>00118 >::type calculation_type;
+<a name="l00119"></a>00119
+<a name="l00121"></a>00121 <span class="keyword">class </span>sums
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html" title="Centroid calculation using algorith Bashein / Detmer.">bashein_detmer</a>;
+<a name="l00124"></a>00124 <span class="keywordtype">int</span> count;
+<a name="l00125"></a>00125 calculation_type sum_a2;
+<a name="l00126"></a>00126 calculation_type sum_x;
+<a name="l00127"></a>00127 calculation_type sum_y;
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="keyword">public</span> :
+<a name="l00130"></a>00130 <span class="keyword">inline</span> sums()
+<a name="l00131"></a>00131 : count(0)
+<a name="l00132"></a>00132 , sum_a2(calculation_type())
+<a name="l00133"></a>00133 , sum_x(calculation_type())
+<a name="l00134"></a>00134 , sum_y(calculation_type())
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="keyword">typedef</span> calculation_type ct;
+<a name="l00137"></a>00137 <span class="comment">//std::cout << "-> calctype: " << typeid(ct).name()</span>
+<a name="l00138"></a>00138 <span class="comment">// << " size: " << sizeof(ct)</span>
+<a name="l00139"></a>00139 <span class="comment">// << " init: " << sum_a2</span>
+<a name="l00140"></a>00140 <span class="comment">// << std::endl;</span>
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142 };
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="keyword">public</span> :
+<a name="l00145"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#64767add38e4bc164acbb78ae620b0d6">00145</a> <span class="keyword">typedef</span> sums <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#64767add38e4bc164acbb78ae620b0d6">state_type</a>;
+<a name="l00146"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c6e3759d94d2d67f964a720cc6cbcc7f">00146</a> <span class="keyword">typedef</span> Point <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00147"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#866f5cb46f21a2303db08eca59174d3a">00147</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#866f5cb46f21a2303db08eca59174d3a">segment_point_type</a>;
+<a name="l00148"></a>00148
+<a name="l00149"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#7c1beca9bdd8bed9867a54bb938e45a5">00149</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#7c1beca9bdd8bed9867a54bb938e45a5">apply</a>(PointOfSegment <span class="keyword">const</span>& p1,
+<a name="l00150"></a>00150 PointOfSegment <span class="keyword">const</span>& p2, sums& state)
+<a name="l00151"></a>00151 {
+<a name="l00152"></a>00152 <span class="comment">/* Algorithm:</span>
+<a name="l00153"></a>00153 <span class="comment"> For each segment:</span>
+<a name="l00154"></a>00154 <span class="comment"> begin</span>
+<a name="l00155"></a>00155 <span class="comment"> ai = x1 * y2 - x2 * y1;</span>
+<a name="l00156"></a>00156 <span class="comment"> sum_a2 += ai;</span>
+<a name="l00157"></a>00157 <span class="comment"> sum_x += ai * (x1 + x2);</span>
+<a name="l00158"></a>00158 <span class="comment"> sum_y += ai * (y1 + y2);</span>
+<a name="l00159"></a>00159 <span class="comment"> end</span>
+<a name="l00160"></a>00160 <span class="comment"> return POINT(sum_x / (3 * sum_a2), sum_y / (3 * sum_a2) )</span>
+<a name="l00161"></a>00161 <span class="comment"> */</span>
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="comment">// Get coordinates and promote them to calculation_type</span>
+<a name="l00164"></a>00164 calculation_type <span class="keyword">const</span> x1 = boost::numeric_cast<calculation_type>(get<0>(p1));
+<a name="l00165"></a>00165 calculation_type <span class="keyword">const</span> y1 = boost::numeric_cast<calculation_type>(get<1>(p1));
+<a name="l00166"></a>00166 calculation_type <span class="keyword">const</span> x2 = boost::numeric_cast<calculation_type>(get<0>(p2));
+<a name="l00167"></a>00167 calculation_type <span class="keyword">const</span> y2 = boost::numeric_cast<calculation_type>(get<1>(p2));
+<a name="l00168"></a>00168 calculation_type <span class="keyword">const</span> ai = x1 * y2 - x2 * y1;
+<a name="l00169"></a>00169 state.count++;
+<a name="l00170"></a>00170 state.sum_a2 += ai;
+<a name="l00171"></a>00171 state.sum_x += ai * (x1 + x2);
+<a name="l00172"></a>00172 state.sum_y += ai * (y1 + y2);
+<a name="l00173"></a>00173 }
+<a name="l00174"></a>00174
+<a name="l00175"></a><a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#9cf07c9edf759e3ff9ed1c5c08dff55b">00175</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#9cf07c9edf759e3ff9ed1c5c08dff55b">result</a>(sums <span class="keyword">const</span>& state, Point& <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>)
+<a name="l00176"></a>00176 {
+<a name="l00177"></a>00177 <span class="keywordflow">if</span> (state.count > 0 && state.sum_a2 != 0)
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 calculation_type <span class="keyword">const</span> v3 = 3;
+<a name="l00180"></a>00180 calculation_type <span class="keyword">const</span> a3 = v3 * state.sum_a2;
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type</a>
+<a name="l00183"></a>00183 <
+<a name="l00184"></a>00184 Point
+<a name="l00185"></a>00185 >::type <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00186"></a>00186
+<a name="l00187"></a>00187 set<0>(centroid,
+<a name="l00188"></a>00188 boost::numeric_cast<coordinate_type>(state.sum_x / a3));
+<a name="l00189"></a>00189 set<1>(centroid,
+<a name="l00190"></a>00190 boost::numeric_cast<coordinate_type>(state.sum_y / a3));
+<a name="l00191"></a>00191 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193
+<a name="l00194"></a>00194 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00195"></a>00195 }
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 };
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 }} <span class="comment">// namespace strategy::centroid</span>
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00204"></a>00204 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment>
+<a name="l00205"></a>00205 <span class="keyword">struct </span>strategy_centroid<cartesian_tag, Point, PointOfSegment>
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207 <span class="keyword">typedef</span> strategy::centroid::bashein_detmer<Point, PointOfSegment> <a class="code" href="structggl_1_1strategy__centroid.html#d993b491319e39b70e4b52c2fd9f5dd6">type</a>;
+<a name="l00208"></a>00208 };
+<a name="l00209"></a>00209 <span class="preprocessor">#endif</span>
+<a name="l00210"></a>00210 <span class="preprocessor"></span>
+<a name="l00211"></a>00211 } <span class="comment">// namespace ggl</span>
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_CENTROID_BASHEIN_DETMER_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/concepts/centroid_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy< Strategy ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::CentroidStrategy< Strategy >::check_methods</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/centroid__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/concepts/centroid_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_CENTROID_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_CENTROID_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/concept_check.hpp></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00023"></a>00023 <span class="keyword">template</span> <<span class="keyword">typename</span> Strategy>
+<a name="l00024"></a><a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html">00024</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html" title="Checks strategy for area.">CentroidStrategy</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="comment">// 1) must define state_type,</span>
+<a name="l00028"></a>00028 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::state_type state_type;
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">// 2) must define point_type,</span>
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_type <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// 3) must define point_type, of polygon (segments)</span>
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::segment_point_type spoint_type;
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">struct </span>check_methods
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 state_type *s;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="comment">// 4) must implement a static method apply,</span>
+<a name="l00043"></a>00043 <span class="comment">// getting two segment-points</span>
+<a name="l00044"></a>00044 spoint_type *sp;
+<a name="l00045"></a>00045 Strategy::apply(*sp, *sp, *s);
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="comment">// 5) must implement a static method result</span>
+<a name="l00048"></a>00048 <span class="comment">// getting the centroid</span>
+<a name="l00049"></a>00049 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> *c;
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> r = Strategy::result(*s, *c);
+<a name="l00051"></a>00051 boost::ignore_unused_variable_warning(r);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">public</span> :
+<a name="l00056"></a><a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html#a20d60397b363a08579622afdc14a96f">00056</a> <a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html#a20d60397b363a08579622afdc14a96f">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_centroid_strategy.html" title="Checks strategy for area.">CentroidStrategy</a>)
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 check_methods::apply();
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_CENTROID_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/concepts/check.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1checker.html">ggl::concept::detail::checker< Geometry, IsConst ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::detail</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68">ggl::concept::check</a> ()</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. <br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/concepts/check.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 2009, Geodan, Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_CHECK_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_CHECK_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/concept_check.hpp></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/type_traits/is_const.hpp></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="box__concept_8hpp.html">ggl/geometries/concepts/box_concept.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="linestring__concept_8hpp.html">ggl/geometries/concepts/linestring_concept.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="polygon__concept_8hpp.html">ggl/geometries/concepts/polygon_concept.hpp</a>></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="ring__concept_8hpp.html">ggl/geometries/concepts/ring_concept.hpp</a>></span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>concept_check {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span> <<span class="keyword">typename</span> Concept>
+<a name="l00034"></a>00034 <span class="keyword">class </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 BOOST_CONCEPT_ASSERT((Concept ));
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 }} <span class="comment">// namespace detail::check</span>
+<a name="l00040"></a>00040 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span>
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> IsConst>
+<a name="l00049"></a>00049 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>
+<a name="l00050"></a>00050 {};
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00054"></a>00054 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><point_tag, Geometry, true>
+<a name="l00055"></a>00055 : detail::concept_check::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><concept::ConstPoint<Geometry> >
+<a name="l00056"></a>00056 {};
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00060"></a>00060 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><point_tag, Geometry, false>
+<a name="l00061"></a>00061 : detail::concept_check::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><concept::Point<Geometry> >
+<a name="l00062"></a>00062 {};
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00066"></a>00066 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><linestring_tag, Geometry, true>
+<a name="l00067"></a>00067 : detail::concept_check::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><concept::ConstLinestring<Geometry> >
+<a name="l00068"></a>00068 {};
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00072"></a>00072 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><linestring_tag, Geometry, false>
+<a name="l00073"></a>00073 : detail::concept_check::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><concept::Linestring<Geometry> >
+<a name="l00074"></a>00074 {};
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00078"></a>00078 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><polygon_tag, Geometry, true>
+<a name="l00079"></a>00079 : detail::concept_check::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><concept::ConstPolygon<Geometry> >
+<a name="l00080"></a>00080 {};
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00084"></a>00084 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><polygon_tag, Geometry, false>
+<a name="l00085"></a>00085 : detail::concept_check::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><concept::Polygon<Geometry> >
+<a name="l00086"></a>00086 {};
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><box_tag, Geometry, true>
+<a name="l00091"></a>00091 : detail::concept_check::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><concept::ConstBox<Geometry> >
+<a name="l00092"></a>00092 {};
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00096"></a>00096 <span class="keyword">struct </span><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><box_tag, Geometry, false>
+<a name="l00097"></a>00097 : detail::concept_check::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a><concept::Box<Geometry> >
+<a name="l00098"></a>00098 {};
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 } <span class="comment">// namespace dispatch</span>
+<a name="l00103"></a>00103 <span class="preprocessor">#endif</span>
+<a name="l00104"></a>00104 <span class="preprocessor"></span>
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">namespace </span>concept {
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110
+<a name="l00111"></a><a class="code" href="namespaceggl_1_1concept_1_1detail.html">00111</a> <span class="keyword">namespace </span>detail {
+<a name="l00112"></a>00112
+<a name="l00117"></a>00117 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> IsConst>
+<a name="l00118"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1checker.html">00118</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1detail_1_1checker.html" title="Checks, in compile-time, the concept of any geometry.">checker</a> : dispatch::<a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>
+<a name="l00119"></a>00119 <
+<a name="l00120"></a>00120 typename tag<Geometry>::type,
+<a name="l00121"></a>00121 Geometry,
+<a name="l00122"></a>00122 IsConst
+<a name="l00123"></a>00123 >
+<a name="l00124"></a>00124 {};
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128
+<a name="l00133"></a>00133 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00134"></a><a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68">00134</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <a class="code" href="structggl_1_1concept_1_1detail_1_1checker.html" title="Checks, in compile-time, the concept of any geometry.">detail::checker<Geometry, boost::is_const<Geometry>::type::value</a>> c;
+<a name="l00137"></a>00137 boost::ignore_unused_variable_warning(c);
+<a name="l00138"></a>00138 }
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 } <span class="comment">// namespace concept</span>
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 } <span class="comment">// namespace ggl</span>
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_CHECK_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__append_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__append_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/concepts/detail/check_append.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append.html">ggl::concept::detail::check_append< Geometry, Point, UseStd ></a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">ggl::concept::detail::check_append< Geometry, Point, false ></a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">ggl::concept::detail::check_append< Geometry, Point, true ></a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::detail</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__append_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__append_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/concepts/detail/check_append.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_APPEND_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_APPEND_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>detail
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keywordtype">bool</span> UseStd>
+<a name="l00026"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__append.html">00026</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1detail_1_1check__append.html">check_append</a>
+<a name="l00027"></a>00027 {};
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00030"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1detail_1_1check__append.html">check_append</a><Geometry, <a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a>, true>
+<a name="l00031"></a>00031 {
+<a name="l00032"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html#2a93eed2fff71b952c213317fdd76f81">00032</a> <span class="keyword">static</span> <span class="keywordtype">void</span> apply(Geometry& geometry, <a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a> <span class="keyword">const</span>& p)
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 geometry.push_back(p);
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 };
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00039"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">00039</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1detail_1_1check__append.html">check_append</a><Geometry, <a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a>, false>
+<a name="l00040"></a>00040 {
+<a name="l00041"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html#e9afd64a7da9ee6dbbad3f03b121781f">00041</a> <span class="keyword">static</span> <span class="keywordtype">void</span> apply(Geometry& geometry, <a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a> <span class="keyword">const</span>& p)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <a class="code" href="structggl_1_1traits_1_1append__point.html" title="Traits class, optional, might be implemented to append a point.">ggl::traits::append_point</a>
+<a name="l00044"></a>00044 <
+<a name="l00045"></a>00045 <span class="keyword">typename</span> boost::remove_const<Geometry>::type,
+<a name="l00046"></a>00046 <a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a>
+<a name="l00047"></a>00047 >::apply(geometry, p, -1, -1);
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_APPEND_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__clear_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__clear_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/geometries/concepts/detail/check_clear.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear.html">ggl::concept::detail::check_clear< Geometry, UseStd ></a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">ggl::concept::detail::check_clear< Geometry, false ></a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">ggl::concept::detail::check_clear< Geometry, true ></a></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::detail</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__clear_8hpp_source.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/check__clear_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/geometries/concepts/detail/check_clear.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_CLEAR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_CLEAR_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>detail
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> UseStd>
+<a name="l00025"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear.html">00025</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear.html">check_clear</a>
+<a name="l00026"></a>00026 {};
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00029"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear.html">check_clear</a><Geometry, true>
+<a name="l00030"></a>00030 {
+<a name="l00031"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html#bb0adec8e3d49e55e8860685472aa5a8">00031</a> <span class="keyword">static</span> <span class="keywordtype">void</span> apply(Geometry& geometry)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 geometry.clear();
+<a name="l00034"></a>00034 }
+<a name="l00035"></a>00035 };
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00038"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">00038</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear.html">check_clear</a><Geometry, false>
+<a name="l00039"></a>00039 {
+<a name="l00040"></a><a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html#7d37b48e922f1b36a34a6bab24560d8c">00040</a> <span class="keyword">static</span> <span class="keywordtype">void</span> apply(Geometry& geometry)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <a class="code" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">ggl::traits::clear</a>
+<a name="l00043"></a>00043 <
+<a name="l00044"></a>00044 <span class="keyword">typename</span> boost::remove_const<Geometry>::type
+<a name="l00045"></a>00045 >::apply(geometry);
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_DETAIL_CHECK_CLEAR_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -46,26 +46,26 @@
<h1>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_E">E</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_P">P</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a> | <a class="qindex" href="#letter_U">U</a> | <a class="qindex" href="#letter_V">V</a> | <a class="qindex" href="#
letter_W">W</a> | <a class="qindex" href="#letter_X">X</a></div><p>
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> A </div></td></tr></table>
-</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">geolib1995</a> (<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a>) </td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> S </div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1access.html">access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1geometry__collection__tag.html">geometry_collection_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">scale_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html">access< ggl::detail::intersection::intersection_point< P >, Dimension ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1geometry__id.html">geometry_id</a> (<a class="el" href="namespaceggl.html">ggl</a
>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">scale_transformer< P1, P2, 2, 2 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1append__point.html">append_point</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">scale_transformer< P1, P2, 3, 3 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1area__result.html">area_r
esult</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a> (<a class="el" href="namespaceggl_1_1strategy_1_1convex__hull.html">ggl::strategy::convex_hull</a>) </td><td><a class="el" href="structggl_1_1section.html">section</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1as__range__type.html">as_range_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>) </td><td><a class="el" href="structggl_1_1sections.html">sections</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div cla
ss="ah"> B </div></td></tr></table>
+</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">franklin</a> (<a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">rotate_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1access.html">access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">from_cartesian_3_to_spherical_2</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> S </div></td></tr></table>
+</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html">access< ggl::detail::intersection::intersection_point< P >, Dimension ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">from_cartesian_3_to_spherical_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">scale_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1append__point.html">append_point</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="e
l" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">from_spherical_2_to_cartesian_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">scale_transformer< P1, P2, 2, 2 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1area__result.html">area_result</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">from_spherical_3_to_cartesian_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_
p1_00_01_p2_00_013_00_013_01_4.html">scale_transformer< P1, P2, 3, 3 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">AreaStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> G </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1section.html">section</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1as__range__type.html">as_range_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1cs_1_1geographic.html">geographic</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>) </td><td><a class="el" href="structggl_1_1sections.html">sections</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> B </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1geographic__tag.html">geographic_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1segment.html">segment</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">bashein_detmer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a>) </td><td><a class="el" href="structggl_1_1geometry__collection__tag.html">geometry_collection_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1concept_1_1_segment.html">Segment</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_box.html">Box</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a clas
s="el" href="structggl_1_1geometry__id.html">geometry_id</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1box.html">box</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1segment__intersection__points.html">segment_intersection_points</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1box__tag.html">box_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a> (<a class="el"
href="namespaceggl_1_1strategy_1_1convex__hull.html">ggl::strategy::convex_hull</a>) </td><td><a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">by_triangles</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>) </td><td><a class="el" href="structggl_1_1segment__tag.html">segment_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> C </div></td></tr></table>
</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> H </div></td></tr></table>
-</td><td><a class="el" href="classggl_1_1segment.html">segment</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">bashein_detmer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">ggl::strategy::centroid</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">haversine</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_box.html">Box</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> I &
nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1segment__identifier.html">segment_identifier</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1box.html">box</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1traits_1_1indexed__access.html">indexed_access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1segment__intersection__points.html">segment_intersection_points</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1box__tag.html">box_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1traits_1_1interior__rings.html">interior_rings</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1segment__iterat
or.html">segment_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>) </td><td><a class="el" href="structggl_1_1traits_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1segment__tag.html">segment_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">by_triangles</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>) </td><td><a class="el" href="structggl_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="
structggl_1_1policies_1_1relate_1_1segments__de9im.html">segments_de9im</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> C </div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">inverse_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">segments_direction</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td></tr><tr><td><a class="el" href="structggl_1_1cs_1_1cartesian.html">cartesian</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>) </td><td><a class="el" href="structggl_1_1is__linear.html">is_linear</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">segments_intersection_points</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td></tr><tr><td><a class="el"
href="structggl_1_1cartesian__distance.html">cartesian_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1is__multi.html">is_multi</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">segments_tupled</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td></tr><tr><td><a class="el" href="structggl_1_1cartesian__tag.html">cartesian_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1is__radian.html">is_radian</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1centroid__exception.html">c
entroid_exception</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> L </div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1circular__iterator.html">circular_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1length__result.html">length_result</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1clear.html">clear</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1less.html">less</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="
structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">shifted< degree ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">liang_barsky</a> (<a class="el" href="namespaceggl_1_1strategy_1_1intersection.html">ggl::strategy::intersection</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">shifted< radian ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a>
(<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="classggl_1_1linear__ring.html">linear_ring</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="classggl_1_1linestring.html">linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1single__tag.html">single_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ConstNsphere</a> (<a class="el" href="namespaceggl_1_1c
oncept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1cs_1_1spherical.html">spherical</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1linestring__tag.html">linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1spherical__tag.html">spherical_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>)&nb
sp; </td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> M </div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">grow_ll::state</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">map_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">combine_xy::state</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) &n
bsp; </td><td><a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__area.html">strategy_area</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">coordinate_system</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1multi__linestring__tag.html">multi_linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__centroid.html">strategy_centroid</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1coordinate__system.html">coordinate_system</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1
_1multi__point.html">multi_point</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__compare.html">strategy_compare</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">coordinate_system< ggl::detail::intersection::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1multi__point__tag.html">multi_point_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__convex__hull.html">strategy_convex_hull</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a> (<a class="el" hr
ef="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1multi__polygon__tag.html">multi_polygon_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__distance__segment.html">strategy_distance_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">coordina
te_type< ggl::detail::intersection::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> N </div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1strategy__envelope.html">strategy_envelope</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">copy_direct</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">not_implemented</a> (<a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a>) </td><td><a class="el" href="structggl_1_1strategy__parse.html">strategy_parse</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">copy_per_coordinate</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="classggl_1_1nsphere.html">nsphere</a> (<a
class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__side.html">strategy_side</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">cross_track</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_nsphere.html">Nsphere</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1strategy__tag.html">strategy_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1cs__tag.html">cs_tag</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1nsphere__tag.html">nsphere_tag</a> (<a class="el" href="namespaceggl.ht
ml">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html">strategy_tag< strategy::distance::pythagoras< P1, P2 > ></a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1cs__tag.html">cs_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> P </div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_segment_00_01_p_p_strategy_01_4_01_4.html">strategy_tag< strategy::distance::xy_point_segment< Point, Segment, PPStrategy > ></a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> D </div></td></tr></table>
-</td><td><a class="el" href="classggl_1_1point.html">point</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1de9im.html">de9im</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_point.html">Point</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1de9im__segment.html">de9im_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1traits_1_1
point__order.html">point_order</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1strategy__tag__unknown.html">strategy_tag_unknown</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1degree.html">degree</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1point__order.html">point_order</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__transform.html">strategy_transform</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">degree_radian_vv</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1point__tag.html">point_tag
</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__within.html">strategy_within</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">degree_radian_vv_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1traits_1_1point__type.html">point_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1dimension.html">dimension</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1point__type.html">point_ty
pe</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> T </div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structggl_1_1dimension.html">dimension</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1point__xy.html">point_xy</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1traits_1_1tag.html">tag</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td></tr><tr><td><a class="el" href="classcore__dispatch_1_1dimension.html">core_dispatch::dimension</a> </td><td><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1tag.html">tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1dimension_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_
01_4.html">dimension< ggl::detail::intersection::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="class_point_list.html">PointList</a> </td><td><a class="el" href="structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">tag< ggl::detail::intersection::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td></tr><tr><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">direction_type</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1
_1topological__dimension.html">topological_dimension</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1distance__result.html">distance_result</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1cs_1_1polar.html">polar</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">translate_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">douglas_peucker</a> (<a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">ggl::strategy::simplify</a>) </td><td><a class="el" href="classggl_1_1polygon.html">polygon</a> (<a class="el" href="namespaceggl.html">ggl</a>)
</td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">translate_transformer< P1, P2, 2, 2 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_polygon.html">Polygon</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">translate_transformer< P1, P2, 3, 3 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"
> E </div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1polygon__tag.html">polygon_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> U </div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">euclidian</a> (<a class="el" href="namespaceggl_1_1strategy_1_1compare.html">ggl::strategy::compare</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">pythagoras</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1ever__circling__iterator.html">ever_circling_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> R </div></td></tr></table>
-</td><td><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ublas_transformer< P1, P2, 2, 2 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1exception.html">exception</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1radian.html">radian</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">ublas_transformer< P1, P2, 3, 2 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1exterior__ring.html">exterior_ring</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>)  
; </td><td><a class="el" href="structggl_1_1traits_1_1radius__access.html">radius_access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ublas_transformer< P1, P2, 3, 3 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> F </div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1traits_1_1radius__type.html">radius_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1traits_1_1use__std.html">use_std</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">franklin</a> (<a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a>) </td><td><a class="el" href="structggl_1_1radius__type.html">radius_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> V </div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html">from_cartesian_3_to_spherical_2</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1replace__point__type.html">replace_point_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1vertex__iterator.html">vertex_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html">from_cartesian_3_to_spherical_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1reverse__dispatch.html">reverse_dispatch</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_W
"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> W </div></td></tr></table>
-</td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html">from_spherical_2_to_cartesian_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">winding</a> (<a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html">from_spherical_3_to_cartesian_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1ring__tag.html">ring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) &n
bsp;</td><td><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> X </div></td></tr></table>
-</td></tr><tr><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> G </div></td></tr></table>
-</td><td><a class="el" href="structggl_1_1traits_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">xy_point_segment</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>) </td></tr><tr><td><a class="el" href="structggl_1_1cs_1_1geographic.html">geographic</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>) </td><td><a class="el" href="structggl_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</a> (<a class="el" href="namespaceggl_1_1strategy_1_1side.html">ggl::strategy::side</a>) </td></tr><tr><td><a class="el" href="structggl_1_1geographic__tag.html">geographic_tag</a> (<a class="el" href="namespaceggl.html">ggl</a
>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">rotate_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_E">E</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_P">P</a> | <a class="qindex" href="#letter_R">R</a> 
;| <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a> | <a class="qindex" href="#letter_U">U</a> | <a class="qindex" href="#letter_V">V</a> | <a class="qindex" href="#letter_W">W</a> | <a class="qindex" href="#letter_X">X</a></div><p>
+</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html">segments_de9im</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td></tr><tr><td><a class="el" href="structggl_1_1cs_1_1cartesian.html">cartesian</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">haversine</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>) </td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">segments_direction</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td></tr><tr><td><a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1area_
1_1huiller.html">huiller</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>) </td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">segments_intersection_points</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td></tr><tr><td><a class="el" href="structggl_1_1cartesian__tag.html">cartesian_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> I </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">segments_tupled</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td></tr><tr><td><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1traits_1_1indexed__access.html">indexed_access</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1select__calculation__type.html">select_calculation_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">CentroidStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1traits_1_1interior__rings.html">interior_rings</a> (<a class="el
" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append.html">check_append</a> (<a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::detail</a>) </td><td><a class="el" href="structggl_1_1traits_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">check_append< Geometry, Point, false ></a> (<a class="el" href="namespaceggl_1_1concept_1_1detail.
html">ggl::concept::detail</a>) </td><td><a class="el" href="structggl_1_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">check_append< Geometry, Point, true ></a> (<a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::detail</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">inverse_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_
01degree_01_4.html">shifted< degree ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear.html">check_clear</a> (<a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::detail</a>) </td><td><a class="el" href="structggl_1_1is__linear.html">is_linear</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">shifted< radian ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">ggl::strategy::envelope::shift</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">check_clear< Geometry, false ></a> (<a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::det
ail</a>) </td><td><a class="el" href="structggl_1_1is__multi.html">is_multi</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">check_clear< Geometry, true ></a> (<a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::detail</a>) </td><td><a class="el" href="structggl_1_1is__radian.html">is_radian</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1single__tag.html">single_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1detail_1_1checker.html">checker</a> (<a class="el" href="namespaceggl
_1_1concept_1_1detail.html">ggl::concept::detail</a>) </td><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> L </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1cs_1_1spherical.html">spherical</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>) </td></tr><tr><td><a class="el" href="structggl_1_1circular__iterator.html">circular_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1length__result.html">length_result</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1spherical__tag.html">spherical_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1clear.html">clear</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1less.html">less</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">grow_ll::state</a> (<a cl
ass="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html">combine_xy</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html">liang_barsky</a> (<a class="el" href="namespaceggl_1_1strategy_1_1intersection.html">ggl::strategy::intersection</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html">combine_xy::state</a> (<a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">ggl::strategy::envelope</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_box.html">ConstBox</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>
(<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__area.html">strategy_area</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="classggl_1_1linestring.html">linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__centroid.html">strategy_centroid</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ConstNsphere</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="classggl_1_1concept_1_1_linestring.html">Linestring</a> (<a class="el" href="namespaceggl_1_1concept.html">gg
l::concept</a>) </td><td><a class="el" href="structggl_1_1strategy__compare.html">strategy_compare</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_point.html">ConstPoint</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1linestring__tag.html">linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__convex__hull.html">strategy_convex_hull</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> M </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ConstRing</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html">map_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1strategy__distance__segment.html">strategy_distance_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ConstSegment</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a> (<a class="el" href="n
amespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__envelope.html">strategy_envelope</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">coordinate_system</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1multi__linestring__tag.html">multi_linestring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__parse.html">strategy_parse</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1coordinate__system.html">coordinate_system</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1multi__point.html">multi_point</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a cl
ass="el" href="structggl_1_1strategy__side.html">strategy_side</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">coordinate_system< ggl::detail::intersection::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1multi__point__tag.html">multi_point_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__tag.html">strategy_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1multi__polygon.html">multi_poly
gon</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html">strategy_tag< strategy::distance::pythagoras< P1, P2 > ></a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1multi__polygon__tag.html">multi_polygon_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_segment_00_01_p_p_strategy_01_4_01_4.html">strategy_tag< strategy::distance::xy_point_segment< Point, Segment, PPStrategy > ></a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="
structggl_1_1traits_1_1coordinate__type_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">coordinate_type< ggl::detail::intersection::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> N </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html">copy_direct</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">not_implemented</a> (<a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a>) </td><td><a class="el" href="structggl_1_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html">copy_per_coordinate</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) &n
bsp; </td><td><a class="el" href="structggl_1_1concept_1_1_nsphere.html">Nsphere</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1strategy__tag__unknown.html">strategy_tag_unknown</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">cross_track</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>) </td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> P </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1strategy__transform.html">strategy_transform</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">crossings_multiply</a> (<a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a>) </td><td><a class="el" href="classggl_1_1point.html">point</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy__within.html">strategy_within</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1cs__tag.html">cs_tag</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="classggl_1_1concept_1_1_point.html">Point</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href
="classggl_1_1svg__manipulator.html">svg_manipulator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1cs__tag.html">cs_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1traits_1_1point__order.html">point_order</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> T </div></td></tr></table>
+</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> D </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1point__order.html">point_order</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1traits_1_1tag.html">tag</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td></tr><tr><td><a class="el" href="structggl_1_1de9im.html">de9im</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1point__tag.html">point_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1tag.html">tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1de9im__segment.html">de9im_segment</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1traits_1_1point__type.html">point_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) &n
bsp;</td><td><a class="el" href="structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">tag< ggl::detail::intersection::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td></tr><tr><td><a class="el" href="classggl_1_1degree.html">degree</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1point__type.html">point_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1topological__dimension.html">topological_dimension</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html">degree_radian_vv</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="classggl_1_1point_
_xy.html">point_xy</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">translate_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html">degree_radian_vv_3</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">translate_transformer< P1, P2, 2, 2 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::trans
form</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1dimension.html">dimension</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="class_point_list.html">PointList</a> </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">translate_transformer< P1, P2, 3, 3 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1dimension.html">dimension</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><t
d><div class="ah"> U </div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classcore__dispatch_1_1dimension.html">core_dispatch::dimension</a> </td><td><a class="el" href="structggl_1_1cs_1_1polar.html">polar</a> (<a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">ublas_transformer</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1dimension_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">dimension< ggl::detail::intersection::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="classggl_1_1polygon.html">polygon</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transfo
rmer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">ublas_transformer< P1, P2, 2, 2 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">direction_type</a> (<a class="el" href="namespaceggl_1_1policies_1_1relate.html">ggl::policies::relate</a>) </td><td><a class="el" href="classggl_1_1concept_1_1_polygon.html">Polygon</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">ublas_transformer< P1, P2, 3, 2 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="structggl_1_1distance__result.html">distance_result</a> (<a class="el" href="namespaceggl.html">ggl</a>) &nb
sp; </td><td><a class="el" href="structggl_1_1polygon__tag.html">polygon_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ublas_transformer< P1, P2, 3, 3 ></a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a>) </td></tr><tr><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">douglas_peucker</a> (<a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">ggl::strategy::simplify</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">pythagoras</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>) </td><td><a class="el" href="structggl_1_1traits_1_1use__std.html">use_std</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) &n
bsp; </td></tr><tr><td><a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> R </div></td></tr></table>
+</td><td><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> V </div></td></tr></table>
+</td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> E </div></td></tr></table>
+</td><td><a class="el" href="classggl_1_1radian.html">radian</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1vertex__iterator.html">vertex_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td></tr><tr><td><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">euclidian</a> (<a class="el" href="namespaceggl_1_1strategy_1_1compare.html">ggl::strategy::compare</a>) </td><td><a class="el" href="structggl_1_1replace__point__type.html">replace_point_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> W </div></td></tr></table>
+</td></tr><tr><td><a class="el" href="structggl_1_1ever__circling__iterator.html">ever_circling_iterator</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1reverse__dispatch.html">reverse_dispatch</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">winding</a> (<a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a>) </td></tr><tr><td><a class="el" href="structggl_1_1exception.html">exception</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="classggl_1_1concept_1_1_ring.html">Ring</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td><td><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">WithinStrategy</a> (<a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a>) </td></tr><tr
><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">huiller::excess_sum</a> (<a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a>) </td><td><a class="el" href="structggl_1_1ring__tag.html">ring_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> X </div></td></tr></table>
+</td></tr><tr><td><a class="el" href="structggl_1_1traits_1_1exterior__ring.html">exterior_ring</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1traits_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">xy_point_segment</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</a>) </td></tr><tr><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah"> F </div></td></tr></table>
+</td><td><a class="el" href="structggl_1_1ring__type.html">ring_type</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">xy_side</a> (<a class="el" href="namespaceggl_1_1strategy_1_1side.html">ggl::strategy::side</a>) </td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_E">E</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qinde
x" href="#letter_P">P</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a> | <a class="qindex" href="#letter_U">U</a> | <a class="qindex" href="#letter_V">V</a> | <a class="qindex" href="#letter_W">W</a> | <a class="qindex" href="#letter_X">X</a></div><p>
</div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1box.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -83,7 +83,7 @@
<p>
<a class="el" href="02__linestring__example_8cpp-example.html#_a6">02_linestring_example.cpp</a>, <a class="el" href="03__polygon__example_8cpp-example.html#_a4">03_polygon_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#_a10">07_graph_route_example.cpp</a>, and <a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#_a2">c05_custom_point_pointer_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="box_8hpp_source.html#l00035">35</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00037">37</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="27556d65c45886911a450e707b8cd633"></a><!-- doxytag: member="ggl::box::box" ref="27556d65c45886911a450e707b8cd633" args="()" -->
<div class="memitem">
@@ -104,7 +104,7 @@
<p>
-<p>Definition at line <a class="el" href="box_8hpp_source.html#l00041">41</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00043">43</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
</div>
</div><p>
@@ -139,7 +139,7 @@
Constructor taking the minimum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> and the maximum corner <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
<p>
-<p>Definition at line <a class="el" href="box_8hpp_source.html#l00046">46</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00048">48</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
</div>
</div><p>
@@ -163,7 +163,7 @@
<p>
-<p>Definition at line <a class="el" href="box_8hpp_source.html#l00052">52</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00054">54</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
</div>
</div><p>
@@ -186,7 +186,7 @@
<p>
-<p>Definition at line <a class="el" href="box_8hpp_source.html#l00053">53</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00055">55</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
</div>
</div><p>
@@ -209,7 +209,7 @@
<p>
-<p>Definition at line <a class="el" href="box_8hpp_source.html#l00055">55</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00057">57</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
</div>
</div><p>
@@ -232,7 +232,7 @@
<p>
-<p>Definition at line <a class="el" href="box_8hpp_source.html#l00056">56</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
+<p>Definition at line <a class="el" href="box_8hpp_source.html#l00058">58</a> of file <a class="el" href="box_8hpp_source.html">box.hpp</a>.</p>
</div>
</div><p>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1centroid__exception.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -59,7 +59,7 @@
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00048">48</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00051">51</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="60598437eea82fd35bffdbcac8d4b839"></a><!-- doxytag: member="ggl::centroid_exception::centroid_exception" ref="60598437eea82fd35bffdbcac8d4b839" args="()" -->
<div class="memitem">
@@ -78,7 +78,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00052">52</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00055">55</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
</div>
</div><p>
@@ -100,7 +100,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00054">54</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00058">58</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
</div>
</div><p>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::AreaStrategy< Strategy > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy< Strategy ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_area_strategy.html#d50d5260c5b5aa679bad15cb05533994">BOOST_CONCEPT_USAGE</a>(AreaStrategy)</td><td><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy< Strategy ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_area_strategy.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_area_strategy.html">AreaStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::AreaStrategy< Strategy > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::AreaStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>check_methods</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html#d50d5260c5b5aa679bad15cb05533994">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_area_strategy.html">AreaStrategy</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Strategy><br>
+ class ggl::concept::AreaStrategy< Strategy ></h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area.
+<p>Definition at line <a class="el" href="area__concept_8hpp_source.html#l00024">24</a> of file <a class="el" href="area__concept_8hpp_source.html">area_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="d50d5260c5b5aa679bad15cb05533994"></a><!-- doxytag: member="ggl::concept::AreaStrategy::BOOST_CONCEPT_USAGE" ref="d50d5260c5b5aa679bad15cb05533994" args="(AreaStrategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Strategy > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy</a>< Strategy >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">AreaStrategy</a>< Strategy > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__concept_8hpp_source.html#l00056">56</a> of file <a class="el" href="area__concept_8hpp_source.html">area_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Box< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_box.html#6f151d280edf8aa4fb97d3935c9f69b3">BOOST_CONCEPT_USAGE</a>(Box)</td><td><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_box.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_box.html">Box</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Box< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Box" -->Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< Index, DimensionCount, DimensionCount ></b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_box.html#6f151d280edf8aa4fb97d3935c9f69b3">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_box.html">Box</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::Box< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00033">33</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="6f151d280edf8aa4fb97d3935c9f69b3"></a><!-- doxytag: member="ggl::concept::Box::BOOST_CONCEPT_USAGE" ref="6f151d280edf8aa4fb97d3935c9f69b3" args="(Box)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_box.html">Box</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00061">61</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::CentroidStrategy< Strategy > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy< Strategy ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html#a20d60397b363a08579622afdc14a96f">BOOST_CONCEPT_USAGE</a>(CentroidStrategy)</td><td><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy< Strategy ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_centroid_strategy.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">CentroidStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::CentroidStrategy< Strategy > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::CentroidStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>check_methods</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html#a20d60397b363a08579622afdc14a96f">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">CentroidStrategy</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Strategy><br>
+ class ggl::concept::CentroidStrategy< Strategy ></h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area.
+<p>Definition at line <a class="el" href="centroid__concept_8hpp_source.html#l00024">24</a> of file <a class="el" href="centroid__concept_8hpp_source.html">centroid_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a20d60397b363a08579622afdc14a96f"></a><!-- doxytag: member="ggl::concept::CentroidStrategy::BOOST_CONCEPT_USAGE" ref="a20d60397b363a08579622afdc14a96f" args="(CentroidStrategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Strategy > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy</a>< Strategy >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">CentroidStrategy</a>< Strategy > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="centroid__concept_8hpp_source.html#l00056">56</a> of file <a class="el" href="centroid__concept_8hpp_source.html">centroid_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstBox< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_const_box.html#1b41babee5e102e7c55bb32792399690">BOOST_CONCEPT_USAGE</a>(ConstBox)</td><td><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_box.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_box.html">ConstBox</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstBox< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstBox" -->Checks <a class="el" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< Index, DimensionCount, DimensionCount ></b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_box.html#1b41babee5e102e7c55bb32792399690">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_const_box.html">ConstBox</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::ConstBox< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> apply the same as the <a class="el" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not apply write access.
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00077">77</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="1b41babee5e102e7c55bb32792399690"></a><!-- doxytag: member="ggl::concept::ConstBox::BOOST_CONCEPT_USAGE" ref="1b41babee5e102e7c55bb32792399690" args="(ConstBox)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_const_box.html">ConstBox</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00106">106</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstLinestring< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_const_linestring.html#6c05e3014fa9ec14c9ac8401bbc677ec">BOOST_CONCEPT_USAGE</a>(ConstLinestring)</td><td><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_linestring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstLinestring< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstLinestring" -->Checks <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html#6c05e3014fa9ec14c9ac8401bbc677ec">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::ConstLinestring< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00069">69</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="6c05e3014fa9ec14c9ac8401bbc677ec"></a><!-- doxytag: member="ggl::concept::ConstLinestring::BOOST_CONCEPT_USAGE" ref="6c05e3014fa9ec14c9ac8401bbc677ec" args="(ConstLinestring)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00079">79</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPoint< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_const_point.html#cdb425c10cbeeb3ad1e484f63d800e81">BOOST_CONCEPT_USAGE</a>(ConstPoint)</td><td><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_point.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_point.html">ConstPoint</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPoint< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstPoint" -->Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< P, DimensionCount, DimensionCount ></b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_point.html#cdb425c10cbeeb3ad1e484f63d800e81">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_const_point.html">ConstPoint</a>)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to apply the <a class="el" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::ConstPoint< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> apply the same as the <a class="el" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not apply write access.
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00105">105</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="cdb425c10cbeeb3ad1e484f63d800e81"></a><!-- doxytag: member="ggl::concept::ConstPoint::BOOST_CONCEPT_USAGE" ref="cdb425c10cbeeb3ad1e484f63d800e81" args="(ConstPoint)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_const_point.html">ConstPoint</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to apply the <a class="el" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00136">136</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPolygon< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_const_polygon.html#f06cb4ef8d7d95972d95dcb90cdb4d3c">BOOST_CONCEPT_USAGE</a>(ConstPolygon)</td><td><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_polygon.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstPolygon< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstPolygon" -->Checks <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>checker</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html#f06cb4ef8d7d95972d95dcb90cdb4d3c">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::ConstPolygon< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00087">87</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="f06cb4ef8d7d95972d95dcb90cdb4d3c"></a><!-- doxytag: member="ggl::concept::ConstPolygon::BOOST_CONCEPT_USAGE" ref="f06cb4ef8d7d95972d95dcb90cdb4d3c" args="(ConstPolygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00116">116</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstRing< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_const_ring.html#a9f230560b046e65e8074cf94c8995ae">BOOST_CONCEPT_USAGE</a>(ConstRing)</td><td><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_ring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_ring.html">ConstRing</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstRing< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstRing" -->Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_ring.html#a9f230560b046e65e8074cf94c8995ae">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_const_ring.html">ConstRing</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::ConstRing< Geometry ></h3>
+
+Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The ConstLinearRing <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the Geometry <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00069">69</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="a9f230560b046e65e8074cf94c8995ae"></a><!-- doxytag: member="ggl::concept::ConstRing::BOOST_CONCEPT_USAGE" ref="a9f230560b046e65e8074cf94c8995ae" args="(ConstRing)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ConstRing</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00079">79</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstSegment< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_const_segment.html#5c373393cd5b2420fa38c81526f8863c">BOOST_CONCEPT_USAGE</a>(ConstSegment)</td><td><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_const_segment.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_const_segment.html">ConstSegment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::ConstSegment< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::ConstSegment" -->Checks <a class="el" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< Index, DimensionCount, DimensionCount ></b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_segment.html#5c373393cd5b2420fa38c81526f8863c">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_const_segment.html">ConstSegment</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::ConstSegment< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
+<p>
+The <a class="el" href="classggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> verifies the same as the <a class="el" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not verify write access.
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00075">75</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="5c373393cd5b2420fa38c81526f8863c"></a><!-- doxytag: member="ggl::concept::ConstSegment::BOOST_CONCEPT_USAGE" ref="5c373393cd5b2420fa38c81526f8863c" args="(ConstSegment)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ConstSegment</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00103">103</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Linestring< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_linestring.html#0d06cf99f7693b3e76f5dd43dcd16983">BOOST_CONCEPT_USAGE</a>(Linestring)</td><td><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_linestring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_linestring.html">Linestring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Linestring< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Linestring" -->Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_linestring.html#0d06cf99f7693b3e76f5dd43dcd16983">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_linestring.html">Linestring</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::Linestring< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00035">35</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="0d06cf99f7693b3e76f5dd43dcd16983"></a><!-- doxytag: member="ggl::concept::Linestring::BOOST_CONCEPT_USAGE" ref="0d06cf99f7693b3e76f5dd43dcd16983" args="(Linestring)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_linestring.html">Linestring</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00045">45</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Point< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_point.html#8ae568fc76ff4be8561ab232179d954e">BOOST_CONCEPT_USAGE</a>(Point)</td><td><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_point.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_point.html">Point</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Point< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Point" -->Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< P, DimensionCount, DimensionCount ></b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_point.html#8ae568fc76ff4be8561ab232179d954e">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_point.html">Point</a>)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to apply the <a class="el" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::Point< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+The <a class="el" href="namespaceggl_1_1concept.html">concept</a> is separated into 4 metafunctions:<ul>
+<li><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a>: provides the type of the coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></li><li><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">coordinate system</a>: provides the coordinate system in which the <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is placed</li><li><a class="el" href="structggl_1_1traits_1_1dimension.html">dimension</a>: provides the number of coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></li><li><a class="el" href="structggl_1_1traits_1_1access.html">access</a>: provides access to the coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">poin
t</a></li></ul>
+<p>
+In MPL, a metafunction that provides a type must expose is as "type" and a metafunction that provides a value must expose it as "value", so here the same convention are used: <a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<P>::type</a> and dimension<P>::value provide the type and number of coordinates. This makes them compatible with any MPL and Fusion algorithm and metafunction.<p>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>First example, using an own pointtype, for example a legacy <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, defining the necessary properties outside the pointtype in a <a class="el" href="namespaceggl_1_1traits.html">traits</a> class <div class="fragment"><pre class="fragment"><span class="keyword">struct </span>example_point_1
+{
+ <span class="comment">// Example point, for example a legacy point defining somewhere an x and an y coordinate</span>
+ <span class="keywordtype">double</span> x, y;
+};
+
+
+<span class="keyword">namespace </span>ggl
+{
+ <span class="keyword">namespace </span>traits
+ {
+ <span class="comment">// For legacy points, define the necessary structs coordinate (with typedef),</span>
+ <span class="comment">// dimension (with value) and access (with get function).</span>
+ <span class="comment">// Be sure to define them within the namespace ggl::traits</span>
+ <span class="keyword">template</span> <> <span class="keyword">struct </span>tag<example_point_1> { <span class="keyword">typedef</span> point_tag type; };
+ <span class="keyword">template</span> <> <span class="keyword">struct </span>coordinate_type<example_point_1> { <span class="keyword">typedef</span> <span class="keywordtype">double</span> type; };
+ <span class="keyword">template</span> <> <span class="keyword">struct </span>coordinate_system<example_point_1> { <span class="keyword">typedef</span> cs::cartesian type; };
+ <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a><example_point_1>: boost::mpl::int_<2> {};
+ <span class="keyword">template</span> <> <span class="keyword">struct </span>access<example_point_1, 0>
+ {
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(example_point_1 <span class="keyword">const</span>& p)
+ { <span class="keywordflow">return</span> p.x; }
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_1& p, <span class="keywordtype">double</span> <span class="keyword">const</span>& value)
+ { p.x = value; }
+ };
+ <span class="keyword">template</span> <> <span class="keyword">struct </span>access<example_point_1, 1>
+ {
+ <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(example_point_1 <span class="keyword">const</span>& p)
+ { <span class="keywordflow">return</span> p.y; }
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_1& p, <span class="keywordtype">double</span> <span class="keyword">const</span>& value)
+ { p.y = value; }
+ };
+ }
+}
+
+<span class="keyword">namespace </span>example_own_point1
+{
+ <span class="comment">// The first way to check a concept at compile time: checking if the input is parameter</span>
+ <span class="comment">// or return type is OK.</span>
+ <span class="keyword">template</span> <<span class="keyword">typename</span> P>
+ BOOST_CONCEPT_REQUIRES(((<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">ggl::concept::Point<P></a>)), (<span class="keywordtype">void</span>))
+ test1(P& p)
+ {
+ }
+
+ <span class="comment">// The second way to check a concept at compile time: checking if the provided type,</span>
+ <span class="comment">// inside the function, if OK</span>
+ <span class="keyword">template</span> <<span class="keyword">typename</span> P>
+ <span class="keywordtype">void</span> test2(P& p)
+ {
+ BOOST_CONCEPT_ASSERT((<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">ggl::concept::Point<P></a>));
+ }
+
+
+ <span class="keywordtype">void</span> example()
+ {
+ example_point_1 p;
+ test1(p);
+ test2(p);
+ }
+} <span class="comment">//:\\ --</span>
+</pre></div> </dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Second example, deriving a pointtype from boost::tuple. It defines the necessary properties itself, so a separate <a class="el" href="namespaceggl_1_1traits.html">traits</a> class is not necessary. <div class="fragment"><pre class="fragment">{
+ <span class="keyword">struct </span>example_point_2: boost::tuple<float, float>
+ {
+ example_point_2(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y)
+ {
+ get<0>() = x;
+ get<1>() = y;
+ }
+ };
+}
+
+<span class="comment">// MIGHT BE CONVERTED TO MACRO</span>
+<span class="keyword">namespace </span>ggl
+{
+ <span class="keyword">namespace </span>traits
+ {
+ <span class="keyword">using namespace </span>example_own_point2;
+
+ <span class="keyword">template</span> <> <span class="keyword">struct </span>tag<example_point_2> { <span class="keyword">typedef</span> point_tag type; };
+ <span class="keyword">template</span> <> <span class="keyword">struct </span>coordinate_type<example_point_2> { <span class="keyword">typedef</span> <span class="keywordtype">float</span> type; };
+ <span class="keyword">template</span> <> <span class="keyword">struct </span>coordinate_system<example_point_2> { <span class="keyword">typedef</span> <a class="code" href="structggl_1_1cs_1_1cartesian.html" title="Cartesian coordinate system.">ggl::cs::cartesian</a> type; };
+ <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a><example_point_2> : boost::mpl::int_<2> {};
+ <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> Dimension> <span class="keyword">struct </span>access<example_point_2, Dimension>
+ {
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> <span class="keyword">get</span>(example_point_2 <span class="keyword">const</span>& p)
+ { <span class="keywordflow">return</span> p.get<Dimension>(); }
+
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_2& p, <span class="keywordtype">float</span> <span class="keyword">const</span>& value)
+ { p.get<Dimension>() = value; }
+ };
+
+ <span class="comment">// The library user has</span>
+ <span class="comment">// 1) either to specify the coordinate system</span>
+ <span class="comment">// 2) or include <ggl/geometries/adapted/tuple__at_.hpp> where @=cartesian,geographic,...</span>
+ }
+}
+
+
+<span class="keyword">namespace </span>example_own_point2
+{
+
+
+ <span class="keyword">template</span> <<span class="keyword">typename</span> P>
+ BOOST_CONCEPT_REQUIRES(((<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ggl::concept::ConstPoint<P></a>)), (<span class="keywordtype">float</span>))
+ test3(P& p)
+ {
+ <span class="keywordflow">return</span> ggl::get<0>(p);
+ }
+
+ <span class="keywordtype">void</span> example()
+ {
+ example_point_2 p(1,2);
+ test3(p);
+ }
+} <span class="comment">//:\\ --</span>
+</pre></div> </dd></dl>
+
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00061">61</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="8ae568fc76ff4be8561ab232179d954e"></a><!-- doxytag: member="ggl::concept::Point::BOOST_CONCEPT_USAGE" ref="8ae568fc76ff4be8561ab232179d954e" args="(Point)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_point.html">Point</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+BCCL macro to apply the <a class="el" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>
+
+<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00091">91</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Polygon< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_polygon.html#7540fca7a0a925f5d598dd300c1f78cf">BOOST_CONCEPT_USAGE</a>(Polygon)</td><td><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_polygon.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_polygon.html">Polygon</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Polygon< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Polygon" -->Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>checker</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_polygon.html#7540fca7a0a925f5d598dd300c1f78cf">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_polygon.html">Polygon</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::Polygon< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00032">32</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7540fca7a0a925f5d598dd300c1f78cf"></a><!-- doxytag: member="ggl::concept::Polygon::BOOST_CONCEPT_USAGE" ref="7540fca7a0a925f5d598dd300c1f78cf" args="(Polygon)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_polygon.html">Polygon</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00066">66</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Ring< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_ring.html#677c8fe0efef95edf50da6001d551c86">BOOST_CONCEPT_USAGE</a>(Ring)</td><td><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_ring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_ring.html">Ring</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Ring< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Ring" -->Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_ring.html#677c8fe0efef95edf50da6001d551c86">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_ring.html">Ring</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::Ring< Geometry ></h3>
+
+Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00035">35</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="677c8fe0efef95edf50da6001d551c86"></a><!-- doxytag: member="ggl::concept::Ring::BOOST_CONCEPT_USAGE" ref="677c8fe0efef95edf50da6001d551c86" args="(Ring)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_ring.html">Ring</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00045">45</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Segment< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_segment.html#06e37d7f85929c034fc42e6c930440ff">BOOST_CONCEPT_USAGE</a>(Segment)</td><td><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment< Geometry ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_segment.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_segment.html">Segment</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::Segment< Geometry > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::Segment" -->Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< Index, DimensionCount, DimensionCount ></b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_segment.html#06e37d7f85929c034fc42e6c930440ff">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_segment.html">Segment</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ class ggl::concept::Segment< Geometry ></h3>
+
+Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00033">33</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="06e37d7f85929c034fc42e6c930440ff"></a><!-- doxytag: member="ggl::concept::Segment::BOOST_CONCEPT_USAGE" ref="06e37d7f85929c034fc42e6c930440ff" args="(Segment)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment</a>< Geometry >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_segment.html">Segment</a>< Geometry > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00059">59</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::WithinStrategy< Strategy > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy< Strategy ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1concept_1_1_within_strategy.html#7885c6ff735068d4a5943350b47940e2">BOOST_CONCEPT_USAGE</a>(WithinStrategy)</td><td><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy< Strategy ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1concept_1_1_within_strategy.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="classggl_1_1concept_1_1_within_strategy.html">WithinStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::WithinStrategy< Strategy > Class Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::WithinStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon).
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html#7885c6ff735068d4a5943350b47940e2">BOOST_CONCEPT_USAGE</a> (<a class="el" href="classggl_1_1concept_1_1_within_strategy.html">WithinStrategy</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Strategy><br>
+ class ggl::concept::WithinStrategy< Strategy ></h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon).
+<p>Definition at line <a class="el" href="within__concept_8hpp_source.html#l00024">24</a> of file <a class="el" href="within__concept_8hpp_source.html">within_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7885c6ff735068d4a5943350b47940e2"></a><!-- doxytag: member="ggl::concept::WithinStrategy::BOOST_CONCEPT_USAGE" ref="7885c6ff735068d4a5943350b47940e2" args="(WithinStrategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Strategy > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy</a>< Strategy >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">WithinStrategy</a>< Strategy > </td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="within__concept_8hpp_source.html#l00045">45</a> of file <a class="el" href="within__concept_8hpp_source.html">within_concept.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1dsv__manipulator.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -70,13 +70,13 @@
Stream manipulator, streams geometry classes as <a class="el" href="dsv.html">DSV</a> streams <dl class="user" compact><dt><b>Example:</b></dt><dd>Small example showing how to use the dsv class <div class="fragment"><pre class="fragment"></pre></div> </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>the template parameter must be specified. If that is inconvient, users might use streamdsv which streams geometries as manipulators, or the object generator make_dsv </dd></dl>
-<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00340">340</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00334">334</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="5bbe82845f3e20b44d2b75cc8faebf43"></a><!-- doxytag: member="ggl::dsv_manipulator::dsv_manipulator" ref="5bbe82845f3e20b44d2b75cc8faebf43" args="(Geometry const &g, detail::dsv::dsv_settings const &settings)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Geometry> </div>
+template<typename Geometry > </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classggl_1_1dsv__manipulator.html">ggl::dsv_manipulator</a>< Geometry >::<a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a> </td>
@@ -101,7 +101,7 @@
<p>
-<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00344">344</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00338">338</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
</div>
</div><p>
@@ -110,7 +110,7 @@
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Geometry> </div>
+template<typename Geometry > </div>
<div class="memtemplate">
template<typename Char , typename Traits > </div>
<table class="memname">
@@ -137,7 +137,7 @@
<p>
-<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00351">351</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00345">345</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
</div>
</div><p>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::nsphere< P, T > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">center</a>() const </td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">center</a>()</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">coordinate_type</a> typedef</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">nsphere</a>()</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#61e86fe7d652555d72d024fdf1903ee6">nsphere</a>(P const &center, T const &radius)</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">radius</a>() const </td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">radius</a>(T const &r)</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">radius_type</a> typedef</td><td><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1nsphere.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,301 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="classggl_1_1nsphere.html">nsphere</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::nsphere< P, T > Class Template Reference</h1><!-- doxytag: class="ggl::nsphere" -->Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>< P >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">coordinate_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">radius_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">P & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">center</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">P const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">center</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#61e86fe7d652555d72d024fdf1903ee6">nsphere</a> (P const &center, T const &radius)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">nsphere</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">radius</a> (T const &r)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">T const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">radius</a> () const </td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename P, typename T><br>
- class ggl::nsphere< P, T ></h3>
-
-Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius.
-<p>
-The name <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> is quite funny but the best description of the class. It can be a circle (2D), a sphere (3D), or higher (hypersphere) or lower. According to Wikipedia this name is the most appropriate. It was mentioned on the Boost list. An alternative is the more fancy name "sphercle" but that might be a bit too much an invention. <dl class="note" compact><dt><b>Note:</b></dt><dd>Circle is currently used for selections, for example polygon_in_circle. Currently not all algorithms are implemented for n-spheres. </dd></dl>
-<dl compact><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of the center </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>T</em> </td><td>number type of the radius </td></tr>
- </table>
-</dl>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00035">35</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="9027e4f6129198cd158727edda7ee4eb"></a><!-- doxytag: member="ggl::nsphere::radius_type" ref="9027e4f6129198cd158727edda7ee4eb" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename T > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef T <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>< P, T >::<a class="el" href="structggl_1_1radius__type.html">radius_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00041">41</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a3595c7d5427261600efdc0e37ded8bb"></a><!-- doxytag: member="ggl::nsphere::coordinate_type" ref="a3595c7d5427261600efdc0e37ded8bb" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename T > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a><P>::type <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>< P, T >::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00042">42</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="43ce9d06cc8e93f8be4e886e6f468fd6"></a><!-- doxytag: member="ggl::nsphere::nsphere" ref="43ce9d06cc8e93f8be4e886e6f468fd6" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename T > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>< P, T >::<a class="el" href="classggl_1_1nsphere.html">nsphere</a> </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00044">44</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="61e86fe7d652555d72d024fdf1903ee6"></a><!-- doxytag: member="ggl::nsphere::nsphere" ref="61e86fe7d652555d72d024fdf1903ee6" args="(P const &center, T const &radius)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename T > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>< P, T >::<a class="el" href="classggl_1_1nsphere.html">nsphere</a> </td>
- <td>(</td>
- <td class="paramtype">P const & </td>
- <td class="paramname"> <em>center</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">T const & </td>
- <td class="paramname"> <em>radius</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00050">50</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="3f6b59190ffcbc30cbcac55073915674"></a><!-- doxytag: member="ggl::nsphere::center" ref="3f6b59190ffcbc30cbcac55073915674" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename T > </div>
- <table class="memname">
- <tr>
- <td class="memname">P const& <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>< P, T >::center </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00056">56</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="45501ded4a12c89b95598ca131fc1caa"></a><!-- doxytag: member="ggl::nsphere::radius" ref="45501ded4a12c89b95598ca131fc1caa" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename T > </div>
- <table class="memname">
- <tr>
- <td class="memname">T const& <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>< P, T >::radius </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00057">57</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="7cedc453e69b1cd38276d4b906cc29f5"></a><!-- doxytag: member="ggl::nsphere::radius" ref="7cedc453e69b1cd38276d4b906cc29f5" args="(T const &r)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename T > </div>
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>< P, T >::radius </td>
- <td>(</td>
- <td class="paramtype">T const & </td>
- <td class="paramname"> <em>r</em> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00059">59</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8fd5bf72f746c27b7ca1514dc08813ac"></a><!-- doxytag: member="ggl::nsphere::center" ref="8fd5bf72f746c27b7ca1514dc08813ac" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename T > </div>
- <table class="memname">
- <tr>
- <td class="memname">P& <a class="el" href="classggl_1_1nsphere.html">ggl::nsphere</a>< P, T >::center </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="nsphere_8hpp_source.html#l00060">60</a> of file <a class="el" href="nsphere_8hpp_source.html">nsphere.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::strategy::area::by_spherical_excess< P > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess< P ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">by_spherical_excess</a>(double radius=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess< P ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">operator()</a>(segment< const P > const &segment, state_type &state) const </td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess< P ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess< P ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess< P ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__spherical__excess.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,209 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a>::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::strategy::area::by_spherical_excess< P > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::area::by_spherical_excess" -->Area calculation by spherical excess.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>excess_sum</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">return_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef excess_sum </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">by_spherical_excess</a> (double radius=1.0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">operator()</a> (<a class="el" href="classggl_1_1segment.html">segment</a>< const P > const &<a class="el" href="classggl_1_1segment.html">segment</a>, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> &state) const </td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename P><br>
- class ggl::strategy::area::by_spherical_excess< P ></h3>
-
-Area calculation by spherical excess.
-<p>
-<dl compact><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td>type of points of rings/polygons </td></tr>
- </table>
-</dl>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend Gehrels. Adapted from:<ul>
-<li>http://www.soe.ucsc.edu/~pang/160/f98/Gems/GemsIV/sph_poly.c</li><li>http://williams.best.vwh.net/avform.htm </li></ul>
-</dd></dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>The version in Gems didn't account for polygons crossing the 180 meridian. <p>
-This version works for convex and non-convex polygons, for 180 meridian crossing polygons and for polygons with holes. However, some cases (especially 180 meridian cases) must still be checked. <p>
-The version which sums angles, which is often seen, doesn't handle non-convex polygons correctly. <p>
-The version which sums longitudes, see http://trs-new.jpl.nasa.gov/dspace/bitstream/2014/40409/1/07-03.pdf, is simple and works well in most cases but not in 180 meridian crossing cases. This probably could be solved. </dd></dl>
-
-<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00045">45</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="9378e1ffdce5a34e96aa1ec3245ac718"></a><!-- doxytag: member="ggl::strategy::area::by_spherical_excess::return_type" ref="9378e1ffdce5a34e96aa1ec3245ac718" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>< P >::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">return_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00070">70</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ca224a54396a8ff91a31831888ddc65e"></a><!-- doxytag: member="ggl::strategy::area::by_spherical_excess::state_type" ref="ca224a54396a8ff91a31831888ddc65e" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P > </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef excess_sum <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>< P >::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00071">71</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="59b71eaa070bf9d8e68e4d4f8263e06e"></a><!-- doxytag: member="ggl::strategy::area::by_spherical_excess::by_spherical_excess" ref="59b71eaa070bf9d8e68e4d4f8263e06e" args="(double radius=1.0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>< P >::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a> </td>
- <td>(</td>
- <td class="paramtype">double </td>
- <td class="paramname"> <em>radius</em> = <code>1.0</code> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00073">73</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="b05fba0d842e52d836c6e603045e8f7b"></a><!-- doxytag: member="ggl::strategy::area::by_spherical_excess::operator()" ref="b05fba0d842e52d836c6e603045e8f7b" args="(segment< const P > const &segment, state_type &state) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P > </div>
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess</a>< P >::operator() </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classggl_1_1segment.html">segment</a>< const P > const & </td>
- <td class="paramname"> <em>segment</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a> & </td>
- <td class="paramname"> <em>state</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="sph__area_8hpp_source.html#l00078">78</a> of file <a class="el" href="sph__area_8hpp_source.html">sph_area.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -43,10 +43,13 @@
</div>
</div>
<div class="contents">
-<h1>ggl::strategy::area::by_triangles< PS, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PS, CalculationType ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a>(segment< const PS > const &s, state_type &state) const </td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PS, CalculationType ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PS, CalculationType ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PS, CalculationType ></a></td><td></td></tr>
+<h1>ggl::strategy::area::by_triangles< PointOfSegment, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">apply</a>(PointOfSegment const &p1, PointOfSegment const &p2, summation &state)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#a2e7e0b22074af36a21925f73a583fb1">init</a>() const </td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">result</a>(summation const &state)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a></td><td></td></tr>
</table></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1by__triangles.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -45,7 +45,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl::strategy::area::by_triangles< PS, CalculationType > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::area::by_triangles" -->Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points.
+<h1>ggl::strategy::area::by_triangles< PointOfSegment, CalculationType > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::area::by_triangles" -->Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points.
<a href="#_details">More...</a>
<p>
@@ -53,7 +53,7 @@
<a href="classggl_1_1strategy_1_1area_1_1by__triangles-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>summation</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>summation</b></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::mpl::if_c<br class="typebreak">
@@ -61,41 +61,46 @@
< CalculationType ><br class="typebreak">
::type::value, typename <br class="typebreak">
<a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a>< typename <br class="typebreak">
-<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>< PS >::type, <br class="typebreak">
+<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a><br class="typebreak">
+< PointOfSegment >::type, <br class="typebreak">
double >::type, <br class="typebreak">
-CalculationType >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a></td></tr>
+CalculationType >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef summation </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef summation </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">operator()</a> (<a class="el" href="classggl_1_1segment.html">segment</a>< const PS > const &s, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> &state) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#a2e7e0b22074af36a21925f73a583fb1">init</a> () const </td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">apply</a> (PointOfSegment const &p1, PointOfSegment const &p2, summation &state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">result</a> (summation const &state)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename PS, typename CalculationType = void><br>
- class ggl::strategy::area::by_triangles< PS, CalculationType ></h3>
+<h3>template<typename PointOfSegment, typename CalculationType = void><br>
+ class ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></h3>
Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points.
<p>
Calculates <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> using well-known triangulation algorithm <dl compact><dt><b>Template Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>PS</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointOfSegment</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments </td></tr>
</table>
</dl>
-<dl class="user" compact><dt><b>Concepts for PS:</b></dt><dd><ul>
-<li>specialized point_traits class </li></ul>
-</dd></dl>
-<p>Definition at line <a class="el" href="cart__area_8hpp_source.html#l00035">35</a> of file <a class="el" href="cart__area_8hpp_source.html">cart_area.hpp</a>.</p>
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00034">34</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="f2ef55e9d5310d400a6e43a25f6c989d"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::return_type" ref="f2ef55e9d5310d400a6e43a25f6c989d" args="" -->
+<a class="anchor" name="9e2a9c4543b03696554ffd7389326c83"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::return_type" ref="9e2a9c4543b03696554ffd7389326c83" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename PS , typename CalculationType = void> </div>
+template<typename PointOfSegment , typename CalculationType = void> </div>
<table class="memname">
<tr>
- <td class="memname">typedef boost::mpl::if_c< boost::is_void<CalculationType>::type::value, typename <a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a> < typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a><PS>::type, double >::type, CalculationType >::type <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PS, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">return_type</a> </td>
+ <td class="memname">typedef boost::mpl::if_c< boost::is_void<CalculationType>::type::value, typename <a class="el" href="structggl_1_1select__most__precise.html">select_most_precise</a> < typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a><PointOfSegment>::type, double >::type, CalculationType >::type <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> </td>
</tr>
</table>
</div>
@@ -103,18 +108,18 @@
<p>
-<p>Definition at line <a class="el" href="cart__area_8hpp_source.html#l00051">51</a> of file <a class="el" href="cart__area_8hpp_source.html">cart_area.hpp</a>.</p>
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00050">50</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="b8c68b50c6f0909ab64c6c97f4dd8ea4"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::state_type" ref="b8c68b50c6f0909ab64c6c97f4dd8ea4" args="" -->
+<a class="anchor" name="174de254696923b84060d14b2fdc9dab"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::state_type" ref="174de254696923b84060d14b2fdc9dab" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename PS , typename CalculationType = void> </div>
+template<typename PointOfSegment , typename CalculationType = void> </div>
<table class="memname">
<tr>
- <td class="memname">typedef summation <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PS, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> </td>
+ <td class="memname">typedef summation <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a> </td>
</tr>
</table>
</div>
@@ -122,33 +127,105 @@
<p>
-<p>Definition at line <a class="el" href="cart__area_8hpp_source.html#l00074">74</a> of file <a class="el" href="cart__area_8hpp_source.html">cart_area.hpp</a>.</p>
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00076">76</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="42e99ae092f8ee5ef36b9ed01d92bfec"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::segment_point_type" ref="42e99ae092f8ee5ef36b9ed01d92bfec" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00077">77</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="44a2feaa28620a60ce740cfad2374894"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::operator()" ref="44a2feaa28620a60ce740cfad2374894" args="(segment< const PS > const &s, state_type &state) const " -->
+<a class="anchor" name="a2e7e0b22074af36a21925f73a583fb1"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::init" ref="a2e7e0b22074af36a21925f73a583fb1" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">state_type</a> <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PointOfSegment, CalculationType >::init </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00079">79</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3496f8b166a11dd3096d5ed210a220d0"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::apply" ref="3496f8b166a11dd3096d5ed210a220d0" args="(PointOfSegment const &p1, PointOfSegment const &p2, summation &state)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename PS , typename CalculationType = void> </div>
+template<typename PointOfSegment , typename CalculationType = void> </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PS, CalculationType >::operator() </td>
+ <td class="memname">static void <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PointOfSegment, CalculationType >::apply </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classggl_1_1segment.html">segment</a>< const PS > const & </td>
- <td class="paramname"> <em>s</em>, </td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>p1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">state_type</a> & </td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>p2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">summation & </td>
<td class="paramname"> <em>state</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00084">84</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="48ff852a738315b93d5ef5c66215c378"></a><!-- doxytag: member="ggl::strategy::area::by_triangles::result" ref="48ff852a738315b93d5ef5c66215c378" args="(summation const &state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">return_type</a> <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles</a>< PointOfSegment, CalculationType >::result </td>
+ <td>(</td>
+ <td class="paramtype">summation const & </td>
+ <td class="paramname"> <em>state</em> </td>
+ <td> ) </td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
@@ -156,7 +233,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__area_8hpp_source.html#l00076">76</a> of file <a class="el" href="cart__area_8hpp_source.html">cart_area.hpp</a>.</p>
+<p>Definition at line <a class="el" href="area__by__triangles_8hpp_source.html#l00092">92</a> of file <a class="el" href="area__by__triangles_8hpp_source.html">area_by_triangles.hpp</a>.</p>
</div>
</div><p>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::huiller< PointOfSegment, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d22bbe66effda8c1fc1027ed0689547b">apply</a>(PointOfSegment const &p1, PointOfSegment const &p2, excess_sum &state)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">huiller</a>(double radius=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#e9e1313791b55bc3036db4916c608061">init</a>() const </td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#28b1aa48766cdaa8272452e1b722cb58">result</a>(excess_sum const &state)</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1area_1_1huiller.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a>::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">huiller</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::huiller< PointOfSegment, CalculationType > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::area::huiller" -->Area calculation by spherical excess / Huiller's formula.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">huiller</a> (double radius=1.0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">state_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#e9e1313791b55bc3036db4916c608061">init</a> () const </td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d22bbe66effda8c1fc1027ed0689547b">apply</a> (PointOfSegment const &p1, PointOfSegment const &p2, <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> &state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#28b1aa48766cdaa8272452e1b722cb58">result</a> (<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> const &state)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename PointOfSegment, typename CalculationType = void><br>
+ class ggl::strategy::area::huiller< PointOfSegment, CalculationType ></h3>
+
+Area calculation by spherical excess / Huiller's formula.
+<p>
+<dl compact><dt><b>Template Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td>type of points of rings/polygons </td></tr>
+ </table>
+</dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend Gehrels. Adapted from:<ul>
+<li>http://www.soe.ucsc.edu/~pang/160/f98/Gems/GemsIV/sph_poly.c</li><li>http://williams.best.vwh.net/avform.htm </li></ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The version in Gems didn't account for polygons crossing the 180 meridian. <p>
+This version works for convex and non-convex polygons, for 180 meridian crossing polygons and for polygons with holes. However, some cases (especially 180 meridian cases) must still be checked. <p>
+The version which sums angles, which is often seen, doesn't handle non-convex polygons correctly. <p>
+The version which sums longitudes, see http://trs-new.jpl.nasa.gov/dspace/bitstream/2014/40409/1/07-03.pdf, is simple and works well in most cases but not in 180 meridian crossing cases. This probably could be solved. </dd></dl>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00047">47</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="c5f08a5725174c6b864b71cf92825d80"></a><!-- doxytag: member="ggl::strategy::area::huiller::return_type" ref="c5f08a5725174c6b864b71cf92825d80" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00072">72</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d56eacf0dfcb3398349db73ccefd5d4f"></a><!-- doxytag: member="ggl::strategy::area::huiller::segment_point_type" ref="d56eacf0dfcb3398349db73ccefd5d4f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00073">73</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c9e2f27901d3523ef53982a8eb4fecc8"></a><!-- doxytag: member="ggl::strategy::area::huiller::state_type" ref="c9e2f27901d3523ef53982a8eb4fecc8" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00074">74</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" name="6267ff5bf8c05e6721f9ae1586fca455"></a><!-- doxytag: member="ggl::strategy::area::huiller::huiller" ref="6267ff5bf8c05e6721f9ae1586fca455" args="(double radius=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">huiller</a> </td>
+ <td>(</td>
+ <td class="paramtype">double </td>
+ <td class="paramname"> <em>radius</em> = <code>1.0</code> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00076">76</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="e9e1313791b55bc3036db4916c608061"></a><!-- doxytag: member="ggl::strategy::area::huiller::init" ref="e9e1313791b55bc3036db4916c608061" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">state_type</a> <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::init </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00080">80</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d22bbe66effda8c1fc1027ed0689547b"></a><!-- doxytag: member="ggl::strategy::area::huiller::apply" ref="d22bbe66effda8c1fc1027ed0689547b" args="(PointOfSegment const &p1, PointOfSegment const &p2, excess_sum &state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::apply </td>
+ <td>(</td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>p2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> & </td>
+ <td class="paramname"> <em>state</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00085">85</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="28b1aa48766cdaa8272452e1b722cb58"></a><!-- doxytag: member="ggl::strategy::area::huiller::result" ref="28b1aa48766cdaa8272452e1b722cb58" args="(excess_sum const &state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">return_type</a> <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::result </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a> const & </td>
+ <td class="paramname"> <em>state</em> </td>
+ <td> ) </td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00132">132</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -43,9 +43,12 @@
</div>
</div>
<div class="contents">
-<h1>ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a>(segment< const SegmentPointType > const &s, state_type &state) const </td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a></td><td></td></tr>
+<h1>ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#7c1beca9bdd8bed9867a54bb938e45a5">apply</a>(PointOfSegment const &p1, PointOfSegment const &p2, sums &state)</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c6e3759d94d2d67f964a720cc6cbcc7f">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#9cf07c9edf759e3ff9ed1c5c08dff55b">result</a>(sums const &state, Point &centroid)</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#866f5cb46f21a2303db08eca59174d3a">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#64767add38e4bc164acbb78ae620b0d6">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
</table></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -45,7 +45,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::centroid::bashein_detmer" -->Centroid calculation using algorith Bashein / Detmer.
+<h1>ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::centroid::bashein_detmer" -->Centroid calculation using algorith Bashein / Detmer.
<a href="#_details">More...</a>
<p>
@@ -53,28 +53,34 @@
<a href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>sums</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>sums</b></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef sums </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c6e3759d94d2d67f964a720cc6cbcc7f">point_type</a></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">operator()</a> (<a class="el" href="classggl_1_1segment.html">segment</a>< const SegmentPointType > const &s, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> &state) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#866f5cb46f21a2303db08eca59174d3a">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef sums </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#64767add38e4bc164acbb78ae620b0d6">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#7c1beca9bdd8bed9867a54bb938e45a5">apply</a> (PointOfSegment const &p1, PointOfSegment const &p2, sums &state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#9cf07c9edf759e3ff9ed1c5c08dff55b">result</a> (sums const &state, Point &centroid)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename CentroidPointType, typename SegmentPointType = CentroidPointType, typename CalculationType = void><br>
- class ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></h3>
+<h3>template<typename Point, typename PointOfSegment = Point, typename CalculationType = void><br>
+ class ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></h3>
Centroid calculation using algorith Bashein / Detmer.
<p>
Calculates <a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a> using triangulation method published by Bashein / Detmer <dl compact><dt><b>Template Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>PC</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of <a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a> to calculate </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>PS</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments, defaults to PC </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Point</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of <a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a> to calculate </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointOfSegment</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments, defaults to Point </td></tr>
</table>
</dl>
-<dl class="user" compact><dt><b>Concepts for PC and PS:</b></dt><dd><ul>
+<dl class="user" compact><dt><b>Concepts for Point and PointOfSegment:</b></dt><dd><ul>
<li>specialized point_traits class </li></ul>
</dd></dl>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Adapted from "Centroid of a Polygon" by Gerard Bashein and Paul R. Detmer<em>, in "Graphics Gems IV", Academic Press, 1994</em> </dd></dl>
@@ -83,24 +89,24 @@
<li>this: POINT(4.06923363095238 1.65055803571429)</li><li>geolib: POINT(4.07254 1.66819)</li><li>MySQL: POINT(3.6636363636364 1.6272727272727)'</li><li>PostGIS: POINT(4.06923363095238 1.65055803571429)</li><li>Oracle: 4.06923363095238 1.65055803571429</li><li>SQL Server: POINT(4.06923362245959 1.65055804168294)</li></ul>
<p>
Statements:<ul>
-<li><b>MySQL/PostGIS</b>: select AsText(Centroid(GeomFromText('POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2 ,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3))')))</li><li><b>Oracle:</b> select sdo_geom.sdo_centroid(sdo_geometry(2003, null, null, sdo_elem_info_array(1, 1003, 1), sdo_ordinate_array(2,1.3,2.4,1.7,2.8,1.8 ,3.4,1.2,3.7,1.6,3.4,2,4.1,3,5.3,2.6,5.4,1.2,4.9,0.8,2.9,0.7,2,1.3)) , mdsys.sdo_dim_array(mdsys.sdo_dim_element('x',0,10,.00000005) ,mdsys.sdo_dim_element('y',0,10,.00000005))) from dual</li><li><b>SQL</b> Server 2008: select geometry::STGeomFromText('POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2 ,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3))',0) .STCentroid() .STAsText()</li></ul>
+<li><b>MySQL/PostGIS</b>: select AsText(Centroid(GeomFromText( 'POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6 ,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3))')))</li><li><b>Oracle:</b> select sdo_geom.sdo_centroid(sdo_geometry(2003, null, null, sdo_elem_info_array(1, 1003, 1), sdo_ordinate_array( 2,1.3,2.4,1.7,2.8,1.8,3.4,1.2,3.7,1.6,3.4,2,4.1,3,5.3,2.6 ,5.4,1.2,4.9,0.8,2.9,0.7,2,1.3)) , mdsys.sdo_dim_array(mdsys.sdo_dim_element('x',0,10,.00000005) ,mdsys.sdo_dim_element('y',0,10,.00000005))) from dual</li><li><b>SQL</b> Server 2008: select geometry::STGeomFromText( 'POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6 ,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3))',0) .STCentroid() .STAsText()</li></ul>
<p>
With holes:<ul>
<li>this: POINT(4.04663 1.6349)</li><li>geolib: POINT(4.04675 1.65735)</li><li>MySQL: POINT(3.6090580503834 1.607573932092)</li><li>PostGIS: POINT(4.0466265060241 1.63489959839357)</li><li>Oracle: 4.0466265060241 1.63489959839357</li><li>SQL Server: POINT(4.0466264962959677 1.6348996057331333)</li></ul>
<p>
Statements:<ul>
-<li><b>MySQL/PostGIS</b>: select AsText(Centroid(GeomFromText('POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2 ,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3) ,(4 2,4.2 1.4,4.8 1.9,4.4 2.2,4 2))')));</li><li><b>Oracle:</b> select sdo_geom.sdo_centroid(sdo_geometry(2003, null, null , sdo_elem_info_array(1, 1003, 1, 25, 2003, 1) , sdo_ordinate_array(2,1.3,2.4,1.7,2.8,1.8,3.4,1.2,3.7,1.6,3.4,2,4.1,3,5.3 ,2.6,5.4,1.2,4.9,0.8,2.9,0.7,2,1.3,4,2, 4.2,1.4, 4.8,1.9, 4.4,2.2, 4,2)) , mdsys.sdo_dim_array(mdsys.sdo_dim_element('x',0,10,.00000005) ,mdsys.sdo_dim_element('y',0,10,.00000005))) from dual </li></ul>
+<li><b>MySQL/PostGIS</b>: select AsText(Centroid(GeomFromText( 'POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2 ,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3) ,(4 2,4.2 1.4,4.8 1.9,4.4 2.2,4 2))')));</li><li><b>Oracle:</b> select sdo_geom.sdo_centroid(sdo_geometry(2003, null, null , sdo_elem_info_array(1, 1003, 1, 25, 2003, 1) , sdo_ordinate_array(2,1.3,2.4,1.7,2.8,1.8,3.4,1.2,3.7,1.6,3.4, 2,4.1,3,5.3,2.6,5.4,1.2,4.9,0.8,2.9,0.7,2,1.3,4,2, 4.2,1.4, 4.8,1.9, 4.4,2.2, 4,2)) , mdsys.sdo_dim_array(mdsys.sdo_dim_element('x',0,10,.00000005) ,mdsys.sdo_dim_element('y',0,10,.00000005))) from dual </li></ul>
-<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00180">180</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="centroid__bashein__detmer_8hpp_source.html#l00097">97</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="c9134908bec29b94168f6d733a6b2c89"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::state_type" ref="c9134908bec29b94168f6d733a6b2c89" args="" -->
+<a class="anchor" name="64767add38e4bc164acbb78ae620b0d6"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::state_type" ref="64767add38e4bc164acbb78ae620b0d6" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename CentroidPointType , typename SegmentPointType = CentroidPointType, typename CalculationType = void> </div>
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
<table class="memname">
<tr>
- <td class="memname">typedef sums <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>< CentroidPointType, SegmentPointType, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> </td>
+ <td class="memname">typedef sums <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#64767add38e4bc164acbb78ae620b0d6">state_type</a> </td>
</tr>
</table>
</div>
@@ -108,33 +114,110 @@
<p>
-<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00247">247</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="centroid__bashein__detmer_8hpp_source.html#l00145">145</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c6e3759d94d2d67f964a720cc6cbcc7f"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::point_type" ref="c6e3759d94d2d67f964a720cc6cbcc7f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="structggl_1_1point__type.html">point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="centroid__bashein__detmer_8hpp_source.html#l00146">146</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="866f5cb46f21a2303db08eca59174d3a"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::segment_point_type" ref="866f5cb46f21a2303db08eca59174d3a" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#866f5cb46f21a2303db08eca59174d3a">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="centroid__bashein__detmer_8hpp_source.html#l00147">147</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="328f86d7cd18dbaa435df19c924f98fe"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::operator()" ref="328f86d7cd18dbaa435df19c924f98fe" args="(segment< const SegmentPointType > const &s, state_type &state) const " -->
+<a class="anchor" name="7c1beca9bdd8bed9867a54bb938e45a5"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::apply" ref="7c1beca9bdd8bed9867a54bb938e45a5" args="(PointOfSegment const &p1, PointOfSegment const &p2, sums &state)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename CentroidPointType , typename SegmentPointType = CentroidPointType, typename CalculationType = void> </div>
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>< CentroidPointType, SegmentPointType, CalculationType >::operator() </td>
+ <td class="memname">static void <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>< Point, PointOfSegment, CalculationType >::apply </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classggl_1_1segment.html">segment</a>< const SegmentPointType > const & </td>
- <td class="paramname"> <em>s</em>, </td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>p2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">state_type</a> & </td>
+ <td class="paramtype">sums & </td>
<td class="paramname"> <em>state</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="centroid__bashein__detmer_8hpp_source.html#l00149">149</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="9cf07c9edf759e3ff9ed1c5c08dff55b"></a><!-- doxytag: member="ggl::strategy::centroid::bashein_detmer::result" ref="9cf07c9edf759e3ff9ed1c5c08dff55b" args="(sums const &state, Point &centroid)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer</a>< Point, PointOfSegment, CalculationType >::result </td>
+ <td>(</td>
+ <td class="paramtype">sums const & </td>
+ <td class="paramname"> <em>state</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Point & </td>
+ <td class="paramname"> <em>centroid</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
@@ -142,7 +225,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00249">249</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="centroid__bashein__detmer_8hpp_source.html#l00175">175</a> of file <a class="el" href="centroid__bashein__detmer_8hpp_source.html">centroid_bashein_detmer.hpp</a>.</p>
</div>
</div><p>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::strategy::centroid::geolib1995< PC, PS > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995< PC, PS ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a>(const segment< const PS > &s, state_type &state) const </td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995< PC, PS ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995< PC, PS ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1centroid_1_1geolib1995.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,153 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a>::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">geolib1995</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::strategy::centroid::geolib1995< PC, PS > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::centroid::geolib1995" -->Centroid calculation.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>sums</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef sums </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">operator()</a> (const <a class="el" href="classggl_1_1segment.html">segment</a>< const PS > &s, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> &state) const </td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename PC, typename PS = PC><br>
- class ggl::strategy::centroid::geolib1995< PC, PS ></h3>
-
-Centroid calculation.
-<p>
-Geolib original version, <dl class="user" compact><dt><b>Template parameters and concepts: see bashein_detmer</b></dt><dd></dd></dl>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend and Maarten, 1995/1996 <p>
-Revised for templatized library, Barend Gehrels, 2007 </dd></dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>The results are slightly different from Bashein/Detmer, so probably slightly wrong. </dd></dl>
-
-<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00043">43</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="1dd6664e9b804f79ad472e51501568c8"></a><!-- doxytag: member="ggl::strategy::centroid::geolib1995::state_type" ref="1dd6664e9b804f79ad472e51501568c8" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename PC , typename PS = PC> </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef sums <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995</a>< PC, PS >::<a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00079">79</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="2b418413c02d508b0f570efff0102ff6"></a><!-- doxytag: member="ggl::strategy::centroid::geolib1995::operator()" ref="2b418413c02d508b0f570efff0102ff6" args="(const segment< const PS > &s, state_type &state) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename PC , typename PS = PC> </div>
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995</a>< PC, PS >::operator() </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classggl_1_1segment.html">segment</a>< const PS > & </td>
- <td class="paramname"> <em>s</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">state_type</a> & </td>
- <td class="paramname"> <em>state</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="cart__centroid_8hpp_source.html#l00080">80</a> of file <a class="el" href="cart__centroid_8hpp_source.html">cart_centroid.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -85,7 +85,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00045">45</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00044">44</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="e62cf6b01d4e29e04700ef45e0b15db3"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::return_type" ref="e62cf6b01d4e29e04700ef45e0b15db3" args="" -->
<div class="memitem">
@@ -102,7 +102,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00048">48</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00047">47</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
</div>
</div><p>
@@ -121,7 +121,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00049">49</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00048">48</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
</div>
</div><p>
@@ -140,7 +140,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00055">55</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00054">54</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
</div>
</div><p>
@@ -165,7 +165,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00058">58</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00057">57</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
</div>
</div><p>
@@ -199,7 +199,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00068">68</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__cross__track_8hpp_source.html#l00067">67</a> of file <a class="el" href="distance__cross__track_8hpp_source.html">distance_cross_track.hpp</a>.</p>
</div>
</div><p>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -82,7 +82,7 @@
<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Great-circle_distance </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>It says: <em>The great circle <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> d between two points with coordinates {lat1,lon1} and {lat2,lon2} is given by: d=acos(sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon1-lon2)) A mathematically equivalent formula, which is <a class="el" href="structggl_1_1less.html" title="Less predicate for usage in e.g. std::map.">less</a> subject to rounding error for short distances is: d=2*asin(sqrt((sin((lat1-lat2)/2))^2 + cos(lat1)*cos(lat2)*(sin((lon1-lon2)/2))^2))</em> </dd></dl>
-<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00048">48</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00047">47</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="8fd848a2bbc5857c70fa6bce5ffac5d3"></a><!-- doxytag: member="ggl::strategy::distance::haversine::return_type" ref="8fd848a2bbc5857c70fa6bce5ffac5d3" args="" -->
<div class="memitem">
@@ -99,7 +99,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00051">51</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00050">50</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
</div>
</div><p>
@@ -118,7 +118,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00052">52</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00051">51</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
</div>
</div><p>
@@ -143,7 +143,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00054">54</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00053">53</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
</div>
</div><p>
@@ -177,7 +177,7 @@
<p>
-<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00058">58</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+<p>Definition at line <a class="el" href="distance__haversine_8hpp_source.html#l00057">57</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
</div>
</div><p>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">apply</a>(Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, flags &state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">result</a>(flags const &state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1crossings__multiply.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a>::<a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">crossings_multiply</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::within::crossings_multiply" -->Within detection using cross counting,.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>flags</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef flags </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">apply</a> (Point const &<a class="el" href="classggl_1_1point.html">point</a>, PointOfSegment const &seg1, PointOfSegment const &seg2, flags &state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">result</a> (flags const &state)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Point, typename PointOfSegment = Point, typename CalculationType = void><br>
+ class ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></h3>
+
+Within detection using cross counting,.
+<p>
+<dl class="see" compact><dt><b>See also:</b></dt><dd>http://tog.acm.org/resources/GraphicsGems/gemsiv/ptpoly_haines/ptinpoly.c </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Does NOT work correctly for <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> ON border </dd></dl>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00033">33</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="6482df62b2e25a93ca704fd04c8b811f"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::point_type" ref="6482df62b2e25a93ca704fd04c8b811f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="structggl_1_1point__type.html">point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00061">61</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="504d328948460685cb7cdaeadb36a4e2"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::segment_point_type" ref="504d328948460685cb7cdaeadb36a4e2" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00062">62</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7c676d88046afd8fd3507e12a80e038c"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::state_type" ref="7c676d88046afd8fd3507e12a80e038c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef flags <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00063">63</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="80f199c6a3034df498d70d331362953f"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::apply" ref="80f199c6a3034df498d70d331362953f" args="(Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, flags &state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>< Point, PointOfSegment, CalculationType >::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point const & </td>
+ <td class="paramname"> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>seg1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>seg2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">flags & </td>
+ <td class="paramname"> <em>state</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00065">65</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f24bc7f772e47cf8d0b0dee182152b96"></a><!-- doxytag: member="ggl::strategy::within::crossings_multiply::result" ref="f24bc7f772e47cf8d0b0dee182152b96" args="(flags const &state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply</a>< Point, PointOfSegment, CalculationType >::result </td>
+ <td>(</td>
+ <td class="paramtype">flags const & </td>
+ <td class="paramname"> <em>state</em> </td>
+ <td> ) </td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html#l00095">95</a> of file <a class="el" href="point__in__poly__crossings__multiply_8hpp_source.html">point_in_poly_crossings_multiply.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin-members.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">apply</a>(Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, crossings &state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">result</a>(crossings const &state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin.html
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1franklin.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a>::<a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">franklin</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::within::franklin" -->Within detection using cross counting.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>crossings</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef crossings </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">apply</a> (Point const &<a class="el" href="classggl_1_1point.html">point</a>, PointOfSegment const &seg1, PointOfSegment const &seg2, crossings &state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">result</a> (crossings const &state)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Point, typename PointOfSegment = Point, typename CalculationType = void><br>
+ class ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></h3>
+
+Within detection using cross counting.
+<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>adapted from Randolph Franklin algorithm <p>
+Barend and Maarten, 1995 <p>
+Revised for templatized library, Barend Gehrels, 2007 </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is in ring, works for closed rings in both directions </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Does NOT work correctly for <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> ON border </dd></dl>
+
+<p>Definition at line <a class="el" href="point__in__poly__franklin_8hpp_source.html#l00038">38</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="cc0727d9dab9cc7dc5f53c1503ecbc30"></a><!-- doxytag: member="ggl::strategy::within::franklin::point_type" ref="cc0727d9dab9cc7dc5f53c1503ecbc30" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="structggl_1_1point__type.html">point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__franklin_8hpp_source.html#l00062">62</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="603efd6a0b874edba04ffe851eab4d1c"></a><!-- doxytag: member="ggl::strategy::within::franklin::segment_point_type" ref="603efd6a0b874edba04ffe851eab4d1c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__franklin_8hpp_source.html#l00063">63</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="aaf6013cc8941519815cb2c95e80a00c"></a><!-- doxytag: member="ggl::strategy::within::franklin::state_type" ref="aaf6013cc8941519815cb2c95e80a00c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef crossings <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__franklin_8hpp_source.html#l00064">64</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="4b1eb62bc13831e4670bf2ab4daa9745"></a><!-- doxytag: member="ggl::strategy::within::franklin::apply" ref="4b1eb62bc13831e4670bf2ab4daa9745" args="(Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, crossings &state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>< Point, PointOfSegment, CalculationType >::apply </td>
+ <td>(</td>
+ <td class="paramtype">Point const & </td>
+ <td class="paramname"> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>seg1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>seg2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">crossings & </td>
+ <td class="paramname"> <em>state</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__franklin_8hpp_source.html#l00066">66</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="12841ed2bf091c12e34ed2acd5185bd4"></a><!-- doxytag: member="ggl::strategy::within::franklin::result" ref="12841ed2bf091c12e34ed2acd5185bd4" args="(crossings const &state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>< Point, PointOfSegment, CalculationType >::result </td>
+ <td>(</td>
+ <td class="paramtype">crossings const & </td>
+ <td class="paramname"> <em>state</em> </td>
+ <td> ) </td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__franklin_8hpp_source.html#l00087">87</a> of file <a class="el" href="point__in__poly__franklin_8hpp_source.html">point_in_poly_franklin.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -43,9 +43,12 @@
</div>
</div>
<div class="contents">
-<h1>ggl::strategy::within::winding< P, PS > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< P, PS ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a>(const segment< const PS > &s, state_type &state) const </td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< P, PS ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< P, PS ></a></td><td></td></tr>
+<h1>ggl::strategy::within::winding< Point, PointOfSegment, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">apply</a>(Point const &point, PointOfSegment const &s1, PointOfSegment const &s2, counter &state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">result</a>(counter const &state)</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">segment_point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">state_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a></td><td></td></tr>
</table></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1within_1_1winding.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -45,7 +45,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl::strategy::within::winding< P, PS > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::within::winding" -->Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule.
+<h1>ggl::strategy::within::winding< Point, PointOfSegment, CalculationType > Class Template Reference</h1><!-- doxytag: class="ggl::strategy::within::winding" -->Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule.
<a href="#_details">More...</a>
<p>
@@ -53,43 +53,48 @@
<a href="classggl_1_1strategy_1_1within_1_1winding-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>windings</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>counter</b></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef windings </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Point </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">point_type</a></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">operator()</a> (const <a class="el" href="classggl_1_1segment.html">segment</a>< const PS > &s, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> &state) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PointOfSegment </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">segment_point_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef counter </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">state_type</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">apply</a> (Point const &<a class="el" href="classggl_1_1point.html">point</a>, PointOfSegment const &s1, PointOfSegment const &s2, counter &state)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">result</a> (counter const &state)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename P, typename PS = P><br>
- class ggl::strategy::within::winding< P, PS ></h3>
+<h3>template<typename Point, typename PointOfSegment = Point, typename CalculationType = void><br>
+ class ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></h3>
Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule.
<p>
<dl compact><dt><b>Template Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to examine </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>PS</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments, defaults to P </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Point</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to examine </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointOfSegment</em> </td><td><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type of segments, defaults to Point </td></tr>
</table>
</dl>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend Gehrels </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The implementation is inspired by terralib http://www.terralib.org (LGPL) <p>
but totally revised afterwards, especially for cases on segments <p>
-More efficient (<a class="el" href="structggl_1_1less.html" title="Less predicate for usage in e.g. std::map.">less</a> comparisons and no divison) than the cross count algorithm <p>
-Only dependant on "side", -> agnostic, suitable for latlong </dd></dl>
+Only dependant on "side", -> agnostic, suitable for spherical/latlong </dd></dl>
-<p>Definition at line <a class="el" href="agn__within_8hpp_source.html#l00038">38</a> of file <a class="el" href="agn__within_8hpp_source.html">agn_within.hpp</a>.</p>
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00040">40</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="aa5dc8bd530eed3ac8420ccccd2c8e65"></a><!-- doxytag: member="ggl::strategy::within::winding::state_type" ref="aa5dc8bd530eed3ac8420ccccd2c8e65" args="" -->
+<a class="anchor" name="496cb869cb747a80d470ebac9c892eaf"></a><!-- doxytag: member="ggl::strategy::within::winding::point_type" ref="496cb869cb747a80d470ebac9c892eaf" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename P , typename PS = P> </div>
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
<table class="memname">
<tr>
- <td class="memname">typedef windings <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>< P, PS >::<a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> </td>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="structggl_1_1point__type.html">point_type</a> </td>
</tr>
</table>
</div>
@@ -97,33 +102,107 @@
<p>
-<p>Definition at line <a class="el" href="agn__within_8hpp_source.html#l00104">104</a> of file <a class="el" href="agn__within_8hpp_source.html">agn_within.hpp</a>.</p>
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00129">129</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2e557a6a08f8f5b3c27a1d63ff6f6b9b"></a><!-- doxytag: member="ggl::strategy::within::winding::segment_point_type" ref="2e557a6a08f8f5b3c27a1d63ff6f6b9b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointOfSegment <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">segment_point_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00130">130</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="fd7b5eac646626cf446823a10bb5ba95"></a><!-- doxytag: member="ggl::strategy::within::winding::state_type" ref="fd7b5eac646626cf446823a10bb5ba95" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef counter <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>< Point, PointOfSegment, CalculationType >::<a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">state_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00131">131</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="8ce0e3219bdded9943af7bc594a7f1be"></a><!-- doxytag: member="ggl::strategy::within::winding::operator()" ref="8ce0e3219bdded9943af7bc594a7f1be" args="(const segment< const PS > &s, state_type &state) const " -->
+<a class="anchor" name="ec33313d619c08e25278a2eb22f20354"></a><!-- doxytag: member="ggl::strategy::within::winding::apply" ref="ec33313d619c08e25278a2eb22f20354" args="(Point const &point, PointOfSegment const &s1, PointOfSegment const &s2, counter &state)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename P , typename PS = P> </div>
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
<table class="memname">
<tr>
- <td class="memname">bool <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>< P, PS >::operator() </td>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>< Point, PointOfSegment, CalculationType >::apply </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classggl_1_1segment.html">segment</a>< const PS > & </td>
- <td class="paramname"> <em>s</em>, </td>
+ <td class="paramtype">Point const & </td>
+ <td class="paramname"> <em>point</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>s1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">state_type</a> & </td>
+ <td class="paramtype">PointOfSegment const & </td>
+ <td class="paramname"> <em>s2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">counter & </td>
<td class="paramname"> <em>state</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td> const</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00133">133</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2164ea81b8578fb39f9a79090fcedbc4"></a><!-- doxytag: member="ggl::strategy::within::winding::result" ref="2164ea81b8578fb39f9a79090fcedbc4" args="(counter const &state)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point , typename PointOfSegment = Point, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static bool <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding</a>< Point, PointOfSegment, CalculationType >::result </td>
+ <td>(</td>
+ <td class="paramtype">counter const & </td>
+ <td class="paramname"> <em>state</em> </td>
+ <td> ) </td>
+ <td><code> [static]</code></td>
</tr>
</table>
</div>
@@ -131,7 +210,7 @@
<p>
-<p>Definition at line <a class="el" href="agn__within_8hpp_source.html#l00106">106</a> of file <a class="el" href="agn__within_8hpp_source.html">agn_within.hpp</a>.</p>
+<p>Definition at line <a class="el" href="point__in__poly__winding_8hpp_source.html#l00162">162</a> of file <a class="el" href="point__in__poly__winding_8hpp_source.html">point_in_poly_winding.hpp</a>.</p>
</div>
</div><p>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1svg__manipulator.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -71,13 +71,13 @@
Generic geometry template manipulator class, takes corresponding output class from <a class="el" href="namespaceggl_1_1traits.html">traits</a> class.
<p>
Stream manipulator, streams geometry classes as Virtual Earth shape
-<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00223">223</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00206">206</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="f020707f84912c433297184f758dd908"></a><!-- doxytag: member="ggl::svg_manipulator::svg_manipulator" ref="f020707f84912c433297184f758dd908" args="(G const &g, std::string const &style, int size)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G> </div>
+template<typename G > </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classggl_1_1svg__manipulator.html">ggl::svg_manipulator</a>< G >::<a class="el" href="classggl_1_1svg__manipulator.html">svg_manipulator</a> </td>
@@ -108,7 +108,7 @@
<p>
-<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00227">227</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00210">210</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
</div>
</div><p>
@@ -117,7 +117,7 @@
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G> </div>
+template<typename G > </div>
<div class="memtemplate">
template<typename Char , typename Traits > </div>
<table class="memname">
@@ -144,7 +144,7 @@
<p>
-<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00234">234</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00217">217</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
</div>
</div><p>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -46,20 +46,14 @@
<p>
<a href="clear_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear< G ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
-
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl::clear</a> (G &geometry)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">ggl::clear</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
</table>
</div>
<hr size="1">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/clear_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,139 +51,130 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_CLEAR_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_CLEAR_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
-<a name="l00017"></a>00017 {
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="comment">// This traits is currently NOT defined in ../core/ but here, just because it default</span>
-<a name="l00020"></a>00020 <span class="comment">// does not have to be implemented</span>
-<a name="l00021"></a>00021 <span class="keyword">namespace </span>traits
+<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023
-<a name="l00035"></a>00035 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00036"></a><a class="code" href="structggl_1_1traits_1_1clear.html">00036</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a>
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 };
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 } <span class="comment">// namespace traits</span>
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a> {
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00047"></a>00047 <span class="keyword">struct </span>use_std_clear
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G& geometry)
-<a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 geometry.clear();
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a> {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00028"></a>00028 <span class="keyword">struct </span>use_std_clear
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry& geometry)
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 geometry.clear();
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 };
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00037"></a>00037 <span class="keyword">struct </span>use_traits_clear
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry& geometry)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 traits::clear<Geometry>::apply(geometry);
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 };
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00046"></a>00046 <span class="keyword">struct </span>polygon_clear
+<a name="l00047"></a>00047 {
+<a name="l00048"></a>00048 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon& polygon)
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon).clear();
+<a name="l00051"></a>00051 <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon).clear();
<a name="l00052"></a>00052 }
<a name="l00053"></a>00053 };
<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00056"></a>00056 <span class="keyword">struct </span>use_traits_clear
+<a name="l00055"></a>00055 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00056"></a>00056 <span class="keyword">struct </span>no_action
<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G& geometry)
+<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Geometry& geometry)
<a name="l00059"></a>00059 {
-<a name="l00060"></a>00060 traits::clear<G>::apply(geometry);
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062 };
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00065"></a>00065 <span class="keyword">struct </span>polygon_clear
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P& polygon)
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon).clear();
-<a name="l00070"></a>00070 <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon).clear();
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072 };
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 };
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 }} <span class="comment">// namespace detail::clear</span>
+<a name="l00064"></a>00064 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span>
+<a name="l00066"></a>00066 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keywordtype">bool</span> UseStd, <span class="keyword">typename</span> Geometry>
+<a name="l00071"></a>00071 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>
+<a name="l00072"></a>00072 {};
<a name="l00073"></a>00073
-<a name="l00074"></a>00074 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00075"></a>00075 <span class="keyword">struct </span>no_action
-<a name="l00076"></a>00076 {
-<a name="l00077"></a>00077 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(G& geometry)
-<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 }
-<a name="l00080"></a>00080 };
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 }} <span class="comment">// namespace detail::clear</span>
-<a name="l00083"></a>00083 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00084"></a>00084 <span class="preprocessor"></span>
-<a name="l00085"></a>00085 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keywordtype">bool</span> Std, <span class="keyword">typename</span> G>
-<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>
+<a name="l00074"></a>00074 <span class="comment">// True (default for all geometry types, unless otherwise implemented in traits)</span>
+<a name="l00075"></a>00075 <span class="comment">// uses std::clear</span>
+<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry>
+<a name="l00077"></a>00077 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><Tag, true, Geometry>
+<a name="l00078"></a>00078 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::use_std_clear<Geometry>
+<a name="l00079"></a>00079 {};
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="comment">// If any geometry specializes use_std<Geometry> to false, specialize to use the traits clear.</span>
+<a name="l00082"></a>00082 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> Geometry>
+<a name="l00083"></a>00083 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><Tag, false, Geometry>
+<a name="l00084"></a>00084 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::use_traits_clear<Geometry>
+<a name="l00085"></a>00085 {};
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="comment">// Point/box/segment do not have clear. So specialize to do nothing.</span>
+<a name="l00088"></a>00088 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00089"></a>00089 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><point_tag, true, Geometry>
+<a name="l00090"></a>00090 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action<Geometry>
<a name="l00091"></a>00091 {};
<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="comment">// True (default for all geometry types, unless otherwise implemented in traits)</span>
-<a name="l00094"></a>00094 <span class="comment">// uses std::clear</span>
-<a name="l00095"></a>00095 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G>
-<a name="l00096"></a>00096 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><Tag, true, G>
-<a name="l00097"></a>00097 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::use_std_clear<G>
-<a name="l00098"></a>00098 {};
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="comment">// If any geometry specializes use_std<G> to false, specialize to use the traits clear.</span>
-<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G>
-<a name="l00102"></a>00102 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><Tag, false, G>
-<a name="l00103"></a>00103 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::use_traits_clear<G>
-<a name="l00104"></a>00104 {};
+<a name="l00093"></a>00093 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00094"></a>00094 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><box_tag, true, Geometry>
+<a name="l00095"></a>00095 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action<Geometry>
+<a name="l00096"></a>00096 {};
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00099"></a>00099 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><segment_tag, true, Geometry>
+<a name="l00100"></a>00100 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action<Geometry>
+<a name="l00101"></a>00101 {};
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104
<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="comment">// Point/box/nsphere/segment do not have clear. So specialize to do nothing.</span>
-<a name="l00107"></a>00107 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00108"></a>00108 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><point_tag, true, G>
-<a name="l00109"></a>00109 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action<G>
+<a name="l00106"></a>00106 <span class="comment">// Polygon can (indirectly) use std for clear</span>
+<a name="l00107"></a>00107 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00108"></a>00108 <span class="keyword">struct </span><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><polygon_tag, true, Polygon>
+<a name="l00109"></a>00109 : detail::<a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::polygon_clear<Polygon>
<a name="l00110"></a>00110 {};
<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00113"></a>00113 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><box_tag, true, G>
-<a name="l00114"></a>00114 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action<G>
-<a name="l00115"></a>00115 {};
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 } <span class="comment">// namespace dispatch</span>
+<a name="l00114"></a>00114 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00115"></a>00115 <span class="preprocessor"></span>
<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00118"></a>00118 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><segment_tag, true, G>
-<a name="l00119"></a>00119 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action<G>
-<a name="l00120"></a>00120 {};
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00124"></a>00124 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><nsphere_tag, true, G>
-<a name="l00125"></a>00125 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::no_action<G>
-<a name="l00126"></a>00126 {};
+<a name="l00123"></a>00123 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00124"></a><a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">00124</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(Geometry& geometry)
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 concept::check<Geometry>();
<a name="l00127"></a>00127
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <span class="comment">// Polygon can (indirectly) use std for clear</span>
-<a name="l00130"></a>00130 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00131"></a>00131 <span class="keyword">struct </span><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a><polygon_tag, true, P>
-<a name="l00132"></a>00132 : detail::<a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>::polygon_clear<P>
-<a name="l00133"></a>00133 {};
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 } <span class="comment">// namespace dispatch</span>
-<a name="l00137"></a>00137 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00138"></a>00138 <span class="preprocessor"></span>
-<a name="l00139"></a>00139
-<a name="l00146"></a>00146 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00147"></a><a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">00147</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(G& geometry)
-<a name="l00148"></a>00148 {
-<a name="l00149"></a>00149 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type ncg_type;
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">dispatch::clear</a>
-<a name="l00152"></a>00152 <
-<a name="l00153"></a>00153 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00154"></a>00154 <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std<ncg_type>::value</a>,
-<a name="l00155"></a>00155 ncg_type
-<a name="l00156"></a>00156 >::apply(geometry);
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 } <span class="comment">// namespace ggl</span>
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="preprocessor">#endif // GGL_ALGORITHMS_CLEAR_HPP</span>
+<a name="l00128"></a>00128 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">dispatch::clear</a>
+<a name="l00129"></a>00129 <
+<a name="l00130"></a>00130 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00131"></a>00131 <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std</a>
+<a name="l00132"></a>00132 <
+<a name="l00133"></a>00133 <span class="keyword">typename</span> boost::remove_const<Geometry>::type
+<a name="l00134"></a>00134 >::value,
+<a name="l00135"></a>00135 Geometry
+<a name="l00136"></a>00136 >::apply(geometry);
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 } <span class="comment">// namespace ggl</span>
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="preprocessor">#endif // GGL_ALGORITHMS_CLEAR_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -55,164 +55,168 @@
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="box__concept_8hpp.html">ggl/core/concepts/box_concept.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
-<a name="l00021"></a>00021
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a> {
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="keyword">template</span>
-<a name="l00036"></a>00036 <
-<a name="l00037"></a>00037 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
-<a name="l00038"></a>00038 std::size_t Dimension, std::size_t DimensionCount
-<a name="l00039"></a>00039 >
-<a name="l00040"></a>00040 <span class="keyword">struct </span>point_loop
-<a name="l00041"></a>00041 {
-<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Point>::type coordinate_type;
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box, Point <span class="keyword">const</span>& source)
-<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 coordinate_type <span class="keyword">const</span> coord = get<Dimension>(source);
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="keywordflow">if</span> (coord < get<min_corner, Dimension>(box))
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 set<min_corner, Dimension>(box, coord );
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keywordflow">if</span> (coord > get<max_corner, Dimension>(box))
-<a name="l00054"></a>00054 {
-<a name="l00055"></a>00055 set<max_corner, Dimension>(box, coord);
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 point_loop<Box, Point, Dimension + 1, DimensionCount>::apply(box, source);
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060 };
-<a name="l00061"></a>00061
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
+<a name="l00022"></a>00022
+<a name="l00030"></a>00030 <span class="keyword">namespace </span>ggl
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a> {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span>
+<a name="l00037"></a>00037 <
+<a name="l00038"></a>00038 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
+<a name="l00039"></a>00039 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00040"></a>00040 >
+<a name="l00041"></a>00041 <span class="keyword">struct </span>point_loop
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Point>::type coordinate_type;
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box& box, Point <span class="keyword">const</span>& source)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 coordinate_type <span class="keyword">const</span> coord = get<Dimension>(source);
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keywordflow">if</span> (coord < get<min_corner, Dimension>(box))
+<a name="l00050"></a>00050 {
+<a name="l00051"></a>00051 set<min_corner, Dimension>(box, coord );
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (coord > get<max_corner, Dimension>(box))
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 set<max_corner, Dimension>(box, coord);
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 point_loop<Box, Point, Dimension + 1, DimensionCount>::apply(box, source);
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 };
<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="keyword">template</span>
-<a name="l00064"></a>00064 <
-<a name="l00065"></a>00065 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
-<a name="l00066"></a>00066 std::size_t DimensionCount
-<a name="l00067"></a>00067 >
-<a name="l00068"></a>00068 <span class="keyword">struct </span>point_loop<Box, Point, DimensionCount, DimensionCount>
-<a name="l00069"></a>00069 {
-<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&, Point <span class="keyword">const</span>&) {}
-<a name="l00071"></a>00071 };
-<a name="l00072"></a>00072
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span>
+<a name="l00065"></a>00065 <
+<a name="l00066"></a>00066 <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Point,
+<a name="l00067"></a>00067 std::size_t DimensionCount
+<a name="l00068"></a>00068 >
+<a name="l00069"></a>00069 <span class="keyword">struct </span>point_loop<Box, Point, DimensionCount, DimensionCount>
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box&, Point <span class="keyword">const</span>&) {}
+<a name="l00072"></a>00072 };
<a name="l00073"></a>00073
-<a name="l00074"></a>00074 <span class="keyword">template</span>
-<a name="l00075"></a>00075 <
-<a name="l00076"></a>00076 <span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut,
-<a name="l00077"></a>00077 std::size_t Corner,
-<a name="l00078"></a>00078 std::size_t Dimension, std::size_t DimensionCount
-<a name="l00079"></a>00079 >
-<a name="l00080"></a>00080 <span class="keyword">struct </span>box_loop
-<a name="l00081"></a>00081 {
-<a name="l00082"></a>00082 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type<BoxIn, BoxOut>::type coordinate_type;
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(BoxIn& box, BoxOut <span class="keyword">const</span>& source)
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 coordinate_type <span class="keyword">const</span> coord = get<Corner, Dimension>(source);
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 <span class="keywordflow">if</span> (coord < get<min_corner, Dimension>(box))
-<a name="l00089"></a>00089 {
-<a name="l00090"></a>00090 set<min_corner, Dimension>(box, coord);
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keywordflow">if</span> (coord > get<max_corner, Dimension>(box))
-<a name="l00094"></a>00094 {
-<a name="l00095"></a>00095 set<max_corner, Dimension>(box, coord);
-<a name="l00096"></a>00096 }
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 box_loop
-<a name="l00099"></a>00099 <
-<a name="l00100"></a>00100 BoxIn, BoxOut, Corner, Dimension + 1, DimensionCount
-<a name="l00101"></a>00101 >::apply(box, source);
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 };
-<a name="l00104"></a>00104
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">template</span>
+<a name="l00076"></a>00076 <
+<a name="l00077"></a>00077 <span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut,
+<a name="l00078"></a>00078 std::size_t Corner,
+<a name="l00079"></a>00079 std::size_t Dimension, std::size_t DimensionCount
+<a name="l00080"></a>00080 >
+<a name="l00081"></a>00081 <span class="keyword">struct </span>box_loop
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type<BoxIn, BoxOut>::type coordinate_type;
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(BoxIn& box, BoxOut <span class="keyword">const</span>& source)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 coordinate_type <span class="keyword">const</span> coord = get<Corner, Dimension>(source);
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keywordflow">if</span> (coord < get<min_corner, Dimension>(box))
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 set<min_corner, Dimension>(box, coord);
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keywordflow">if</span> (coord > get<max_corner, Dimension>(box))
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 set<max_corner, Dimension>(box, coord);
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 box_loop
+<a name="l00100"></a>00100 <
+<a name="l00101"></a>00101 BoxIn, BoxOut, Corner, Dimension + 1, DimensionCount
+<a name="l00102"></a>00102 >::apply(box, source);
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104 };
<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="keyword">template</span>
-<a name="l00107"></a>00107 <
-<a name="l00108"></a>00108 <span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut,
-<a name="l00109"></a>00109 std::size_t Corner, std::size_t DimensionCount
-<a name="l00110"></a>00110 >
-<a name="l00111"></a>00111 <span class="keyword">struct </span>box_loop<BoxIn, BoxOut, Corner, DimensionCount, DimensionCount>
-<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(BoxIn&, BoxOut <span class="keyword">const</span>&) {}
-<a name="l00114"></a>00114 };
-<a name="l00115"></a>00115
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keyword">template</span>
+<a name="l00108"></a>00108 <
+<a name="l00109"></a>00109 <span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut,
+<a name="l00110"></a>00110 std::size_t Corner, std::size_t DimensionCount
+<a name="l00111"></a>00111 >
+<a name="l00112"></a>00112 <span class="keyword">struct </span>box_loop<BoxIn, BoxOut, Corner, DimensionCount, DimensionCount>
+<a name="l00113"></a>00113 {
+<a name="l00114"></a>00114 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(BoxIn&, BoxOut <span class="keyword">const</span>&) {}
+<a name="l00115"></a>00115 };
<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="comment">// Changes a box b such that it also contains point p</span>
-<a name="l00118"></a>00118 <span class="keyword">template</span><<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00119"></a>00119 <span class="keyword">struct </span>combine_box_with_point
-<a name="l00120"></a>00120 : point_loop<Box, Point, 0, dimension<Point>::type::value>
-<a name="l00121"></a>00121 {};
-<a name="l00122"></a>00122
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="comment">// Changes a box b such that it also contains point p</span>
+<a name="l00119"></a>00119 <span class="keyword">template</span><<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00120"></a>00120 <span class="keyword">struct </span>combine_box_with_point
+<a name="l00121"></a>00121 : point_loop<Box, Point, 0, dimension<Point>::type::value>
+<a name="l00122"></a>00122 {};
<a name="l00123"></a>00123
-<a name="l00124"></a>00124 <span class="comment">// Changes a box such that the other box is also contained by the box</span>
-<a name="l00125"></a>00125 <span class="keyword">template</span><<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> BoxIn>
-<a name="l00126"></a>00126 <span class="keyword">struct </span>combine_box_with_box
-<a name="l00127"></a>00127 {
-<a name="l00128"></a>00128 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(BoxOut& b, BoxIn <span class="keyword">const</span>& other)
-<a name="l00129"></a>00129 {
-<a name="l00130"></a>00130 box_loop<BoxOut, BoxIn, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0,
-<a name="l00131"></a>00131 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<BoxIn>::type::value</a>>::apply(b, other);
-<a name="l00132"></a>00132 box_loop<BoxOut, BoxIn, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0,
-<a name="l00133"></a>00133 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<BoxIn>::type::value</a>>::apply(b, other);
-<a name="l00134"></a>00134 }
-<a name="l00135"></a>00135 };
-<a name="l00136"></a>00136
-<a name="l00137"></a>00137 }} <span class="comment">// namespace detail::combine</span>
-<a name="l00138"></a>00138 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00139"></a>00139 <span class="preprocessor"></span>
-<a name="l00140"></a>00140 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00142"></a>00142 {
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> Geometry>
-<a name="l00145"></a>00145 <span class="keyword">struct </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>
-<a name="l00146"></a>00146 {};
-<a name="l00147"></a>00147
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="comment">// Changes a box such that the other box is also contained by the box</span>
+<a name="l00126"></a>00126 <span class="keyword">template</span><<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> BoxIn>
+<a name="l00127"></a>00127 <span class="keyword">struct </span>combine_box_with_box
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(BoxOut& b, BoxIn <span class="keyword">const</span>& other)
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 box_loop<BoxOut, BoxIn, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0,
+<a name="l00132"></a>00132 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<BoxIn>::type::value</a>>::apply(b, other);
+<a name="l00133"></a>00133 box_loop<BoxOut, BoxIn, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0,
+<a name="l00134"></a>00134 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<BoxIn>::type::value</a>>::apply(b, other);
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 };
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 }} <span class="comment">// namespace detail::combine</span>
+<a name="l00139"></a>00139 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span>
+<a name="l00141"></a>00141 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00143"></a>00143 {
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> Geometry>
+<a name="l00146"></a>00146 <span class="keyword">struct </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>
+<a name="l00147"></a>00147 {};
<a name="l00148"></a>00148
-<a name="l00149"></a>00149 <span class="comment">// Box + point -> new box containing also point</span>
-<a name="l00150"></a>00150 <span class="keyword">template</span> <<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00151"></a>00151 <span class="keyword">struct </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a><point_tag, BoxOut, Point>
-<a name="l00152"></a>00152 : detail::<a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>::combine_box_with_point<BoxOut, Point>
-<a name="l00153"></a>00153 {};
-<a name="l00154"></a>00154
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="comment">// Box + point -> new box containing also point</span>
+<a name="l00151"></a>00151 <span class="keyword">template</span> <<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00152"></a>00152 <span class="keyword">struct </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a><point_tag, BoxOut, Point>
+<a name="l00153"></a>00153 : detail::<a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>::combine_box_with_point<BoxOut, Point>
+<a name="l00154"></a>00154 {};
<a name="l00155"></a>00155
-<a name="l00156"></a>00156 <span class="comment">// Box + box -> new box containing two input boxes</span>
-<a name="l00157"></a>00157 <span class="keyword">template</span> <<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> BoxIn>
-<a name="l00158"></a>00158 <span class="keyword">struct </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a><box_tag, BoxOut, BoxIn>
-<a name="l00159"></a>00159 : detail::<a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>::combine_box_with_box<BoxOut, BoxIn>
-<a name="l00160"></a>00160 {};
-<a name="l00161"></a>00161
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="comment">// Box + box -> new box containing two input boxes</span>
+<a name="l00158"></a>00158 <span class="keyword">template</span> <<span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> BoxIn>
+<a name="l00159"></a>00159 <span class="keyword">struct </span><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a><box_tag, BoxOut, BoxIn>
+<a name="l00160"></a>00160 : detail::<a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>::combine_box_with_box<BoxOut, BoxIn>
+<a name="l00161"></a>00161 {};
<a name="l00162"></a>00162
-<a name="l00163"></a>00163 } <span class="comment">// namespace dispatch</span>
-<a name="l00164"></a>00164 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00165"></a>00165 <span class="preprocessor"></span>
-<a name="l00166"></a>00166
-<a name="l00175"></a>00175 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry>
-<a name="l00176"></a><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">00176</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>(Box& box, Geometry <span class="keyword">const</span>& geometry)
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 assert_dimension_equal<Box, Geometry>();
-<a name="l00179"></a>00179 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">dispatch::combine</a>
-<a name="l00180"></a>00180 <
-<a name="l00181"></a>00181 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00182"></a>00182 Box, Geometry
-<a name="l00183"></a>00183 >::apply(box, geometry);
-<a name="l00184"></a>00184 }
-<a name="l00185"></a>00185
-<a name="l00186"></a>00186 } <span class="comment">// namespace ggl</span>
-<a name="l00187"></a>00187
-<a name="l00188"></a>00188 <span class="preprocessor">#endif // GGL_COMBINE_HPP</span>
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 } <span class="comment">// namespace dispatch</span>
+<a name="l00165"></a>00165 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00166"></a>00166 <span class="preprocessor"></span>
+<a name="l00167"></a>00167
+<a name="l00176"></a>00176 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> Geometry>
+<a name="l00177"></a><a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199">00177</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">combine</a>(Box& box, Geometry <span class="keyword">const</span>& geometry)
+<a name="l00178"></a>00178 {
+<a name="l00179"></a>00179 concept::check<const Geometry>();
+<a name="l00180"></a>00180 concept::check<Box>();
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182 assert_dimension_equal<Box, Geometry>();
+<a name="l00183"></a>00183 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">dispatch::combine</a>
+<a name="l00184"></a>00184 <
+<a name="l00185"></a>00185 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00186"></a>00186 Box, Geometry
+<a name="l00187"></a>00187 >::apply(box, geometry);
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190 } <span class="comment">// namespace ggl</span>
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="preprocessor">#endif // GGL_COMBINE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/compiling.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/compiling.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/compiling.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,7 +50,7 @@
<li>#include <ggl/ggl.hpp> It is not absolutely necessary to include this headerfile, it is also possible to include the algorithm headerfiles separately. However, it is convenient and used in most cases.</li></ul>
<p>
An often used headerfile is <a class="el" href="geometries_8hpp.html">geometries.hpp</a>:<ul>
-<li>#include <<a class="el" href="geometries_8hpp.html">ggl/geometries/geometries.hpp</a>> This includes all default geometries: point, linestring, polygon, linear_ring, box, circle/sphere. It is not included in the "geometry.hpp" headerfile because users are allowed to use their own geometries. However, for library users who want to use the provided geometries it is most useful.</li></ul>
+<li>#include <<a class="el" href="geometries_8hpp.html">ggl/geometries/geometries.hpp</a>> This includes all default geometries: point, linestring, polygon, linear_ring, box. It is not included in the "geometry.hpp" headerfile because users are allowed to use their own geometries. However, for library users who want to use the provided geometries it is most useful.</li></ul>
<p>
For users using only Cartesian points, with floating point coordinates (double), in 2D or 3D, you can use instead:<ul>
<li>#include <<a class="el" href="cartesian2d_8hpp.html">ggl/geometries/cartesian2d.hpp</a>> This includes all 2D Cartesian geometries: point_2d, linestring_2d, etc. Using this headerfile the library seems to be a non-template library, so it is convenient for users that are not so into the template world.</li></ul>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/concepts.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/concepts.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/concepts.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -39,7 +39,7 @@
<h1><a class="anchor" name="concepts">Concepts </a></h1>All geometries are handled as concepts. They are specified by a set of traits classes in the traits namespace.<p>
This means that geometries provided by library users, or legacy geometries, or plain arrays, or boost tuples, all can be handled by the Generic Geometry Library. That is why it is called generic. Also std::vector of points or tuples can be handled as either a linestring or a linear ring (polygon without holes).<p>
There are concepts for<ul>
-<li>points</li><li>box</li><li>n-sphere (meaning circle or sphere)</li><li>linestring</li><li>ring (linear ring, a polygon without holes)</li><li>polygon</li><li>segment</li></ul>
+<li>points</li><li>box</li><li>linestring</li><li>ring (linear ring, a polygon without holes)</li><li>polygon</li><li>segment</li></ul>
<p>
The library uses the generic functionality internally. So it should work with any geometry, as long as the necessary traits classes are provided.<p>
For a valid point five traits classes are necessary:<ul>
@@ -55,7 +55,7 @@
If that traits class is defined, there should also be two other traits classs<ul>
<li>there should then be clear traits class to make a linestring empty</li><li>there should then be a append_point traits class to add a poitn to a linestring</li></ul>
<p>
-There are also concepts for boxes, n-spheres, segments, rings and polygons.<p>
+There are also concepts for boxes, segments, rings and polygons.<p>
The Generic Geometry Library uses Boost Concept Check Library (BCCL) and Meta Programming Language (MPL) to define and check concepts. The Generic Geometry Library uses the Boost Range Library to iterate through standard containers, boost arrays, c-arrays. </div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -58,147 +58,154 @@
<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="algorithms_2for__each_8hpp.html">ggl/algorithms/for_each.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
-<a name="l00023"></a>00023
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a> {
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
-<a name="l00036"></a>00036 <span class="keyword">struct </span>point_to_box
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& point, B& box)
-<a name="l00039"></a>00039 {
-<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 set<C, D>(box, boost::numeric_cast<coordinate_type>(get<D>(point)));
-<a name="l00043"></a>00043 point_to_box<P, B, C, D + 1, N>::apply(point, box);
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045 };
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> N>
-<a name="l00048"></a>00048 <span class="keyword">struct </span>point_to_box<P, B, C, N, N>
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& point, B& box)
-<a name="l00051"></a>00051 {}
-<a name="l00052"></a>00052 };
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 }} <span class="comment">// namespace detail::convert</span>
-<a name="l00055"></a>00055 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="algorithms_2for__each_8hpp.html">ggl/algorithms/for_each.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00027"></a>00027
+<a name="l00033"></a>00033 <span class="keyword">namespace </span>ggl
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a> {
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
+<a name="l00040"></a>00040 <span class="keyword">struct </span>point_to_box
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& point, B& box)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 set<C, D>(box, boost::numeric_cast<coordinate_type>(get<D>(point)));
+<a name="l00047"></a>00047 point_to_box<P, B, C, D + 1, N>::apply(point, box);
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> C, std::<span class="keywordtype">size_t</span> N>
+<a name="l00052"></a>00052 <span class="keyword">struct </span>point_to_box<P, B, C, N, N>
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& point, B& box)
+<a name="l00055"></a>00055 {}
+<a name="l00056"></a>00056 };
<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00060"></a>00060 {
+<a name="l00058"></a>00058 }} <span class="comment">// namespace detail::convert</span>
+<a name="l00059"></a>00059 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span>
<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <span class="keyword">template</span>
-<a name="l00063"></a>00063 <
-<a name="l00064"></a>00064 <span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2,
-<a name="l00065"></a>00065 std::size_t Dimensions,
-<a name="l00066"></a>00066 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2
-<a name="l00067"></a>00067 >
-<a name="l00068"></a>00068 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a>
-<a name="l00069"></a>00069 {
-<a name="l00070"></a>00070 };
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <span class="keyword">template</span>
-<a name="l00073"></a>00073 <
-<a name="l00074"></a>00074 <span class="keyword">typename</span> T,
-<a name="l00075"></a>00075 std::size_t Dimensions,
-<a name="l00076"></a>00076 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2
-<a name="l00077"></a>00077 >
-<a name="l00078"></a>00078 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><T, T, Dimensions, G1, G2>
-<a name="l00079"></a>00079 {
-<a name="l00080"></a>00080 <span class="comment">// Same geometry type -> copy coordinates from G1 to G2</span>
-<a name="l00081"></a>00081 };
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimensions, <span class="keyword">typename</span> G>
-<a name="l00084"></a>00084 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><T, T, Dimensions, G, G>
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="comment">// Same geometry -> can be copied</span>
-<a name="l00087"></a>00087 };
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089
-<a name="l00090"></a>00090 <span class="comment">// Partial specializations</span>
-<a name="l00091"></a>00091 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> R>
-<a name="l00092"></a>00092 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><box_tag, ring_tag, 2, B, R>
-<a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B <span class="keyword">const</span>& box, R& ring)
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <span class="comment">// go from box to ring -> add coordinates in correct order</span>
-<a name="l00097"></a>00097 ring.clear();
-<a name="l00098"></a>00098 <span class="keyword">typename</span> point_type<B>::type point;
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(point, get<min_corner, 0>(box), get<min_corner, 1>(box));
-<a name="l00101"></a>00101 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(point, get<min_corner, 0>(box), get<max_corner, 1>(box));
-<a name="l00104"></a>00104 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(point, get<max_corner, 0>(box), get<max_corner, 1>(box));
-<a name="l00107"></a>00107 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(point, get<max_corner, 0>(box), get<min_corner, 1>(box));
-<a name="l00110"></a>00110 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">ggl::assign</a>(point, get<min_corner, 0>(box), get<min_corner, 1>(box));
-<a name="l00113"></a>00113 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115 };
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> P>
-<a name="l00118"></a>00118 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><box_tag, polygon_tag, 2, B, P>
-<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B <span class="keyword">const</span>& box, P& polygon)
-<a name="l00121"></a>00121 {
-<a name="l00122"></a>00122 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P>::type ring_type;
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 convert<box_tag, ring_tag, 2, B, ring_type>::apply(box, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon));
-<a name="l00125"></a>00125 }
-<a name="l00126"></a>00126 };
+<a name="l00062"></a>00062 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keyword">template</span>
+<a name="l00067"></a>00067 <
+<a name="l00068"></a>00068 <span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2,
+<a name="l00069"></a>00069 std::size_t Dimensions,
+<a name="l00070"></a>00070 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2
+<a name="l00071"></a>00071 >
+<a name="l00072"></a>00072 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a>
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keyword">template</span>
+<a name="l00077"></a>00077 <
+<a name="l00078"></a>00078 <span class="keyword">typename</span> T,
+<a name="l00079"></a>00079 std::size_t Dimensions,
+<a name="l00080"></a>00080 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2
+<a name="l00081"></a>00081 >
+<a name="l00082"></a>00082 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><T, T, Dimensions, G1, G2>
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 <span class="comment">// Same geometry type -> copy coordinates from G1 to G2</span>
+<a name="l00085"></a>00085 };
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keyword">template</span> <<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> Dimensions, <span class="keyword">typename</span> G>
+<a name="l00088"></a>00088 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><T, T, Dimensions, G, G>
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="comment">// Same geometry -> can be copied</span>
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="comment">// Partial specializations</span>
+<a name="l00095"></a>00095 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> R>
+<a name="l00096"></a>00096 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><box_tag, ring_tag, 2, B, R>
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B <span class="keyword">const</span>& box, R& ring)
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 <span class="comment">// go from box to ring -> add coordinates in correct order</span>
+<a name="l00101"></a>00101 ring.clear();
+<a name="l00102"></a>00102 <span class="keyword">typename</span> point_type<B>::type point;
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(point, get<min_corner, 0>(box), get<min_corner, 1>(box));
+<a name="l00105"></a>00105 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(point, get<min_corner, 0>(box), get<max_corner, 1>(box));
+<a name="l00108"></a>00108 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(point, get<max_corner, 0>(box), get<max_corner, 1>(box));
+<a name="l00111"></a>00111 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(point, get<max_corner, 0>(box), get<min_corner, 1>(box));
+<a name="l00114"></a>00114 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">ggl::assign</a>(point, get<min_corner, 0>(box), get<min_corner, 1>(box));
+<a name="l00117"></a>00117 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(ring, point);
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119 };
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> P>
+<a name="l00122"></a>00122 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><box_tag, polygon_tag, 2, B, P>
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B <span class="keyword">const</span>& box, P& polygon)
+<a name="l00125"></a>00125 {
+<a name="l00126"></a>00126 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P>::type ring_type;
<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Dimensions, <span class="keyword">typename</span> B>
-<a name="l00129"></a>00129 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><point_tag, box_tag, Dimensions, P, B>
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& point, B& box)
-<a name="l00132"></a>00132 {
-<a name="l00133"></a>00133 detail::convert::point_to_box
-<a name="l00134"></a>00134 <
-<a name="l00135"></a>00135 P, B, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, Dimensions
-<a name="l00136"></a>00136 >::apply(point, box);
+<a name="l00128"></a>00128 convert<box_tag, ring_tag, 2, B, ring_type>::apply(box, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(polygon));
+<a name="l00129"></a>00129 }
+<a name="l00130"></a>00130 };
+<a name="l00131"></a>00131
+<a name="l00132"></a>00132 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Dimensions, <span class="keyword">typename</span> B>
+<a name="l00133"></a>00133 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><point_tag, box_tag, Dimensions, P, B>
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& point, B& box)
+<a name="l00136"></a>00136 {
<a name="l00137"></a>00137 detail::convert::point_to_box
<a name="l00138"></a>00138 <
-<a name="l00139"></a>00139 P, B, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, Dimensions
+<a name="l00139"></a>00139 P, B, <a class="code" href="namespaceggl.html#1ce1f1fae9b689b692d623ee76d20857">min_corner</a>, 0, Dimensions
<a name="l00140"></a>00140 >::apply(point, box);
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142 };
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 } <span class="comment">// namespace dispatch</span>
-<a name="l00145"></a>00145 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00146"></a>00146 <span class="preprocessor"></span>
-<a name="l00157"></a>00157 <span class="keyword">template</span> <<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
-<a name="l00158"></a><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">00158</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a>(G1 <span class="keyword">const</span>& geometry1, G2& geometry2)
-<a name="l00159"></a>00159 {
-<a name="l00160"></a>00160 assert_dimension_equal<G1, G2>();
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">dispatch::convert</a>
-<a name="l00163"></a>00163 <
-<a name="l00164"></a>00164 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G1>::type</a>,
-<a name="l00165"></a>00165 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G2>::type</a>,
-<a name="l00166"></a>00166 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<G1>::type::value</a>,
-<a name="l00167"></a>00167 G1,
-<a name="l00168"></a>00168 G2
-<a name="l00169"></a>00169 >::apply(geometry1, geometry2);
-<a name="l00170"></a>00170 }
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172 } <span class="comment">// namespace ggl</span>
-<a name="l00173"></a>00173
-<a name="l00174"></a>00174 <span class="preprocessor">#endif // GGL_ALGORITHMS_CONVERT_HPP</span>
+<a name="l00141"></a>00141 detail::convert::point_to_box
+<a name="l00142"></a>00142 <
+<a name="l00143"></a>00143 P, B, <a class="code" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a>, 0, Dimensions
+<a name="l00144"></a>00144 >::apply(point, box);
+<a name="l00145"></a>00145 }
+<a name="l00146"></a>00146 };
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 } <span class="comment">// namespace dispatch</span>
+<a name="l00149"></a>00149 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00150"></a>00150 <span class="preprocessor"></span>
+<a name="l00161"></a>00161 <span class="keyword">template</span> <<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
+<a name="l00162"></a><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">00162</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a>(G1 <span class="keyword">const</span>& geometry1, G2& geometry2)
+<a name="l00163"></a>00163 {
+<a name="l00164"></a>00164 concept::check<const G1>();
+<a name="l00165"></a>00165 concept::check<G2>();
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 assert_dimension_equal<G1, G2>();
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">dispatch::convert</a>
+<a name="l00170"></a>00170 <
+<a name="l00171"></a>00171 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G1>::type</a>,
+<a name="l00172"></a>00172 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G2>::type</a>,
+<a name="l00173"></a>00173 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<G1>::type::value</a>,
+<a name="l00174"></a>00174 G1,
+<a name="l00175"></a>00175 G2
+<a name="l00176"></a>00176 >::apply(geometry1, geometry2);
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 } <span class="comment">// namespace ggl</span>
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="preprocessor">#endif // GGL_ALGORITHMS_CONVERT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -56,7 +56,7 @@
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept_check.hpp></span>
<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
<a name="l00020"></a>00020
@@ -94,8 +94,8 @@
<a name="l00061"></a>00061 <span class="keyword">template</span> <<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst>
<a name="l00062"></a><a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4">00062</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(Src <span class="keyword">const</span>& source, Dst& dest)
<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Src></a>) );
-<a name="l00065"></a>00065 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Dst></a>) );
+<a name="l00064"></a>00064 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<Src></a>) );
+<a name="l00065"></a>00065 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Dst></a>) );
<a name="l00066"></a>00066
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="comment">//assert_dimension_equal<Dst, Src>();</span>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -56,197 +56,201 @@
<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="intersection__point_8hpp.html">ggl/algorithms/overlay/intersection_point.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="ever__circling__iterator_8hpp.html">ggl/iterators/ever_circling_iterator.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="iterators_2vertex__iterator_8hpp.html">ggl/iterators/vertex_iterator.hpp</a>></span>
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl
-<a name="l00024"></a>00024 {
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a> {
-<a name="l00029"></a>00029
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
-<a name="l00032"></a>00032 <span class="keyword">struct </span>copy_segments_ring
-<a name="l00033"></a>00033 {
-<a name="l00034"></a>00034 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring <span class="keyword">const</span>& ring,
-<a name="l00035"></a>00035 SegmentIdentifier <span class="keyword">const</span>& seg_id, <span class="keywordtype">int</span> to_index,
-<a name="l00036"></a>00036 RangeOut& current_output)
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator<Ring, true>::type</a> iterator;
-<a name="l00040"></a>00040 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1ever__circling__iterator.html" title="Iterator which ever circles through a range.">ggl::ever_circling_iterator<iterator></a> ec_iterator;
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="comment">// The problem: sometimes we want to from "3" to "2" -> end = "3" -> end == begin</span>
-<a name="l00043"></a>00043 <span class="comment">// This is not convenient with iterators.</span>
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="comment">// So we use the ever-circling iterator and determine when to step out</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="intersection__point_8hpp.html">ggl/algorithms/overlay/intersection_point.hpp</a>></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="ever__circling__iterator_8hpp.html">ggl/iterators/ever_circling_iterator.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="iterators_2vertex__iterator_8hpp.html">ggl/iterators/vertex_iterator.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a> {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
+<a name="l00034"></a>00034 <span class="keyword">struct </span>copy_segments_ring
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Ring <span class="keyword">const</span>& ring,
+<a name="l00037"></a>00037 SegmentIdentifier <span class="keyword">const</span>& seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00038"></a>00038 RangeOut& current_output)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator<Ring, true>::type</a> iterator;
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1ever__circling__iterator.html" title="Iterator which ever circles through a range.">ggl::ever_circling_iterator<iterator></a> ec_iterator;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="comment">// The problem: sometimes we want to from "3" to "2" -> end = "3" -> end == begin</span>
+<a name="l00045"></a>00045 <span class="comment">// This is not convenient with iterators.</span>
<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keywordtype">int</span> from_index = seg_id.segment_index + 1;
+<a name="l00047"></a>00047 <span class="comment">// So we use the ever-circling iterator and determine when to step out</span>
<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="comment">// Sanity check</span>
-<a name="l00050"></a>00050 BOOST_ASSERT(from_index < boost::size(ring));
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 ec_iterator it(boost::begin(ring), boost::end(ring),
-<a name="l00053"></a>00053 boost::begin(ring) + from_index);
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="comment">// [2..4] -> 4 - 2 + 1 = 3 -> {2,3,4} -> OK</span>
-<a name="l00056"></a>00056 <span class="comment">// [4..2],size=6 -> 6 - 4 + 2 + 1 = 5 -> {4,5,0,1,2} -> OK</span>
-<a name="l00057"></a>00057 <span class="comment">// [1..1], travel the whole ring round</span>
-<a name="l00058"></a>00058 <span class="keywordtype">int</span> count = from_index <= to_index
-<a name="l00059"></a>00059 ? to_index - from_index + 1
-<a name="l00060"></a>00060 : boost::size(ring) - from_index + to_index + 1;
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < count; ++i, ++it)
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 <span class="comment">// TODO: use 'copy coordinates' to handle different point types</span>
-<a name="l00065"></a>00065 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span> std::cout << <span class="stringliteral">" add: ("</span>
-<a name="l00067"></a>00067 << ggl::get<0>(*it) << <span class="stringliteral">", "</span> << ggl::get<1>(*it) << <span class="stringliteral">")"</span>
-<a name="l00068"></a>00068 << std::endl;
-<a name="l00069"></a>00069 <span class="preprocessor">#endif</span>
-<a name="l00070"></a>00070 <span class="preprocessor"></span> current_output.push_back(*it);
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073 };
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
-<a name="l00077"></a>00077 <span class="keyword">struct </span>copy_segments_polygon
-<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& polygon,
-<a name="l00080"></a>00080 SegmentIdentifier <span class="keyword">const</span>& seg_id, <span class="keywordtype">int</span> to_index,
-<a name="l00081"></a>00081 RangeOut& current_output)
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="comment">// Call ring-version with the right ring</span>
-<a name="l00084"></a>00084 copy_segments_ring
-<a name="l00085"></a>00085 <
-<a name="l00086"></a>00086 <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<Polygon>::type</a>,
-<a name="l00087"></a>00087 SegmentIdentifier,
-<a name="l00088"></a>00088 RangeOut
-<a name="l00089"></a>00089 >::apply
-<a name="l00090"></a>00090 (
-<a name="l00091"></a>00091 seg_id.ring_index < 0
-<a name="l00092"></a>00092 ? <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon)
-<a name="l00093"></a>00093 : ggl::<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[seg_id.ring_index],
-<a name="l00094"></a>00094 seg_id, to_index,
-<a name="l00095"></a>00095 current_output
-<a name="l00096"></a>00096 );
-<a name="l00097"></a>00097 }
-<a name="l00098"></a>00098 };
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
-<a name="l00102"></a>00102 <span class="keyword">struct </span>copy_segments_box
-<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>& box,
-<a name="l00105"></a>00105 SegmentIdentifier <span class="keyword">const</span>& seg_id, <span class="keywordtype">int</span> to_index,
-<a name="l00106"></a>00106 RangeOut& current_output)
-<a name="l00107"></a>00107 {
-<a name="l00108"></a>00108 <span class="comment">// Convert again...</span>
-<a name="l00109"></a>00109 <span class="comment">// TODO: avoid that...</span>
-<a name="l00110"></a>00110
-<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Box>::type point_type;
+<a name="l00049"></a>00049 <span class="keywordtype">int</span> from_index = seg_id.segment_index + 1;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="comment">// Sanity check</span>
+<a name="l00052"></a>00052 BOOST_ASSERT(from_index < boost::size(ring));
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 ec_iterator it(boost::begin(ring), boost::end(ring),
+<a name="l00055"></a>00055 boost::begin(ring) + from_index);
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// [2..4] -> 4 - 2 + 1 = 3 -> {2,3,4} -> OK</span>
+<a name="l00058"></a>00058 <span class="comment">// [4..2],size=6 -> 6 - 4 + 2 + 1 = 5 -> {4,5,0,1,2} -> OK</span>
+<a name="l00059"></a>00059 <span class="comment">// [1..1], travel the whole ring round</span>
+<a name="l00060"></a>00060 <span class="keywordtype">int</span> count = from_index <= to_index
+<a name="l00061"></a>00061 ? to_index - from_index + 1
+<a name="l00062"></a>00062 : boost::size(ring) - from_index + to_index + 1;
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < count; ++i, ++it)
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 <span class="comment">// TODO: use 'copy coordinates' to handle different point types</span>
+<a name="l00067"></a>00067 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span> std::cout << <span class="stringliteral">" add: ("</span>
+<a name="l00069"></a>00069 << ggl::get<0>(*it) << <span class="stringliteral">", "</span> << ggl::get<1>(*it) << <span class="stringliteral">")"</span>
+<a name="l00070"></a>00070 << std::endl;
+<a name="l00071"></a>00071 <span class="preprocessor">#endif</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span> current_output.push_back(*it);
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
+<a name="l00079"></a>00079 <span class="keyword">struct </span>copy_segments_polygon
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& polygon,
+<a name="l00082"></a>00082 SegmentIdentifier <span class="keyword">const</span>& seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00083"></a>00083 RangeOut& current_output)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="comment">// Call ring-version with the right ring</span>
+<a name="l00086"></a>00086 copy_segments_ring
+<a name="l00087"></a>00087 <
+<a name="l00088"></a>00088 <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<Polygon>::type</a>,
+<a name="l00089"></a>00089 SegmentIdentifier,
+<a name="l00090"></a>00090 RangeOut
+<a name="l00091"></a>00091 >::apply
+<a name="l00092"></a>00092 (
+<a name="l00093"></a>00093 seg_id.ring_index < 0
+<a name="l00094"></a>00094 ? <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon)
+<a name="l00095"></a>00095 : ggl::<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon)[seg_id.ring_index],
+<a name="l00096"></a>00096 seg_id, to_index,
+<a name="l00097"></a>00097 current_output
+<a name="l00098"></a>00098 );
+<a name="l00099"></a>00099 }
+<a name="l00100"></a>00100 };
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
+<a name="l00104"></a>00104 <span class="keyword">struct </span>copy_segments_box
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Box <span class="keyword">const</span>& box,
+<a name="l00107"></a>00107 SegmentIdentifier <span class="keyword">const</span>& seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00108"></a>00108 RangeOut& current_output)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="comment">// Convert again...</span>
+<a name="l00111"></a>00111 <span class="comment">// TODO: avoid that...</span>
<a name="l00112"></a>00112
-<a name="l00113"></a>00113 point_type ll, lr, ul, ur;
-<a name="l00114"></a>00114 <a class="code" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, ll, lr, ul, ur);
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116 std::vector<point_type> points;
-<a name="l00117"></a>00117 points.push_back(ll);
-<a name="l00118"></a>00118 points.push_back(ul);
-<a name="l00119"></a>00119 points.push_back(ur);
-<a name="l00120"></a>00120 points.push_back(lr);
-<a name="l00121"></a>00121 points.push_back(ll);
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 copy_segments_ring
-<a name="l00124"></a>00124 <
-<a name="l00125"></a>00125 std::vector<point_type>,
-<a name="l00126"></a>00126 SegmentIdentifier,
-<a name="l00127"></a>00127 RangeOut
-<a name="l00128"></a>00128 >
-<a name="l00129"></a>00129 ::apply(points, seg_id, to_index, current_output);
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131 };
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133
+<a name="l00113"></a>00113 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Box>::type point_type;
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 point_type ll, lr, ul, ur;
+<a name="l00116"></a>00116 <a class="code" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, ll, lr, ul, ur);
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 std::vector<point_type> points;
+<a name="l00119"></a>00119 points.push_back(ll);
+<a name="l00120"></a>00120 points.push_back(ul);
+<a name="l00121"></a>00121 points.push_back(ur);
+<a name="l00122"></a>00122 points.push_back(lr);
+<a name="l00123"></a>00123 points.push_back(ll);
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 copy_segments_ring
+<a name="l00126"></a>00126 <
+<a name="l00127"></a>00127 std::vector<point_type>,
+<a name="l00128"></a>00128 SegmentIdentifier,
+<a name="l00129"></a>00129 RangeOut
+<a name="l00130"></a>00130 >
+<a name="l00131"></a>00131 ::apply(points, seg_id, to_index, current_output);
+<a name="l00132"></a>00132 }
+<a name="l00133"></a>00133 };
<a name="l00134"></a>00134
<a name="l00135"></a>00135
-<a name="l00136"></a>00136 }} <span class="comment">// namespace detail::copy_segments</span>
-<a name="l00137"></a>00137 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00138"></a>00138 <span class="preprocessor"></span>
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 <span class="keyword">template</span>
-<a name="l00145"></a>00145 <
-<a name="l00146"></a>00146 <span class="keyword">typename</span> Tag,
-<a name="l00147"></a>00147 <span class="keyword">typename</span> GeometryIn,
-<a name="l00148"></a>00148 <span class="keyword">typename</span> SegmentIdentifier,
-<a name="l00149"></a>00149 <span class="keyword">typename</span> RangeOut
-<a name="l00150"></a>00150 >
-<a name="l00151"></a>00151 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>
-<a name="l00152"></a>00152 {
-<a name="l00153"></a>00153 };
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
-<a name="l00157"></a>00157 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a><ring_tag, Ring, SegmentIdentifier, RangeOut>
-<a name="l00158"></a>00158 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_ring
-<a name="l00159"></a>00159 <
-<a name="l00160"></a>00160 Ring, SegmentIdentifier, RangeOut
-<a name="l00161"></a>00161 >
-<a name="l00162"></a>00162 {};
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
-<a name="l00165"></a>00165 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a><polygon_tag, Polygon, SegmentIdentifier, RangeOut>
-<a name="l00166"></a>00166 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_polygon
-<a name="l00167"></a>00167 <
-<a name="l00168"></a>00168 Polygon, SegmentIdentifier, RangeOut
-<a name="l00169"></a>00169 >
-<a name="l00170"></a>00170 {};
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
-<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a><box_tag, Box, SegmentIdentifier, RangeOut>
-<a name="l00175"></a>00175 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_box
-<a name="l00176"></a>00176 <
-<a name="l00177"></a>00177 Box, SegmentIdentifier, RangeOut
-<a name="l00178"></a>00178 >
-<a name="l00179"></a>00179 {};
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 }} <span class="comment">// namespace detail::copy_segments</span>
+<a name="l00139"></a>00139 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span>
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="keyword">template</span>
+<a name="l00147"></a>00147 <
+<a name="l00148"></a>00148 <span class="keyword">typename</span> Tag,
+<a name="l00149"></a>00149 <span class="keyword">typename</span> GeometryIn,
+<a name="l00150"></a>00150 <span class="keyword">typename</span> SegmentIdentifier,
+<a name="l00151"></a>00151 <span class="keyword">typename</span> RangeOut
+<a name="l00152"></a>00152 >
+<a name="l00153"></a>00153 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 };
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
+<a name="l00159"></a>00159 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a><ring_tag, Ring, SegmentIdentifier, RangeOut>
+<a name="l00160"></a>00160 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_ring
+<a name="l00161"></a>00161 <
+<a name="l00162"></a>00162 Ring, SegmentIdentifier, RangeOut
+<a name="l00163"></a>00163 >
+<a name="l00164"></a>00164 {};
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
+<a name="l00167"></a>00167 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a><polygon_tag, Polygon, SegmentIdentifier, RangeOut>
+<a name="l00168"></a>00168 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_polygon
+<a name="l00169"></a>00169 <
+<a name="l00170"></a>00170 Polygon, SegmentIdentifier, RangeOut
+<a name="l00171"></a>00171 >
+<a name="l00172"></a>00172 {};
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 <span class="keyword">template</span> <<span class="keyword">typename</span> Box, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
+<a name="l00176"></a>00176 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a><box_tag, Box, SegmentIdentifier, RangeOut>
+<a name="l00177"></a>00177 : detail::<a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>::copy_segments_box
+<a name="l00178"></a>00178 <
+<a name="l00179"></a>00179 Box, SegmentIdentifier, RangeOut
+<a name="l00180"></a>00180 >
+<a name="l00181"></a>00181 {};
<a name="l00182"></a>00182
-<a name="l00183"></a>00183 } <span class="comment">// namespace dispatch</span>
-<a name="l00184"></a>00184 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00185"></a>00185 <span class="preprocessor"></span>
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 } <span class="comment">// namespace dispatch</span>
+<a name="l00186"></a>00186 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00187"></a>00187 <span class="preprocessor"></span>
<a name="l00188"></a>00188
<a name="l00189"></a>00189
-<a name="l00194"></a>00194 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
-<a name="l00195"></a><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">00195</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>(Geometry <span class="keyword">const</span>& geometry,
-<a name="l00196"></a>00196 SegmentIdentifier <span class="keyword">const</span>& seg_id, <span class="keywordtype">int</span> to_index,
-<a name="l00197"></a>00197 RangeOut& range_out)
-<a name="l00198"></a>00198 {
-<a name="l00199"></a>00199 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">dispatch::copy_segments</a>
-<a name="l00200"></a>00200 <
-<a name="l00201"></a>00201 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00202"></a>00202 Geometry,
-<a name="l00203"></a>00203 SegmentIdentifier,
-<a name="l00204"></a>00204 RangeOut
-<a name="l00205"></a>00205 >::apply(geometry, seg_id, to_index, range_out);
-<a name="l00206"></a>00206 }
-<a name="l00207"></a>00207
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209 } <span class="comment">// namespace ggl</span>
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_COPY_SEGMENTS_HPP</span>
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191
+<a name="l00196"></a>00196 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> SegmentIdentifier, <span class="keyword">typename</span> RangeOut>
+<a name="l00197"></a><a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">00197</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">copy_segments</a>(Geometry <span class="keyword">const</span>& geometry,
+<a name="l00198"></a>00198 SegmentIdentifier <span class="keyword">const</span>& seg_id, <span class="keywordtype">int</span> to_index,
+<a name="l00199"></a>00199 RangeOut& range_out)
+<a name="l00200"></a>00200 {
+<a name="l00201"></a>00201 concept::check<const Geometry>();
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">dispatch::copy_segments</a>
+<a name="l00204"></a>00204 <
+<a name="l00205"></a>00205 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00206"></a>00206 Geometry,
+<a name="l00207"></a>00207 SegmentIdentifier,
+<a name="l00208"></a>00208 RangeOut
+<a name="l00209"></a>00209 >::apply(geometry, seg_id, to_index, range_out);
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 } <span class="comment">// namespace ggl</span>
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_COPY_SEGMENTS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2geometry__id_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -85,36 +85,32 @@
<a name="l00043"></a>00043
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">template</span> <>
-<a name="l00046"></a>00046 <span class="keyword">struct </span>geometry_id<nsphere_tag> : boost::mpl::int_<91> {};
+<a name="l00046"></a>00046 <span class="keyword">struct </span>geometry_id<segment_tag> : boost::mpl::int_<92> {};
<a name="l00047"></a>00047
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keyword">template</span> <>
-<a name="l00050"></a>00050 <span class="keyword">struct </span>geometry_id<segment_tag> : boost::mpl::int_<92> {};
+<a name="l00050"></a>00050 <span class="keyword">struct </span>geometry_id<ring_tag> : boost::mpl::int_<93> {};
<a name="l00051"></a>00051
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">template</span> <>
-<a name="l00054"></a>00054 <span class="keyword">struct </span>geometry_id<ring_tag> : boost::mpl::int_<93> {};
+<a name="l00054"></a>00054 <span class="keyword">struct </span>geometry_id<box_tag> : boost::mpl::int_<94> {};
<a name="l00055"></a>00055
<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">template</span> <>
-<a name="l00058"></a>00058 <span class="keyword">struct </span>geometry_id<box_tag> : boost::mpl::int_<94> {};
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00059"></a>00059 <span class="preprocessor">#endif</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span>
<a name="l00061"></a>00061
-<a name="l00062"></a>00062 } <span class="comment">// namespace core_dispatch</span>
-<a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span>
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066
-<a name="l00072"></a>00072 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00073"></a><a class="code" href="structggl_1_1geometry__id.html">00073</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1geometry__id.html" title="Meta-function the id for a geometry type.">geometry_id</a> : core_dispatch::<a class="code" href="structggl_1_1geometry__id.html" title="Meta-function the id for a geometry type.">geometry_id</a><typename tag<Geometry>::type>
-<a name="l00074"></a>00074 {};
+<a name="l00062"></a>00062
+<a name="l00068"></a>00068 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00069"></a><a class="code" href="structggl_1_1geometry__id.html">00069</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1geometry__id.html" title="Meta-function the id for a geometry type.">geometry_id</a> : core_dispatch::<a class="code" href="structggl_1_1geometry__id.html" title="Meta-function the id for a geometry type.">geometry_id</a><typename tag<Geometry>::type>
+<a name="l00070"></a>00070 {};
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 } <span class="comment">// namespace ggl</span>
+<a name="l00074"></a>00074
<a name="l00075"></a>00075
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 } <span class="comment">// namespace ggl</span>
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="preprocessor">#endif // GGL_CORE_GEOMETRY_ID_HPP</span>
+<a name="l00076"></a>00076 <span class="preprocessor">#endif // GGL_CORE_GEOMETRY_ID_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -62,9 +62,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1linestring__tag.html">ggl::linestring_tag</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">OGC Linestring identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1nsphere__tag.html">ggl::nsphere_tag</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__tag.html">ggl::point_tag</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">OGC Point identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2tags_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -80,13 +80,11 @@
<a name="l00052"></a>00052
<a name="l00054"></a><a class="code" href="structggl_1_1box__tag.html">00054</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1box__tag.html" title="Convenience 2D or 3D box (mbr) identifying tag.">box_tag</a> {};
<a name="l00055"></a>00055
-<a name="l00057"></a><a class="code" href="structggl_1_1nsphere__tag.html">00057</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1nsphere__tag.html" title="Convenience 2D (circle) or 3D (sphere) n-sphere identifying tag.">nsphere_tag</a> {};
+<a name="l00057"></a><a class="code" href="structggl_1_1segment__tag.html">00057</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment__tag.html" title="Convenience segment (2-points) identifying tag.">segment_tag</a> {};
<a name="l00058"></a>00058
-<a name="l00060"></a><a class="code" href="structggl_1_1segment__tag.html">00060</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1segment__tag.html" title="Convenience segment (2-points) identifying tag.">segment_tag</a> {};
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 } <span class="comment">// namespace ggl</span>
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="preprocessor">#endif // GGL_CORE_TAGS_HPP</span>
+<a name="l00059"></a>00059 } <span class="comment">// namespace ggl</span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="preprocessor">#endif // GGL_CORE_TAGS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2topological__dimension_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -97,30 +97,23 @@
<a name="l00055"></a>00055 <span class="keyword">struct </span>top_dim<polygon_tag> : boost::mpl::int_<2> {};
<a name="l00056"></a>00056
<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="comment">// nsphere: 2, but there is discussion. Is it CLOSED? Then 2, but</span>
-<a name="l00059"></a>00059 <span class="comment">// then it should be called "disk"...</span>
-<a name="l00060"></a>00060 <span class="keyword">template</span> <>
-<a name="l00061"></a>00061 <span class="keyword">struct </span>top_dim<nsphere_tag> : boost::mpl::int_<2> {};
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span>
<a name="l00062"></a>00062
<a name="l00063"></a>00063
<a name="l00064"></a>00064
<a name="l00065"></a>00065
-<a name="l00066"></a>00066 } <span class="comment">// namespace core_dispatch</span>
-<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span>
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072
-<a name="l00081"></a>00081 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00082"></a><a class="code" href="structggl_1_1topological__dimension.html">00082</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1topological__dimension.html" title="Meta-function returning the topological dimension of a geometry.">topological_dimension</a>
-<a name="l00083"></a>00083 : core_dispatch::top_dim<typename tag<Geometry>::type> {};
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 } <span class="comment">// namespace ggl</span>
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="preprocessor">#endif // GGL_CORE_TOPOLOGICAL_DIMENSION_HPP</span>
+<a name="l00074"></a>00074 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00075"></a><a class="code" href="structggl_1_1topological__dimension.html">00075</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1topological__dimension.html" title="Meta-function returning the topological dimension of a geometry.">topological_dimension</a>
+<a name="l00076"></a>00076 : core_dispatch::top_dim<typename tag<Geometry>::type> {};
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 } <span class="comment">// namespace ggl</span>
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="preprocessor">#endif // GGL_CORE_TOPOLOGICAL_DIMENSION_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cs_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -134,7 +134,7 @@
<a name="l00152"></a>00152 {
<a name="l00153"></a>00153 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1traits_1_1cs__tag.html" title="Traits class defining coordinate system tag, bound to coordinate system.">traits::cs_tag</a>
<a name="l00154"></a>00154 <
-<a name="l00155"></a>00155 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">ggl::coordinate_system<G>::type</a>
+<a name="l00155"></a>00155 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">ggl::coordinate_system<G>::type</a>
<a name="l00156"></a><a class="code" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">00156</a> ><a class="code" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">::type</a> <a class="code" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">type</a>;
<a name="l00157"></a>00157 };
<a name="l00158"></a>00158
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/design.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -97,7 +97,7 @@
</pre></div><p>
Calling traits::access<point, 0>::get(a) now returns us our x-coordinate. Nice? It is too verbose for a function like this, used so often in the library. We can shorten the syntax by adding an extra function: template <int D, typename P> <div class="fragment"><pre class="fragment"><span class="keyword">inline</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(P <span class="keyword">const</span>& p)
{
- <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::access<P, D>::get</a>(p);
+ <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">traits::access<P, D>::get</a>(p);
}
</pre></div><p>
This enables us to call get<0>(a), for any point having the traits::access specialization, as shown in the distance algorithm at the start of this paragraph. So we wanted to enable classes with methods like .x(), and they are supported as long as there is a specialization of the access struct with a static get function returning .x() for dimension 0, and similar for 1 and .y().<p>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -60,198 +60,204 @@
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="reverse__dispatch_8hpp.html">ggl/core/reverse_dispatch.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00023"></a>00023
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
-<a name="l00027"></a>00027 {
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a> {
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
+<a name="l00030"></a>00030 {
<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
-<a name="l00033"></a>00033 <span class="keyword">struct </span>point_point
-<a name="l00034"></a>00034 {
-<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type<P1, P2>::type coordinate_type;
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)
-<a name="l00038"></a>00038 {
-<a name="l00039"></a>00039 <span class="keywordflow">if</span> (! <a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(get<D>(p1), get<D>(p2)))
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00042"></a>00042 }
-<a name="l00043"></a>00043 <span class="keywordflow">return</span> point_point<P1, P2, D + 1, N>::apply(p1, p2);
-<a name="l00044"></a>00044 }
-<a name="l00045"></a>00045 };
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> N>
-<a name="l00048"></a>00048 <span class="keyword">struct </span>point_point<P1, P2, N, N>
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>& , P2 <span class="keyword">const</span>& )
-<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054 };
-<a name="l00055"></a>00055
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
-<a name="l00058"></a>00058 <span class="keyword">struct </span>point_box
-<a name="l00059"></a>00059 {
-<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& point, B <span class="keyword">const</span>& box)
-<a name="l00061"></a>00061 {
-<a name="l00062"></a>00062 <span class="keywordflow">if</span> (get<D>(point) < get<min_corner, D>(box)
-<a name="l00063"></a>00063 || get<D>(point) > get<max_corner, D>(box))
-<a name="l00064"></a>00064 {
-<a name="l00065"></a>00065 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00066"></a>00066 }
-<a name="l00067"></a>00067 <span class="keywordflow">return</span> point_box<P, B, D + 1, N>::apply(point, box);
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069 };
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> N>
-<a name="l00072"></a>00072 <span class="keyword">struct </span>point_box<P, B, N, N>
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& , B <span class="keyword">const</span>& )
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 };
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
-<a name="l00082"></a>00082 <span class="keyword">struct </span>box_box
-<a name="l00083"></a>00083 {
-<a name="l00084"></a>00084 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>& box1, B2 <span class="keyword">const</span>& box2)
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> (get<max_corner, D>(box1) < get<min_corner, D>(box2))
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 <span class="keywordflow">if</span> (get<min_corner, D>(box1) > get<max_corner, D>(box2))
-<a name="l00091"></a>00091 {
-<a name="l00092"></a>00092 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00093"></a>00093 }
-<a name="l00094"></a>00094 <span class="keywordflow">return</span> box_box<B1, B2, D + 1, N>::apply(box1, box2);
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096 };
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> N>
-<a name="l00099"></a>00099 <span class="keyword">struct </span>box_box<B1, B2, N, N>
-<a name="l00100"></a>00100 {
-<a name="l00101"></a>00101 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>& , B2 <span class="keyword">const</span>& )
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00104"></a>00104 }
-<a name="l00105"></a>00105 };
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 }} <span class="comment">// namespace detail::disjoint</span>
-<a name="l00110"></a>00110 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00111"></a>00111 <span class="preprocessor"></span>
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00114"></a>00114 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00115"></a>00115 {
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keyword">template</span>
-<a name="l00118"></a>00118 <
-<a name="l00119"></a>00119 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
-<a name="l00120"></a>00120 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
-<a name="l00121"></a>00121 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
-<a name="l00122"></a>00122 std::size_t DimensionCount
-<a name="l00123"></a>00123 >
-<a name="l00124"></a>00124 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>
-<a name="l00125"></a>00125 {
-<a name="l00126"></a>00126 };
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00129"></a>00129 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a><point_tag, point_tag, P1, P2, false, false, DimensionCount>
-<a name="l00130"></a>00130 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::point_point<P1, P2, 0, DimensionCount>
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 };
-<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00135"></a>00135 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a><box_tag, box_tag, B1, B2, false, false, DimensionCount>
-<a name="l00136"></a>00136 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::box_box<B1, B2, 0, DimensionCount>
-<a name="l00137"></a>00137 {
-<a name="l00138"></a>00138 };
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00141"></a>00141 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a><point_tag, box_tag, P, B, false, false, DimensionCount>
-<a name="l00142"></a>00142 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::point_box<P, B, 0, DimensionCount>
-<a name="l00143"></a>00143 {
-<a name="l00144"></a>00144 };
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146
-<a name="l00147"></a>00147 <span class="keyword">template</span>
-<a name="l00148"></a>00148 <
-<a name="l00149"></a>00149 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
-<a name="l00150"></a>00150 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
-<a name="l00151"></a>00151 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
-<a name="l00152"></a>00152 std::size_t DimensionCount
-<a name="l00153"></a>00153 >
-<a name="l00154"></a>00154 <span class="keyword">struct </span>disjoint_reversed
-<a name="l00155"></a>00155 {
-<a name="l00156"></a>00156 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2)
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>
-<a name="l00159"></a>00159 <
-<a name="l00160"></a>00160 GeometryTag2, GeometryTag1,
-<a name="l00161"></a>00161 G2, G1,
-<a name="l00162"></a>00162 IsMulti2, IsMulti1,
-<a name="l00163"></a>00163 DimensionCount
-<a name="l00164"></a>00164 >::apply(g2, g1);
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166 };
-<a name="l00167"></a>00167
-<a name="l00168"></a>00168
-<a name="l00169"></a>00169 } <span class="comment">// namespace dispatch</span>
-<a name="l00170"></a>00170 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00171"></a>00171 <span class="preprocessor"></span>
-<a name="l00172"></a>00172
-<a name="l00173"></a>00173
-<a name="l00183"></a>00183 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2>
-<a name="l00184"></a><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">00184</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>(<span class="keyword">const</span> Geometry1& geometry1,
-<a name="l00185"></a>00185 <span class="keyword">const</span> Geometry2& geometry2)
-<a name="l00186"></a>00186 {
-<a name="l00187"></a>00187 assert_dimension_equal<Geometry1, Geometry2>();
-<a name="l00188"></a>00188
-<a name="l00189"></a>00189 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry1>::type ncg1_type;
-<a name="l00190"></a>00190 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry2>::type ncg2_type;
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192 <span class="keywordflow">return</span> boost::mpl::if_c
-<a name="l00193"></a>00193 <
-<a name="l00194"></a>00194 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch<Geometry1, Geometry2>::type::value</a>,
-<a name="l00195"></a>00195 dispatch::disjoint_reversed
-<a name="l00196"></a>00196 <
-<a name="l00197"></a>00197 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg1_type>::type</a>,
-<a name="l00198"></a>00198 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg2_type>::type</a>,
-<a name="l00199"></a>00199 ncg1_type,
-<a name="l00200"></a>00200 ncg2_type,
-<a name="l00201"></a>00201 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg1_type>::type::value</a>,
-<a name="l00202"></a>00202 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg2_type>::type::value</a>,
-<a name="l00203"></a>00203 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<ncg1_type>::type::value</a>
-<a name="l00204"></a>00204 >,
-<a name="l00205"></a>00205 <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">dispatch::disjoint</a>
-<a name="l00206"></a>00206 <
-<a name="l00207"></a>00207 <span class="keyword">typename</span> tag<ncg1_type>::type,
-<a name="l00208"></a>00208 <span class="keyword">typename</span> tag<ncg2_type>::type,
-<a name="l00209"></a>00209 ncg1_type,
-<a name="l00210"></a>00210 ncg2_type,
-<a name="l00211"></a>00211 is_multi<ncg1_type>::type::value,
-<a name="l00212"></a>00212 is_multi<ncg2_type>::type::value,
-<a name="l00213"></a>00213 dimension<ncg1_type>::type::value
-<a name="l00214"></a>00214 >
-<a name="l00215"></a>00215 >::type::apply(geometry1, geometry2);
-<a name="l00216"></a>00216 }
-<a name="l00217"></a>00217
-<a name="l00218"></a>00218
-<a name="l00219"></a>00219 } <span class="comment">// namespace ggl</span>
-<a name="l00220"></a>00220
-<a name="l00221"></a>00221 <span class="preprocessor">#endif // GGL_ALGORITHMS_DISJOINT_HPP</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a> {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
+<a name="l00036"></a>00036 <span class="keyword">struct </span>point_point
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type<P1, P2>::type coordinate_type;
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keywordflow">if</span> (! <a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(get<D>(p1), get<D>(p2)))
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 <span class="keywordflow">return</span> point_point<P1, P2, D + 1, N>::apply(p1, p2);
+<a name="l00047"></a>00047 }
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> N>
+<a name="l00051"></a>00051 <span class="keyword">struct </span>point_point<P1, P2, N, N>
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P1 <span class="keyword">const</span>& , P2 <span class="keyword">const</span>& )
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
+<a name="l00061"></a>00061 <span class="keyword">struct </span>point_box
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& point, B <span class="keyword">const</span>& box)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="keywordflow">if</span> (get<D>(point) < get<min_corner, D>(box)
+<a name="l00066"></a>00066 || get<D>(point) > get<max_corner, D>(box))
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 <span class="keywordflow">return</span> point_box<P, B, D + 1, N>::apply(point, box);
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> N>
+<a name="l00075"></a>00075 <span class="keyword">struct </span>point_box<P, B, N, N>
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(P <span class="keyword">const</span>& , B <span class="keyword">const</span>& )
+<a name="l00078"></a>00078 {
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 };
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
+<a name="l00085"></a>00085 <span class="keyword">struct </span>box_box
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>& box1, B2 <span class="keyword">const</span>& box2)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">if</span> (get<max_corner, D>(box1) < get<min_corner, D>(box2))
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093 <span class="keywordflow">if</span> (get<min_corner, D>(box1) > get<max_corner, D>(box2))
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> box_box<B1, B2, D + 1, N>::apply(box1, box2);
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> N>
+<a name="l00102"></a>00102 <span class="keyword">struct </span>box_box<B1, B2, N, N>
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(B1 <span class="keyword">const</span>& , B2 <span class="keyword">const</span>& )
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108 };
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 }} <span class="comment">// namespace detail::disjoint</span>
+<a name="l00113"></a>00113 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00114"></a>00114 <span class="preprocessor"></span>
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00117"></a>00117 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 <span class="keyword">template</span>
+<a name="l00121"></a>00121 <
+<a name="l00122"></a>00122 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00123"></a>00123 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00124"></a>00124 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00125"></a>00125 std::size_t DimensionCount
+<a name="l00126"></a>00126 >
+<a name="l00127"></a>00127 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 };
+<a name="l00130"></a>00130
+<a name="l00131"></a>00131 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00132"></a>00132 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a><point_tag, point_tag, P1, P2, false, false, DimensionCount>
+<a name="l00133"></a>00133 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::point_point<P1, P2, 0, DimensionCount>
+<a name="l00134"></a>00134 {
+<a name="l00135"></a>00135 };
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="keyword">template</span> <<span class="keyword">typename</span> B1, <span class="keyword">typename</span> B2, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00138"></a>00138 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a><box_tag, box_tag, B1, B2, false, false, DimensionCount>
+<a name="l00139"></a>00139 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::box_box<B1, B2, 0, DimensionCount>
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 };
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00144"></a>00144 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a><point_tag, box_tag, P, B, false, false, DimensionCount>
+<a name="l00145"></a>00145 : detail::<a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>::point_box<P, B, 0, DimensionCount>
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 };
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150 <span class="keyword">template</span>
+<a name="l00151"></a>00151 <
+<a name="l00152"></a>00152 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00153"></a>00153 <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2,
+<a name="l00154"></a>00154 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00155"></a>00155 std::size_t DimensionCount
+<a name="l00156"></a>00156 >
+<a name="l00157"></a>00157 <span class="keyword">struct </span>disjoint_reversed
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2)
+<a name="l00160"></a>00160 {
+<a name="l00161"></a>00161 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>
+<a name="l00162"></a>00162 <
+<a name="l00163"></a>00163 GeometryTag2, GeometryTag1,
+<a name="l00164"></a>00164 G2, G1,
+<a name="l00165"></a>00165 IsMulti2, IsMulti1,
+<a name="l00166"></a>00166 DimensionCount
+<a name="l00167"></a>00167 >::apply(g2, g1);
+<a name="l00168"></a>00168 }
+<a name="l00169"></a>00169 };
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171
+<a name="l00172"></a>00172 } <span class="comment">// namespace dispatch</span>
+<a name="l00173"></a>00173 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00174"></a>00174 <span class="preprocessor"></span>
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176
+<a name="l00186"></a>00186 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2>
+<a name="l00187"></a><a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">00187</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">disjoint</a>(<span class="keyword">const</span> Geometry1& geometry1,
+<a name="l00188"></a>00188 <span class="keyword">const</span> Geometry2& geometry2)
+<a name="l00189"></a>00189 {
+<a name="l00190"></a>00190 concept::check<const Geometry1>();
+<a name="l00191"></a>00191 concept::check<const Geometry2>();
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 assert_dimension_equal<Geometry1, Geometry2>();
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry1>::type ncg1_type;
+<a name="l00196"></a>00196 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry2>::type ncg2_type;
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00199"></a>00199 <
+<a name="l00200"></a>00200 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch<Geometry1, Geometry2>::type::value</a>,
+<a name="l00201"></a>00201 dispatch::disjoint_reversed
+<a name="l00202"></a>00202 <
+<a name="l00203"></a>00203 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg1_type>::type</a>,
+<a name="l00204"></a>00204 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg2_type>::type</a>,
+<a name="l00205"></a>00205 ncg1_type,
+<a name="l00206"></a>00206 ncg2_type,
+<a name="l00207"></a>00207 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg1_type>::type::value</a>,
+<a name="l00208"></a>00208 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg2_type>::type::value</a>,
+<a name="l00209"></a>00209 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<ncg1_type>::type::value</a>
+<a name="l00210"></a>00210 >,
+<a name="l00211"></a>00211 <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">dispatch::disjoint</a>
+<a name="l00212"></a>00212 <
+<a name="l00213"></a>00213 <span class="keyword">typename</span> tag<ncg1_type>::type,
+<a name="l00214"></a>00214 <span class="keyword">typename</span> tag<ncg2_type>::type,
+<a name="l00215"></a>00215 ncg1_type,
+<a name="l00216"></a>00216 ncg2_type,
+<a name="l00217"></a>00217 is_multi<ncg1_type>::type::value,
+<a name="l00218"></a>00218 is_multi<ncg2_type>::type::value,
+<a name="l00219"></a>00219 dimension<ncg1_type>::type::value
+<a name="l00220"></a>00220 >
+<a name="l00221"></a>00221 >::type::apply(geometry1, geometry2);
+<a name="l00222"></a>00222 }
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224
+<a name="l00225"></a>00225 } <span class="comment">// namespace ggl</span>
+<a name="l00226"></a>00226
+<a name="l00227"></a>00227 <span class="preprocessor">#endif // GGL_ALGORITHMS_DISJOINT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -55,7 +55,7 @@
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept_check.hpp></span>
<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019
@@ -71,7 +71,7 @@
<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_type ptype;
<a name="l00034"></a>00034 BOOST_CONCEPT_ASSERT
<a name="l00035"></a>00035 (
-<a name="l00036"></a>00036 (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<ptype></a>)
+<a name="l00036"></a>00036 (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<ptype></a>)
<a name="l00037"></a>00037 );
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="comment">// 2) must define return_type</span>
@@ -80,7 +80,7 @@
<a name="l00042"></a>00042 <span class="comment">// 3) must implement static method () with arguments</span>
<a name="l00043"></a>00043 <span class="keyword">struct </span>apply_checker
<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047 Strategy s;
<a name="l00048"></a>00048 ptype *p1;
@@ -94,7 +94,7 @@
<a name="l00056"></a>00056 <span class="keyword">public</span> :
<a name="l00057"></a><a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html#902301c0010222a56dd61cf69d2ee893">00057</a> <a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html#902301c0010222a56dd61cf69d2ee893">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html" title="Checks strategy for point-segment-distance.">PointDistanceStrategy</a>)
<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 apply_checker::check();
+<a name="l00059"></a>00059 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">apply_checker::check</a>();
<a name="l00060"></a>00060 }
<a name="l00061"></a>00061 };
<a name="l00062"></a>00062
@@ -108,7 +108,7 @@
<a name="l00074"></a>00074 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_type ptype;
<a name="l00075"></a>00075 BOOST_CONCEPT_ASSERT
<a name="l00076"></a>00076 (
-<a name="l00077"></a>00077 (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<ptype></a>)
+<a name="l00077"></a>00077 (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<ptype></a>)
<a name="l00078"></a>00078 );
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="comment">// 2) must define return_type</span>
@@ -125,7 +125,7 @@
<a name="l00091"></a>00091 <span class="comment">// 4) must implement static method () with arguments</span>
<a name="l00092"></a>00092 <span class="keyword">struct </span>apply_checker
<a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00094"></a>00094 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
<a name="l00095"></a>00095 {
<a name="l00096"></a>00096 Strategy s;
<a name="l00097"></a>00097 ptype *p1;
@@ -138,7 +138,7 @@
<a name="l00104"></a>00104 <span class="keyword">public</span> :
<a name="l00105"></a><a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html#91386bae305551b33feb8399bf3ea441">00105</a> <a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html#91386bae305551b33feb8399bf3ea441">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html" title="Checks strategy for point-segment-distance.">PointSegmentDistanceStrategy</a>)
<a name="l00106"></a>00106 {
-<a name="l00107"></a>00107 apply_checker::check();
+<a name="l00107"></a>00107 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">apply_checker::check</a>();
<a name="l00108"></a>00108 }
<a name="l00109"></a>00109 };
<a name="l00110"></a>00110
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x63.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x65.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x68.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x69.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6e.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x73.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x62.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x63.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x64.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x65.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x67.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x68.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x69.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6c.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6d.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6f.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x70.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x72.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x73.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x74.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x75.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x76.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x77.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x78.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x79.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x7e.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__arithmetic.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__boolean__relations.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__centroid.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__combine.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__concepts.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convert.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convex__hull.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__core.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__envelope.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__intermediate.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__length.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__overlay.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__perimeter.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__sectionalize.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__selected.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__svg.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__transform.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__utility.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/index.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept_1_1detail.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaces.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ogc.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1checker.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1nsphere__tag.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__access.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__type.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within__concept_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within__concept_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html
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
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,143 +53,142 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="radian__access_8hpp.html">ggl/core/radian_access.hpp</a>></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="radian__access_8hpp.html">ggl/core/radian_access.hpp</a>></span>
+<a name="l00016"></a>00016
<a name="l00017"></a>00017
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>></span>
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>></span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="comment">//#include <ggl/util/write_dsv.hpp></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
+<a name="l00023"></a>00023 <span class="comment">//#include <ggl/util/write_dsv.hpp></span>
+<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">namespace </span>ggl
-<a name="l00029"></a>00029 {
-<a name="l00030"></a>00030 <span class="keyword">namespace </span>strategy
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="keyword">namespace </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
-<a name="l00034"></a>00034 {
-<a name="l00035"></a>00035
-<a name="l00044"></a>00044 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> S>
-<a name="l00045"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">00045</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html" title="Strategy functor for distance point to segment calculation.">cross_track</a>
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 <span class="keyword">public</span> :
-<a name="l00048"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">00048</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a>;
-<a name="l00049"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#08edd81bdb1f8a1296dbaebfc1ca3932">00049</a> <span class="keyword">typedef</span> P <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00050"></a>00050 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
-<a name="l00051"></a>00051 <
-<a name="l00052"></a>00052 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">ggl::cs_tag<P>::type</a>,
-<a name="l00053"></a>00053 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">ggl::cs_tag<P>::type</a>,
-<a name="l00054"></a>00054 P, P
-<a name="l00055"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">00055</a> >::type <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">point_strategy_type</a>;
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>strategy
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="keyword">namespace </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034
+<a name="l00043"></a>00043 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> S>
+<a name="l00044"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">00044</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html" title="Strategy functor for distance point to segment calculation.">cross_track</a>
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 <span class="keyword">public</span> :
+<a name="l00047"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">00047</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a>;
+<a name="l00048"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#08edd81bdb1f8a1296dbaebfc1ca3932">00048</a> <span class="keyword">typedef</span> P <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__distance.html" title="Traits class binding a distance strategy to a (possibly two) coordinate system(s)...">strategy_distance</a>
+<a name="l00050"></a>00050 <
+<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">ggl::cs_tag<P>::type</a>,
+<a name="l00052"></a>00052 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">ggl::cs_tag<P>::type</a>,
+<a name="l00053"></a>00053 P, P
+<a name="l00054"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">00054</a> >::type <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">point_strategy_type</a>;
+<a name="l00055"></a>00055
<a name="l00056"></a>00056
-<a name="l00057"></a>00057
-<a name="l00058"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#06581a2187a083f85b27f19b97366549">00058</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#06581a2187a083f85b27f19b97366549">cross_track</a>(<span class="keywordtype">double</span> r = 1.0)
-<a name="l00059"></a>00059 : m_radius(r)
-<a name="l00060"></a>00060 , m_strategy(1.0) <span class="comment">// Keep this 1.0 and not r</span>
-<a name="l00061"></a>00061 {}
+<a name="l00057"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#06581a2187a083f85b27f19b97366549">00057</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#06581a2187a083f85b27f19b97366549">cross_track</a>(<span class="keywordtype">double</span> r = 1.0)
+<a name="l00058"></a>00058 : m_radius(r)
+<a name="l00059"></a>00059 , m_strategy(1.0) <span class="comment">// Keep this 1.0 and not r</span>
+<a name="l00060"></a>00060 {}
+<a name="l00061"></a>00061
<a name="l00062"></a>00062
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="comment">// It might be useful in the future</span>
-<a name="l00065"></a>00065 <span class="comment">// to overload constructor with strategy info.</span>
+<a name="l00063"></a>00063 <span class="comment">// It might be useful in the future</span>
+<a name="l00064"></a>00064 <span class="comment">// to overload constructor with strategy info.</span>
+<a name="l00065"></a>00065
<a name="l00066"></a>00066
-<a name="l00067"></a>00067
-<a name="l00068"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">00068</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">operator()</a>(P <span class="keyword">const</span>& p, S <span class="keyword">const</span>& s)<span class="keyword"> const</span>
-<a name="l00069"></a>00069 <span class="keyword"> </span>{
-<a name="l00070"></a>00070 <span class="comment">// ASSUMPTION: segment</span>
-<a name="l00071"></a>00071 <span class="comment">// However, this is normally called from internal functions</span>
-<a name="l00072"></a>00072 <span class="comment">// Future: solve this using other functions using get<,></span>
-<a name="l00073"></a>00073 <span class="keywordflow">return</span> calc(p, s.first, s.second);
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">private</span> :
-<a name="l00077"></a>00077 <span class="keywordtype">double</span> m_radius;
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="comment">// Point-point distances are calculated in radians, on the unit sphere</span>
-<a name="l00080"></a>00080 <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">point_strategy_type</a> m_strategy;
-<a name="l00081"></a>00081
-<a name="l00083"></a>00083 <span class="keyword">inline</span> <span class="keywordtype">double</span> course(P <span class="keyword">const</span>& p1, P <span class="keyword">const</span>& p2)<span class="keyword"> const</span>
-<a name="l00084"></a>00084 <span class="keyword"> </span>{
-<a name="l00085"></a>00085 <span class="comment">// http://williams.best.vwh.net/avform.htm#Crs>
-<a name="l00086"></a>00086 <span class="keywordtype">double</span> dlon = get_as_radian<0>(p2) - get_as_radian<0>(p1);
-<a name="l00087"></a>00087 <span class="keywordtype">double</span> cos_p2lat = cos(get_as_radian<1>(p2));
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="comment">// "An alternative formula, not requiring the pre-computation of d"</span>
-<a name="l00090"></a>00090 <span class="keywordflow">return</span> atan2(sin(dlon) * cos_p2lat,
-<a name="l00091"></a>00091 cos(get_as_radian<1>(p1)) * sin(get_as_radian<1>(p2))
-<a name="l00092"></a>00092 - sin(get_as_radian<1>(p1)) * cos_p2lat * cos(dlon));
-<a name="l00093"></a>00093 }
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a> calc(P <span class="keyword">const</span>& p, P <span class="keyword">const</span>& sp1, P <span class="keyword">const</span>& sp2)<span class="keyword"> const</span>
-<a name="l00096"></a>00096 <span class="keyword"> </span>{
-<a name="l00097"></a>00097 <span class="comment">// http://williams.best.vwh.net/avform.htm#XTE>
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keywordtype">double</span> d1 = m_strategy(sp1, p);
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="comment">// Actually, calculation of d2 not necessary if we know that the projected point is on the great circle...</span>
-<a name="l00102"></a>00102 <span class="keywordtype">double</span> d2 = m_strategy(sp2, p);
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <span class="keywordtype">double</span> crs_AD = course(sp1, p);
-<a name="l00105"></a>00105 <span class="keywordtype">double</span> crs_AB = course(sp1, sp2);
-<a name="l00106"></a>00106 <span class="keywordtype">double</span> XTD = std::abs(asin(sin(d1) * sin(crs_AD - crs_AB)));
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 <span class="comment">//std::cout << "Course " << dsv(sp1) << " to " << dsv(p) << " " << crs_AD * ggl::math::r2d << std::endl;</span>
-<a name="l00109"></a>00109 <span class="comment">//std::cout << "Course " << dsv(sp1) << " to " << dsv(sp2) << " " << crs_AB * ggl::math::r2d << std::endl;</span>
-<a name="l00110"></a>00110 <span class="comment">//std::cout << "XTD: " << (XTD * 6373.0) << " d1: " << (d1 * 6373.0) << " d2: " << (d2 * 6373.0) << std::endl;</span>
+<a name="l00067"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">00067</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">operator()</a>(P <span class="keyword">const</span>& p, S <span class="keyword">const</span>& s)<span class="keyword"> const</span>
+<a name="l00068"></a>00068 <span class="keyword"> </span>{
+<a name="l00069"></a>00069 <span class="comment">// ASSUMPTION: segment</span>
+<a name="l00070"></a>00070 <span class="comment">// However, this is normally called from internal functions</span>
+<a name="l00071"></a>00071 <span class="comment">// Future: solve this using other functions using get<,></span>
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> calc(p, s.first, s.second);
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">private</span> :
+<a name="l00076"></a>00076 <span class="keywordtype">double</span> m_radius;
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 <span class="comment">// Point-point distances are calculated in radians, on the unit sphere</span>
+<a name="l00079"></a>00079 <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">point_strategy_type</a> m_strategy;
+<a name="l00080"></a>00080
+<a name="l00082"></a>00082 <span class="keyword">inline</span> <span class="keywordtype">double</span> course(P <span class="keyword">const</span>& p1, P <span class="keyword">const</span>& p2)<span class="keyword"> const</span>
+<a name="l00083"></a>00083 <span class="keyword"> </span>{
+<a name="l00084"></a>00084 <span class="comment">// http://williams.best.vwh.net/avform.htm#Crs>
+<a name="l00085"></a>00085 <span class="keywordtype">double</span> dlon = get_as_radian<0>(p2) - get_as_radian<0>(p1);
+<a name="l00086"></a>00086 <span class="keywordtype">double</span> cos_p2lat = cos(get_as_radian<1>(p2));
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="comment">// "An alternative formula, not requiring the pre-computation of d"</span>
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> atan2(sin(dlon) * cos_p2lat,
+<a name="l00090"></a>00090 cos(get_as_radian<1>(p1)) * sin(get_as_radian<1>(p2))
+<a name="l00091"></a>00091 - sin(get_as_radian<1>(p1)) * cos_p2lat * cos(dlon));
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a> calc(P <span class="keyword">const</span>& p, P <span class="keyword">const</span>& sp1, P <span class="keyword">const</span>& sp2)<span class="keyword"> const</span>
+<a name="l00095"></a>00095 <span class="keyword"> </span>{
+<a name="l00096"></a>00096 <span class="comment">// http://williams.best.vwh.net/avform.htm#XTE>
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keywordtype">double</span> d1 = m_strategy(sp1, p);
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="comment">// Actually, calculation of d2 not necessary if we know that the projected point is on the great circle...</span>
+<a name="l00101"></a>00101 <span class="keywordtype">double</span> d2 = m_strategy(sp2, p);
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keywordtype">double</span> crs_AD = course(sp1, p);
+<a name="l00104"></a>00104 <span class="keywordtype">double</span> crs_AB = course(sp1, sp2);
+<a name="l00105"></a>00105 <span class="keywordtype">double</span> XTD = std::abs(asin(sin(d1) * sin(crs_AD - crs_AB)));
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="comment">//std::cout << "Course " << dsv(sp1) << " to " << dsv(p) << " " << crs_AD * ggl::math::r2d << std::endl;</span>
+<a name="l00108"></a>00108 <span class="comment">//std::cout << "Course " << dsv(sp1) << " to " << dsv(sp2) << " " << crs_AB * ggl::math::r2d << std::endl;</span>
+<a name="l00109"></a>00109 <span class="comment">//std::cout << "XTD: " << (XTD * 6373.0) << " d1: " << (d1 * 6373.0) << " d2: " << (d2 * 6373.0) << std::endl;</span>
+<a name="l00110"></a>00110
<a name="l00111"></a>00111
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="comment">// Return shortest distance, either to projected point on segment sp1-sp2, or to sp1, or to sp2</span>
-<a name="l00114"></a>00114 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a>(m_radius * (std::min)((std::min)(d1, d2), XTD));
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116 };
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 } <span class="comment">// namespace distance</span>
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 } <span class="comment">// namespace strategy</span>
+<a name="l00112"></a>00112 <span class="comment">// Return shortest distance, either to projected point on segment sp1-sp2, or to sp1, or to sp2</span>
+<a name="l00113"></a>00113 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a>(m_radius * (std::min)((std::min)(d1, d2), XTD));
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 };
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 } <span class="comment">// namespace distance</span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 } <span class="comment">// namespace strategy</span>
+<a name="l00120"></a>00120
<a name="l00121"></a>00121
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00124"></a>00124 <span class="preprocessor"></span>
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment>
-<a name="l00127"></a>00127 <span class="keyword">struct </span>strategy_distance_segment<spherical_tag, spherical_tag, Point, Segment>
-<a name="l00128"></a>00128 {
-<a name="l00129"></a>00129 <span class="keyword">typedef</span> strategy::distance::cross_track<Point, Segment> <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
-<a name="l00130"></a>00130 };
+<a name="l00122"></a>00122 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span>
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment>
+<a name="l00126"></a>00126 <span class="keyword">struct </span>strategy_distance_segment<spherical_tag, spherical_tag, Point, Segment>
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="keyword">typedef</span> strategy::distance::cross_track<Point, Segment> <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
+<a name="l00129"></a>00129 };
+<a name="l00130"></a>00130
<a name="l00131"></a>00131
-<a name="l00132"></a>00132
-<a name="l00133"></a>00133 <span class="comment">// Use this point-segment for geographic as well. TODO: change this, extension!</span>
-<a name="l00134"></a>00134 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment>
-<a name="l00135"></a>00135 <span class="keyword">struct </span>strategy_distance_segment<geographic_tag, geographic_tag, Point, Segment>
-<a name="l00136"></a>00136 {
-<a name="l00137"></a>00137 <span class="keyword">typedef</span> strategy::distance::cross_track<Point, Segment> <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
-<a name="l00138"></a>00138 };
+<a name="l00132"></a>00132 <span class="comment">// Use this point-segment for geographic as well. TODO: change this, extension!</span>
+<a name="l00133"></a>00133 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment>
+<a name="l00134"></a>00134 <span class="keyword">struct </span>strategy_distance_segment<geographic_tag, geographic_tag, Point, Segment>
+<a name="l00135"></a>00135 {
+<a name="l00136"></a>00136 <span class="keyword">typedef</span> strategy::distance::cross_track<Point, Segment> <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
+<a name="l00137"></a>00137 };
+<a name="l00138"></a>00138
<a name="l00139"></a>00139
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment>
-<a name="l00142"></a>00142 <span class="keyword">struct </span>strategy_tag<strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::cross_track<Point, Segment> >
-<a name="l00143"></a>00143 {
-<a name="l00144"></a>00144 <span class="keyword">typedef</span> strategy_tag_distance_point_segment <a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a>;
-<a name="l00145"></a>00145 };
+<a name="l00140"></a>00140 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment>
+<a name="l00141"></a>00141 <span class="keyword">struct </span>strategy_tag<strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::cross_track<Point, Segment> >
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="keyword">typedef</span> strategy_tag_distance_point_segment <a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a>;
+<a name="l00144"></a>00144 };
+<a name="l00145"></a>00145
<a name="l00146"></a>00146
<a name="l00147"></a>00147
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 <span class="preprocessor">#endif</span>
-<a name="l00150"></a>00150 <span class="preprocessor"></span>
+<a name="l00148"></a>00148 <span class="preprocessor">#endif</span>
+<a name="l00149"></a>00149 <span class="preprocessor"></span>
+<a name="l00150"></a>00150
<a name="l00151"></a>00151
<a name="l00152"></a>00152
<a name="l00153"></a>00153
<a name="l00154"></a>00154
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 } <span class="comment">// namespace ggl</span>
+<a name="l00155"></a>00155 } <span class="comment">// namespace ggl</span>
+<a name="l00156"></a>00156
<a name="l00157"></a>00157
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 <span class="preprocessor">#endif // GGL_STRATEGY_SPHERICAL_DISTANCE_CROSS_TRACK_HPP</span>
+<a name="l00158"></a>00158 <span class="preprocessor">#endif // GGL_STRATEGY_SPHERICAL_DISTANCE_CROSS_TRACK_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,99 +53,98 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="radian__access_8hpp.html">ggl/core/radian_access.hpp</a>></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="radian__access_8hpp.html">ggl/core/radian_access.hpp</a>></span>
+<a name="l00016"></a>00016
<a name="l00017"></a>00017
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>></span>
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>></span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="get__cs__as__radian_8hpp.html">ggl/util/get_cs_as_radian.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="get__cs__as__radian_8hpp.html">ggl/util/get_cs_as_radian.hpp</a>></span>
+<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
-<a name="l00028"></a>00028 {
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>strategy
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="keyword">namespace </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
-<a name="l00033"></a>00033 {
-<a name="l00034"></a>00034
-<a name="l00047"></a>00047 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2 = P1>
-<a name="l00048"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html">00048</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html" title="Distance calculation for spherical coordinates on a perfect sphere using haversine...">haversine</a>
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keyword">public</span> :
-<a name="l00051"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">00051</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a>;
-<a name="l00052"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8ee0701ef57352296292047e3dcc3330">00052</a> <span class="keyword">typedef</span> P1 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
-<a name="l00053"></a>00053
-<a name="l00054"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">00054</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a>(<span class="keywordtype">double</span> r = 1.0)
-<a name="l00055"></a>00055 : m_radius(r)
-<a name="l00056"></a>00056 {}
-<a name="l00057"></a>00057
-<a name="l00058"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">00058</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">operator()</a>(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)<span class="keyword"> const</span>
-<a name="l00059"></a>00059 <span class="keyword"> </span>{
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> calc(get_as_radian<0>(p1), get_as_radian<1>(p1),
-<a name="l00061"></a>00061 get_as_radian<0>(p2), get_as_radian<1>(p2));
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="keyword">private</span> :
-<a name="l00065"></a>00065 <span class="keywordtype">double</span> m_radius;
-<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P1>::type</a> T1;
-<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P2>::type</a> T2;
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> calc(T1 <span class="keyword">const</span>& lon1, T1 <span class="keyword">const</span>& lat1, T2 <span class="keyword">const</span>& lon2, T2 <span class="keyword">const</span>& lat2)<span class="keyword"> const</span>
-<a name="l00070"></a>00070 <span class="keyword"> </span>{
-<a name="l00071"></a>00071 <span class="keywordtype">double</span> a = <a class="code" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">math::hav</a>(lat2 - lat1) + cos(lat1) * cos(lat2) * <a class="code" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">math::hav</a>(lon2 - lon1);
-<a name="l00072"></a>00072 <span class="keywordtype">double</span> c = 2.0 * asin(sqrt(a));
-<a name="l00073"></a>00073 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a>(m_radius * c);
-<a name="l00074"></a>00074 }
-<a name="l00075"></a>00075 };
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>strategy
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="keyword">namespace </span><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033
+<a name="l00046"></a>00046 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2 = P1>
+<a name="l00047"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html">00047</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html" title="Distance calculation for spherical coordinates on a perfect sphere using haversine...">haversine</a>
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">public</span> :
+<a name="l00050"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">00050</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a>;
+<a name="l00051"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8ee0701ef57352296292047e3dcc3330">00051</a> <span class="keyword">typedef</span> P1 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">00053</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a>(<span class="keywordtype">double</span> r = 1.0)
+<a name="l00054"></a>00054 : m_radius(r)
+<a name="l00055"></a>00055 {}
+<a name="l00056"></a>00056
+<a name="l00057"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">00057</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">operator()</a>(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)<span class="keyword"> const</span>
+<a name="l00058"></a>00058 <span class="keyword"> </span>{
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> calc(get_as_radian<0>(p1), get_as_radian<1>(p1),
+<a name="l00060"></a>00060 get_as_radian<0>(p2), get_as_radian<1>(p2));
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">private</span> :
+<a name="l00064"></a>00064 <span class="keywordtype">double</span> m_radius;
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P1>::type</a> T1;
+<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P2>::type</a> T2;
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> calc(T1 <span class="keyword">const</span>& lon1, T1 <span class="keyword">const</span>& lat1, T2 <span class="keyword">const</span>& lon2, T2 <span class="keyword">const</span>& lat2)<span class="keyword"> const</span>
+<a name="l00069"></a>00069 <span class="keyword"> </span>{
+<a name="l00070"></a>00070 <span class="keywordtype">double</span> a = <a class="code" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">math::hav</a>(lat2 - lat1) + cos(lat1) * cos(lat2) * <a class="code" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">math::hav</a>(lon2 - lon1);
+<a name="l00071"></a>00071 <span class="keywordtype">double</span> c = 2.0 * asin(sqrt(a));
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a>(m_radius * c);
+<a name="l00073"></a>00073 }
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
<a name="l00076"></a>00076
<a name="l00077"></a>00077
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 } <span class="comment">// namespace distance</span>
+<a name="l00078"></a>00078 } <span class="comment">// namespace distance</span>
+<a name="l00079"></a>00079
<a name="l00080"></a>00080
<a name="l00081"></a>00081
<a name="l00082"></a>00082
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 } <span class="comment">// namespace strategy</span>
+<a name="l00083"></a>00083 } <span class="comment">// namespace strategy</span>
+<a name="l00084"></a>00084
<a name="l00085"></a>00085
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00089"></a>00089 <span class="keyword">struct </span>strategy_distance<spherical_tag, spherical_tag, P1, P2>
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <span class="keyword">typedef</span> strategy::distance::haversine<P1, P2> <a class="code" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">type</a>;
-<a name="l00092"></a>00092 };
+<a name="l00086"></a>00086 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00088"></a>00088 <span class="keyword">struct </span>strategy_distance<spherical_tag, spherical_tag, P1, P2>
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <span class="keyword">typedef</span> strategy::distance::haversine<P1, P2> <a class="code" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">type</a>;
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092
<a name="l00093"></a>00093
<a name="l00094"></a>00094
<a name="l00095"></a>00095
<a name="l00096"></a>00096
<a name="l00097"></a>00097
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00100"></a>00100 <span class="keyword">struct </span>strategy_tag<strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::haversine<P1, P2> >
-<a name="l00101"></a>00101 {
-<a name="l00102"></a>00102 <span class="keyword">typedef</span> strategy_tag_distance_point_point <a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a>;
-<a name="l00103"></a>00103 };
+<a name="l00098"></a>00098 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00099"></a>00099 <span class="keyword">struct </span>strategy_tag<strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::haversine<P1, P2> >
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="keyword">typedef</span> strategy_tag_distance_point_point <a class="code" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">type</a>;
+<a name="l00102"></a>00102 };
+<a name="l00103"></a>00103
<a name="l00104"></a>00104
<a name="l00105"></a>00105
<a name="l00106"></a>00106
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 <span class="preprocessor">#endif</span>
-<a name="l00109"></a>00109 <span class="preprocessor"></span>
+<a name="l00107"></a>00107 <span class="preprocessor">#endif</span>
+<a name="l00108"></a>00108 <span class="preprocessor"></span>
+<a name="l00109"></a>00109
<a name="l00110"></a>00110
<a name="l00111"></a>00111
<a name="l00112"></a>00112
<a name="l00113"></a>00113
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 } <span class="comment">// namespace ggl</span>
+<a name="l00114"></a>00114 } <span class="comment">// namespace ggl</span>
+<a name="l00115"></a>00115
<a name="l00116"></a>00116
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 <span class="preprocessor">#endif // GGL_STRATEGY_SPHERICAL_DISTANCE_HPP</span>
+<a name="l00117"></a>00117 <span class="preprocessor">#endif // GGL_STRATEGY_SPHERICAL_DISTANCE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,9 +51,10 @@
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename P1 , typename P2 > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type< P1 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">ggl::dot_product</a> (P1 const &p1, P2 const &p2)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">select_coordinate_type< P1, P2 ><br class="typebreak">
+::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">ggl::dot_product</a> (P1 const &p1, P2 const &p2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the dot product of 2 points. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the dot product of 2 points. <br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/dot__product_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,56 +53,60 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
-<a name="l00017"></a>00017 {
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
-<a name="l00021"></a>00021 {
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00024"></a>00024 <span class="keyword">struct </span>dot_product_maker
-<a name="l00025"></a>00025 {
-<a name="l00026"></a>00026 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> coordinate_type<P1>::type
-<a name="l00027"></a>00027 apply(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)
-<a name="l00028"></a>00028 {
-<a name="l00029"></a>00029 <span class="keywordflow">return</span> get<Dimension>(p1) * get<Dimension>(p2)
-<a name="l00030"></a>00030 + dot_product_maker<P1, P2, Dimension+1, DimensionCount>::apply(p1, p2);
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032 };
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount>
-<a name="l00035"></a>00035 <span class="keyword">struct </span>dot_product_maker<P1, P2, DimensionCount, DimensionCount>
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> coordinate_type<P1>::type
-<a name="l00038"></a>00038 apply(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)
-<a name="l00039"></a>00039 {
-<a name="l00040"></a>00040 <span class="keywordflow">return</span> get<DimensionCount>(p1) * get<DimensionCount>(p2);
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042 };
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 } <span class="comment">// namespace detail</span>
-<a name="l00045"></a>00045 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span>
-<a name="l00047"></a>00047
-<a name="l00055"></a>00055 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00056"></a><a class="code" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">00056</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P1>::type</a> <a class="code" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556" title="Computes the dot product of 2 points.">dot_product</a>(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)
-<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P1></a>) );
-<a name="l00059"></a>00059 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P2></a>) );
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="keywordflow">return</span> detail::dot_product_maker
-<a name="l00062"></a>00062 <
-<a name="l00063"></a>00063 P1, P2,
-<a name="l00064"></a>00064 0, <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<P1>::type::value</a> - 1
-<a name="l00065"></a>00065 >::apply(p1, p2);
-<a name="l00066"></a>00066 }
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 } <span class="comment">// namespace ggl</span>
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="preprocessor">#endif // GGL_ARITHMETIC_DOT_PRODUCT_HPP</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl
+<a name="l00018"></a>00018 {
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00025"></a>00025 <span class="keyword">struct </span>dot_product_maker
+<a name="l00026"></a>00026 {
+<a name="l00027"></a>00027 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type<P1, P2>::type coordinate_type;
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type apply(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 <span class="keywordflow">return</span> get<Dimension>(p1) * get<Dimension>(p2)
+<a name="l00032"></a>00032 + dot_product_maker<P1, P2, Dimension+1, DimensionCount>::apply(p1, p2);
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 };
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00037"></a>00037 <span class="keyword">struct </span>dot_product_maker<P1, P2, DimensionCount, DimensionCount>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type<P1, P2>::type coordinate_type;
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">static</span> <span class="keyword">inline</span> coordinate_type apply(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keywordflow">return</span> get<DimensionCount>(p1) * get<DimensionCount>(p2);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 } <span class="comment">// namespace detail</span>
+<a name="l00048"></a>00048 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span>
+<a name="l00050"></a>00050
+<a name="l00058"></a>00058 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00059"></a><a class="code" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">00059</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type<P1, P2>::type</a> <a class="code" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4" title="Computes the dot product of 2 points.">dot_product</a>(
+<a name="l00060"></a>00060 P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2)
+<a name="l00061"></a>00061 {
+<a name="l00062"></a>00062 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P1></a>) );
+<a name="l00063"></a>00063 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P2></a>) );
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> detail::dot_product_maker
+<a name="l00066"></a>00066 <
+<a name="l00067"></a>00067 P1, P2,
+<a name="l00068"></a>00068 0, <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<P1>::type::value</a> - 1
+<a name="l00069"></a>00069 >::apply(p1, p2);
+<a name="l00070"></a>00070 }
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 } <span class="comment">// namespace ggl</span>
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="preprocessor">#endif // GGL_ARITHMETIC_DOT_PRODUCT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__pages_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,20 +54,20 @@
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
<a name="l00014"></a>00014
-<a name="l00072"></a>00072 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
-<a name="l00073"></a>00073
-<a name="l00148"></a>00148 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
-<a name="l00149"></a>00149
-<a name="l00176"></a>00176 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
-<a name="l00177"></a>00177
-<a name="l00188"></a>00188 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00071"></a>00071 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00072"></a>00072
+<a name="l00147"></a>00147 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00148"></a>00148
+<a name="l00175"></a>00175 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00176"></a>00176
+<a name="l00187"></a>00187 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00188"></a>00188
<a name="l00189"></a>00189
-<a name="l00190"></a>00190
-<a name="l00286"></a>00286 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
-<a name="l00287"></a>00287
-<a name="l00373"></a>00373 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
-<a name="l00374"></a>00374
-<a name="l00396"></a>00396 <span class="preprocessor">#endif // _DOXYGEN_PAGES_HPP</span>
+<a name="l00288"></a>00288 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00289"></a>00289
+<a name="l00375"></a>00375 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
+<a name="l00376"></a>00376
+<a name="l00398"></a>00398 <span class="preprocessor">#endif // _DOXYGEN_PAGES_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/enrich__intersection__points_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -59,7 +59,7 @@
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#include <iostream></span>
<a name="l00018"></a>00018 <span class="preprocessor">#endif</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <boost/concept_check.hpp></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <boost/assert.hpp></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include <boost/range/functions.hpp></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
<a name="l00023"></a>00023
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -137,28 +137,30 @@
<a name="l00110"></a>00110 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2>
<a name="l00111"></a><a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">00111</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">equals</a>(Geometry1 <span class="keyword">const</span>& geometry1, Geometry2 <span class="keyword">const</span>& geometry2)
<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 assert_dimension_equal<Geometry1, Geometry2>();
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 <span class="comment">// TODO: assert types equal:</span>
-<a name="l00116"></a>00116 <span class="comment">// typename tag<ncg1_type>::type, typename tag<ncg2_type>::type,</span>
-<a name="l00117"></a>00117 <span class="comment">// (LATER): NO! a linestring can be spatially equal to a multi_linestring</span>
-<a name="l00118"></a>00118
-<a name="l00119"></a>00119 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry1>::type ncg1_type;
-<a name="l00120"></a>00120 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry2>::type ncg2_type;
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">dispatch::equals</a>
-<a name="l00123"></a>00123 <
-<a name="l00124"></a>00124 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg1_type>::type</a>,
-<a name="l00125"></a>00125 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg1_type>::type::value</a>,
-<a name="l00126"></a>00126 ncg1_type,
-<a name="l00127"></a>00127 ncg2_type,
-<a name="l00128"></a>00128 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<ncg1_type>::type::value</a>
-<a name="l00129"></a>00129 >::apply(geometry1, geometry2);
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 } <span class="comment">// namespace ggl</span>
+<a name="l00113"></a>00113 concept::check<const Geometry1>();
+<a name="l00114"></a>00114 concept::check<const Geometry2>();
+<a name="l00115"></a>00115 assert_dimension_equal<Geometry1, Geometry2>();
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="comment">// TODO: assert types equal:</span>
+<a name="l00118"></a>00118 <span class="comment">// typename tag<ncg1_type>::type, typename tag<ncg2_type>::type,</span>
+<a name="l00119"></a>00119 <span class="comment">// (LATER): NO! a linestring can be spatially equal to a multi_linestring</span>
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry1>::type ncg1_type;
+<a name="l00122"></a>00122 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry2>::type ncg2_type;
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">dispatch::equals</a>
+<a name="l00125"></a>00125 <
+<a name="l00126"></a>00126 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg1_type>::type</a>,
+<a name="l00127"></a>00127 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg1_type>::type::value</a>,
+<a name="l00128"></a>00128 ncg1_type,
+<a name="l00129"></a>00129 ncg2_type,
+<a name="l00130"></a>00130 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<ncg1_type>::type::value</a>
+<a name="l00131"></a>00131 >::apply(geometry1, geometry2);
+<a name="l00132"></a>00132 }
<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="preprocessor">#endif // GGL_ALGORITHMS_EQUALS_HPP</span>
+<a name="l00134"></a>00134 } <span class="comment">// namespace ggl</span>
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="preprocessor">#endif // GGL_ALGORITHMS_EQUALS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/exterior__ring_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -83,12 +83,12 @@
<a name="l00052"></a>00052 {
<a name="l00053"></a>00053 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> ring_type<polygon_tag, P>::type& <span class="keyword">get</span>(P& polygon)
<a name="l00054"></a>00054 {
-<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::exterior_ring<P>::get</a>(polygon);
+<a name="l00055"></a>00055 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">traits::exterior_ring<P>::get</a>(polygon);
<a name="l00056"></a>00056 }
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">typename</span> ring_type<polygon_tag, P>::type& <span class="keyword">get</span>(<span class="keyword">const</span> P& polygon)
<a name="l00059"></a>00059 {
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::exterior_ring<P>::get</a>(polygon);
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">traits::exterior_ring<P>::get</a>(polygon);
<a name="l00061"></a>00061 }
<a name="l00062"></a>00062 };
<a name="l00063"></a>00063
@@ -99,13 +99,13 @@
<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
<a name="l00077"></a><a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01">00077</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<P>::type</a>& <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(P& <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)
<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 <span class="keywordflow">return</span> core_dispatch::exterior_ring<typename tag<P>::type, P><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(polygon);
+<a name="l00079"></a>00079 <span class="keywordflow">return</span> core_dispatch::exterior_ring<typename tag<P>::type, P><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">::get</a>(polygon);
<a name="l00080"></a>00080 }
<a name="l00081"></a>00081
<a name="l00090"></a>00090 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
<a name="l00091"></a><a class="code" href="group__access.html#gf12f8fe7a53c5fc0fb45c2d24d0999c9">00091</a> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<P>::type</a>& <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(<span class="keyword">const</span> P& <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)
<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093 <span class="keywordflow">return</span> core_dispatch::exterior_ring<typename tag<P>::type, P><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(polygon);
+<a name="l00093"></a>00093 <span class="keywordflow">return</span> core_dispatch::exterior_ring<typename tag<P>::type, P><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">::get</a>(polygon);
<a name="l00094"></a>00094 }
<a name="l00095"></a>00095
<a name="l00096"></a>00096
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -101,20 +101,12 @@
<tr><td class="indexkey">ggl/core/<a class="el" href="point__order_8hpp.html">point_order.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="core_2point__type_8hpp.html">point_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="radian__access_8hpp.html">radian_access.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/core/<a class="el" href="radius_8hpp.html">radius.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="replace__point__type_8hpp.html">replace_point_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="reverse__dispatch_8hpp.html">reverse_dispatch.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="core_2ring__type_8hpp.html">ring_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="tag_8hpp.html">tag.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="core_2tags_8hpp.html">tags.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="core_2topological__dimension_8hpp.html">topological_dimension.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="box__concept_8hpp.html">box_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="linestring__concept_8hpp.html">linestring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="nsphere__concept_8hpp.html">nsphere_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="point__concept_8hpp.html">point_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="polygon__concept_8hpp.html">polygon_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="ring__concept_8hpp.html">ring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/core/concepts/<a class="el" href="segment__concept_8hpp.html">segment_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/extensions/io/svg/<a class="el" href="write__svg_8hpp.html">write_svg.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/extensions/io/svg/<a class="el" href="write__svg__multi_8hpp.html">write_svg_multi.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/<a class="el" href="box_8hpp.html">box.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -123,7 +115,6 @@
<tr><td class="indexkey">ggl/geometries/<a class="el" href="geometries_8hpp.html">geometries.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/<a class="el" href="linear__ring_8hpp.html">linear_ring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/<a class="el" href="linestring_8hpp.html">linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/geometries/<a class="el" href="nsphere_8hpp.html">nsphere.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/<a class="el" href="point_8hpp.html">point.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/<a class="el" href="point__xy_8hpp.html">point_xy.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/<a class="el" href="polygon_8hpp.html">polygon.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -136,6 +127,16 @@
<tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="std__as__ring_8hpp.html">std_as_ring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="tuple_8hpp.html">tuple.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/adapted/<a class="el" href="tuple__cartesian_8hpp.html">tuple_cartesian.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/<a class="el" href="box__concept_8hpp.html">box_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/<a class="el" href="check_8hpp.html">check.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/<a class="el" href="linestring__concept_8hpp.html">linestring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/<a class="el" href="nsphere__concept_8hpp.html">nsphere_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/<a class="el" href="point__concept_8hpp.html">point_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/<a class="el" href="polygon__concept_8hpp.html">polygon_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/<a class="el" href="ring__concept_8hpp.html">ring_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/<a class="el" href="segment__concept_8hpp.html">segment_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/detail/<a class="el" href="check__append_8hpp.html">check_append.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/geometries/concepts/detail/<a class="el" href="check__clear_8hpp.html">check_clear.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/register/<a class="el" href="register_2box_8hpp.html">box.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/register/<a class="el" href="register_2linestring_8hpp.html">linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/geometries/register/<a class="el" href="register_2point_8hpp.html">point.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -185,20 +186,24 @@
<tr><td class="indexkey">ggl/strategies/<a class="el" href="strategy__traits_8hpp.html">strategy_traits.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/<a class="el" href="strategy__transform_8hpp.html">strategy_transform.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="agn__convex__hull_8hpp.html">agn_convex_hull.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="agn__within_8hpp.html">agn_within.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="point__in__poly__winding_8hpp.html">point_in_poly_winding.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/agnostic/<a class="el" href="simplify__douglas__peucker_8hpp.html">simplify_douglas_peucker.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__area_8hpp.html">cart_area.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__centroid_8hpp.html">cart_centroid.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="area__by__triangles_8hpp.html">area_by_triangles.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__compare_8hpp.html">cart_compare.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__distance_8hpp.html">cart_distance.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__envelope_8hpp.html">cart_envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__side_8hpp.html">cart_side.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="cart__within_8hpp.html">cart_within.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="centroid__bashein__detmer_8hpp.html">centroid_bashein_detmer.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="point__in__poly__crossings__multiply_8hpp.html">point_in_poly_crossings_multiply.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/cartesian/<a class="el" href="point__in__poly__franklin_8hpp.html">point_in_poly_franklin.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/concepts/<a class="el" href="area__concept_8hpp.html">area_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/concepts/<a class="el" href="centroid__concept_8hpp.html">centroid_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/concepts/<a class="el" href="distance__concept_8hpp.html">distance_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/concepts/<a class="el" href="simplify__concept_8hpp.html">simplify_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/concepts/<a class="el" href="within__concept_8hpp.html">within_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="area__huiller_8hpp.html">area_huiller.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="distance__cross__track_8hpp.html">distance_cross_track.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="distance__haversine_8hpp.html">distance_haversine.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="sph__area_8hpp.html">sph_area.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/spherical/<a class="el" href="sph__envelope_8hpp.html">sph_envelope.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/transform/<a class="el" href="inverse__transformer_8hpp.html">inverse_transformer.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/strategies/transform/<a class="el" href="map__transformer_8hpp.html">map_transformer.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -210,6 +215,7 @@
<tr><td class="indexkey">ggl/util/<a class="el" href="less_8hpp.html">less.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="loop_8hpp.html">loop.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="math_8hpp.html">math.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/util/<a class="el" href="select__calculation__type_8hpp.html">select_calculation_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="select__coordinate__type_8hpp.html">select_coordinate_type.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="select__most__precise_8hpp.html">select_most_precise.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="write__dsv_8hpp.html">write_dsv.hpp</a> [code]</td><td class="indexvalue"></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/for__each__coordinate_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -52,7 +52,7 @@
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_FOR_EACH_COORDINATE_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl
<a name="l00016"></a>00016 {
@@ -91,7 +91,7 @@
<a name="l00049"></a>00049 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Op>
<a name="l00050"></a><a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">00050</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#578a218a60843891321b599d222090db">for_each_coordinate</a>(Point& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, Op operation)
<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point></a>) );
+<a name="l00052"></a>00052 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point></a>) );
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">typedef</span> <span class="keyword">typename</span> detail::coordinates_scanner
<a name="l00055"></a>00055 <
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -87,7 +87,19 @@
<li>add_range()
: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#5fdc022ecff10cfbea0d8d0f0dc4bcad">ggl::strategy::convex_hull::graham< P ></a>
<li>apply()
-: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">ggl::strategy::simplify::douglas_peucker< Point, PointDistanceStrategy ></a>
+: <a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html#e9afd64a7da9ee6dbbad3f03b121781f">ggl::concept::detail::check_append< Geometry, Point, false ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d22bbe66effda8c1fc1027ed0689547b">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#7c1beca9bdd8bed9867a54bb938e45a5">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">ggl::strategy::simplify::douglas_peucker< Point, PointDistanceStrategy ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html#7d37b48e922f1b36a34a6bab24560d8c">ggl::concept::detail::check_clear< Geometry, false ></a>
+, <a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html#bb0adec8e3d49e55e8860685472aa5a8">ggl::concept::detail::check_clear< Geometry, true ></a>
+, <a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html#2a93eed2fff71b952c213317fdd76f81">ggl::concept::detail::check_append< Geometry, Point, true ></a>
+<li>area()
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#135c23662721d5d31e15702e48957329">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
<li>as_char()
: <a class="el" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">ggl::de9im</a>
</ul>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -102,34 +102,35 @@
, <a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">ggl::multi_point< P, V, A ></a>
, <a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">ggl::multi_polygon< P, V, A ></a>
<li>BOOST_CONCEPT_USAGE()
-: <a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html#902301c0010222a56dd61cf69d2ee893">ggl::concept::PointDistanceStrategy< Strategy ></a>
+: <a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html#a20d60397b363a08579622afdc14a96f">ggl::concept::CentroidStrategy< Strategy ></a>
+, <a class="el" href="classggl_1_1concept_1_1_area_strategy.html#d50d5260c5b5aa679bad15cb05533994">ggl::concept::AreaStrategy< Strategy ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_segment.html#5c373393cd5b2420fa38c81526f8863c">ggl::concept::ConstSegment< Geometry ></a>
, <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">ggl::concept::ConstNsphere< S ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">ggl::concept::ConstRing< R ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_ring.html#a9f230560b046e65e8074cf94c8995ae">ggl::concept::ConstRing< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_ring.html#677c8fe0efef95edf50da6001d551c86">ggl::concept::Ring< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_polygon.html#f06cb4ef8d7d95972d95dcb90cdb4d3c">ggl::concept::ConstPolygon< Geometry ></a>
, <a class="el" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">ggl::concept::Nsphere< S ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">ggl::concept::ConstPolygon< P ></a>
-, <a class="el" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">ggl::concept::Point< X ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">ggl::concept::ConstPoint< X ></a>
+, <a class="el" href="classggl_1_1concept_1_1_point.html#8ae568fc76ff4be8561ab232179d954e">ggl::concept::Point< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_point.html#cdb425c10cbeeb3ad1e484f63d800e81">ggl::concept::ConstPoint< Geometry ></a>
, <a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html#91386bae305551b33feb8399bf3ea441">ggl::concept::PointSegmentDistanceStrategy< Strategy ></a>
-, <a class="el" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">ggl::concept::Polygon< P ></a>
-, <a class="el" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">ggl::concept::Ring< R ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">ggl::concept::ConstLinestring< L ></a>
+, <a class="el" href="classggl_1_1concept_1_1_polygon.html#7540fca7a0a925f5d598dd300c1f78cf">ggl::concept::Polygon< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_linestring.html#6c05e3014fa9ec14c9ac8401bbc677ec">ggl::concept::ConstLinestring< Geometry ></a>
+, <a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html#902301c0010222a56dd61cf69d2ee893">ggl::concept::PointDistanceStrategy< Strategy ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_box.html#1b41babee5e102e7c55bb32792399690">ggl::concept::ConstBox< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_segment.html#06e37d7f85929c034fc42e6c930440ff">ggl::concept::Segment< Geometry ></a>
, <a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html#457fbf2fa1075f00c6d8090d47e1fc3d">ggl::concept::SimplifyStrategy< Strategy ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">ggl::concept::ConstBox< B ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">ggl::concept::ConstSegment< S ></a>
-, <a class="el" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">ggl::concept::Box< B ></a>
-, <a class="el" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">ggl::concept::Segment< S ></a>
-, <a class="el" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">ggl::concept::Linestring< L ></a>
+, <a class="el" href="classggl_1_1concept_1_1_within_strategy.html#7885c6ff735068d4a5943350b47940e2">ggl::concept::WithinStrategy< Strategy ></a>
+, <a class="el" href="classggl_1_1concept_1_1_box.html#6f151d280edf8aa4fb97d3935c9f69b3">ggl::concept::Box< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_linestring.html#0d06cf99f7693b3e76f5dd43dcd16983">ggl::concept::Linestring< Geometry ></a>
<li>both_same
: <a class="el" href="structggl_1_1select__most__precise.html#606ead26747f5bc9bb5ec53248fd61f7">ggl::select_most_precise< T1, T2 ></a>
<li>bounding_box
: <a class="el" href="structggl_1_1section.html#dbdec35a5e0878ecc3ac31d28dd12f6f">ggl::section< Box, DimensionCount ></a>
<li>box()
-: <a class="el" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">ggl::box< Point ></a>
+: <a class="el" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">ggl::box< Point ></a>
<li>box_type
: <a class="el" href="structggl_1_1sections.html#9ad75a29e07d632e85847e4f206715ba">ggl::sections< Box, DimensionCount ></a>
, <a class="el" href="structggl_1_1section.html#da71a242258d79119fb6df06d290095e">ggl::section< Box, DimensionCount ></a>
-<li>by_spherical_excess()
-: <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">ggl::strategy::area::by_spherical_excess< P ></a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x63.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x63.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -86,8 +86,6 @@
: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
<li>cartesian_distance()
: <a class="el" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">ggl::cartesian_distance< T ></a>
-<li>center()
-: <a class="el" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">ggl::nsphere< P, T ></a>
<li>centroid_exception()
: <a class="el" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">ggl::centroid_exception</a>
<li>circular_iterator()
@@ -104,10 +102,10 @@
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
<li>collinear_b_in_a()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
<li>collinear_disjoint()
: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">ggl::policies::relate::segments_de9im< S1, S2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">ggl::policies::relate::segments_direction< S1, S2 ></a>
@@ -126,10 +124,10 @@
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
<li>collinear_touch()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">ggl::policies::relate::segments_de9im< S1, S2 ></a>
<li>contains()
: <a class="el" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">ggl::de9im</a>
<li>coordinate_count
@@ -137,20 +135,20 @@
<li>coordinate_system
: <a class="el" href="classggl_1_1point.html#e3cedeca07933bd026e910ee8bb4547b">ggl::point< T, D, C ></a>
<li>coordinate_type
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#9e9ba88969a37c5754ca1c3e78cbc369">ggl::strategy::transform::scale_transformer< P1, P2, 3, 3 ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#b6de86a8e58ced2952f1fa8674ddba9b">ggl::strategy::transform::scale_transformer< P1, P2, 2, 2 ></a>
-, <a class="el" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point< T, D, C ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#0c99fdac62697111b767ecf7c60a5b28">ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#89d70caf72012acdb7186ac75f3efa36">ggl::strategy::transform::translate_transformer< P1, P2, 2, 2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
-, <a class="el" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">ggl::nsphere< P, T ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">ggl::policies::relate::segments_direction< S1, S2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#e814cd145873164ae0b9c0c094e20687">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#9e9ba88969a37c5754ca1c3e78cbc369">ggl::strategy::transform::scale_transformer< P1, P2, 3, 3 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f18e27122021194c07a471589ba9307d">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#ffa7fb0b1ff1d5fd75be30486c0d46a8">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point< T, D, C ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#d6b0c10cc71f3cd2d4dad47f5c94a9f2">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#89d70caf72012acdb7186ac75f3efa36">ggl::strategy::transform::translate_transformer< P1, P2, 2, 2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#fc00b4def4ecbec875fdcccbd03f9a6f">ggl::strategy::side::xy_side< P, PS ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#0c99fdac62697111b767ecf7c60a5b28">ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#ffa7fb0b1ff1d5fd75be30486c0d46a8">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
<li>count
: <a class="el" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">ggl::section< Box, DimensionCount ></a>
, <a class="el" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">ggl::segment_intersection_points< P ></a>
@@ -160,8 +158,8 @@
: <a class="el" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">ggl::de9im</a>
<li>ct
: <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#951814d986884cb4de41d5ac69f49935">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#1f78be251f94d7559e60516ff5fe6774">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></a>
, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#d4da01249b3437d063dc5fba25fec65f">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#1f78be251f94d7559e60516ff5fe6774">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -99,11 +99,13 @@
<li>dir_b
: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">ggl::policies::relate::direction_type</a>
<li>direction_type()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#164985c8c74343da6fde819a46348368">ggl::policies::relate::direction_type</a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">ggl::policies::relate::direction_type</a>
<li>directions
: <a class="el" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">ggl::section< Box, DimensionCount ></a>
<li>disjoint()
: <a class="el" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">ggl::de9im</a>
+<li>distance_over_unit_sphere
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
<li>distance_strategy_type
: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#c1a18c53b124af6e3f49e61589eef15d">ggl::strategy::simplify::douglas_peucker< Point, PointDistanceStrategy ></a>
<li>dsv_manipulator()
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x65.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x65.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -94,6 +94,8 @@
: <a class="el" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">ggl::de9im</a>
<li>ever_circling_iterator()
: <a class="el" href="structggl_1_1ever__circling__iterator.html#960589b4dc59be2341a536efa1e01294">ggl::ever_circling_iterator< Iterator ></a>
+<li>excess_sum()
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#d9e044246e82d4e5dbdfc81b40f3a960">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x68.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x68.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -94,6 +94,8 @@
: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#bdcf56ad4de2b765ea8567ed8505f115">ggl::policies::relate::direction_type</a>
<li>how_b
: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#28e2aa67bf557974a82020bf671992ce">ggl::policies::relate::direction_type</a>
+<li>huiller()
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x69.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x69.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -88,10 +88,13 @@
: <a class="el" href="structggl_1_1de9im.html#b4e7daba1de46c4b45fb7ba00901b8d3">ggl::de9im</a>
<li>ii
: <a class="el" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ggl::de9im</a>
+<li>init()
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#a2e7e0b22074af36a21925f73a583fb1">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#e9e1313791b55bc3036db4916c608061">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
<li>inner_container_type
: <a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
<li>inners()
-: <a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
+: <a class="el" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
<li>intersections
: <a class="el" href="structggl_1_1segment__intersection__points.html#94698ff4d23a90f0289a369e4d617d06">ggl::segment_intersection_points< P ></a>
<li>intersects()
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6e.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6e.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -85,14 +85,12 @@
<li>ncg
: <a class="el" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ggl::coordinate_system< G ></a>
, <a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ggl::coordinate_type< G ></a>
-, <a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ggl::point_order< Geometry ></a>
-, <a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ggl::point_type< Geometry ></a>
, <a class="el" href="structggl_1_1ring__type.html#9e7c22c3cd86a0d47f41e15c01b6a299">ggl::ring_type< Geometry ></a>
+, <a class="el" href="structggl_1_1point__type.html#6e4f57cc434784e7155016375d202b45">ggl::point_type< Geometry ></a>
+, <a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ggl::point_order< Geometry ></a>
, <a class="el" href="structggl_1_1interior__type.html#304a4e5fbdbc3a5504b7c0561d32e646">ggl::interior_type< G ></a>
<li>non_duplicate_index
: <a class="el" href="structggl_1_1section.html#0d442355c8be6a391319da7699ba4055">ggl::section< Box, DimensionCount ></a>
-<li>nsphere()
-: <a class="el" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">ggl::nsphere< P, T ></a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -89,36 +89,30 @@
<li>operator()()
: <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">ggl::strategy::transform::copy_per_coordinate< P1, P2 ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html#feed81c34e4f15791bb63fba042cf5e8">ggl::strategy::transform::from_spherical_3_to_cartesian_3< P1, P2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
-, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">ggl::strategy::envelope::combine_xy< P, B ></a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">ggl::strategy::envelope::grow_ll< P, B ></a>
+, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#1d0365284596b5f526aef0af1c388649">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html#ec9a93c7157291c5f566158a3345fae7">ggl::strategy::transform::from_cartesian_3_to_spherical_2< P1, P2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">ggl::strategy::within::franklin< P, PS ></a>
-, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">ggl::strategy::distance::cross_track< P, S ></a>
+, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#b74d6180b2290096409861046c6b33da">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
+, <a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">ggl::less< P ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">ggl::strategy::transform::degree_radian_vv< P1, P2, F ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html#ac8f345a72c9fd828dfbf2a2ba836aa4">ggl::strategy::transform::from_cartesian_3_to_spherical_3< P1, P2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">ggl::strategy::distance::haversine< P1, P2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">ggl::strategy::area::by_spherical_excess< P ></a>
-, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">ggl::strategy::within::winding< P, PS ></a>
-, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">ggl::strategy::envelope::grow_ll< P, B ></a>
-, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#1d0365284596b5f526aef0af1c388649">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">ggl::strategy::transform::copy_direct< P ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">ggl::strategy::transform::degree_radian_vv_3< P1, P2, F ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">ggl::strategy::area::by_triangles< PS, CalculationType ></a>
-, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#b74d6180b2290096409861046c6b33da">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
-, <a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">ggl::less< P ></a>
-, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">ggl::strategy::centroid::geolib1995< PC, PS ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">ggl::strategy::envelope::combine_xy< P, B ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html#49e5776790f87fbe0cdd30e751906ba1">ggl::strategy::transform::from_spherical_2_to_cartesian_3< P1, P2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">ggl::strategy::distance::cross_track< P, S ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">ggl::strategy::distance::haversine< P1, P2 ></a>
<li>operator*()
: <a class="el" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">ggl::segment_iterator< Base, Point ></a>
<li>operator++()
-: <a class="el" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">ggl::segment_iterator< Base, Point ></a>
+: <a class="el" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">ggl::segment_iterator< Base, Point ></a>
<li>operator->()
: <a class="el" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">ggl::segment_iterator< Base, Point ></a>
<li>operator<()
-: <a class="el" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">ggl::segment_identifier</a>
-, <a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">ggl::cartesian_distance< T ></a>
+: <a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">ggl::cartesian_distance< T ></a>
+, <a class="el" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">ggl::segment_identifier</a>
<li>operator<<
: <a class="el" href="structggl_1_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">ggl::cartesian_distance< T ></a>
, <a class="el" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">ggl::dsv_manipulator< Geometry ></a>
@@ -129,8 +123,8 @@
<li>operator>()
: <a class="el" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">ggl::cartesian_distance< T ></a>
<li>opposite
-: <a class="el" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">ggl::de9im_segment</a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">ggl::policies::relate::direction_type</a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#84883a234b8e5bd2a93ef27bc77059e1">ggl::policies::relate::direction_type</a>
+, <a class="el" href="structggl_1_1de9im__segment.html#41e71c0be72985cbf9558b172dddaf6f">ggl::de9im_segment</a>
<li>outer()
: <a class="el" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
<li>overlaps()
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -98,15 +98,19 @@
: <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">ggl::strategy::distance::cross_track< P, S ></a>
<li>point_type
-: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#4a6f6649a2e25a6c584c29a5c6a3bee0">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#cfb9d185bcc22815ec15d07389ad03b9">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
-, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8ee0701ef57352296292047e3dcc3330">ggl::strategy::distance::haversine< P1, P2 ></a>
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
, <a class="el" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">ggl::area_result< Geometry ></a>
-, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#08edd81bdb1f8a1296dbaebfc1ca3932">ggl::strategy::distance::cross_track< P, S ></a>
, <a class="el" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">ggl::segment_iterator< Base, Point ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#4a6f6649a2e25a6c584c29a5c6a3bee0">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c6e3759d94d2d67f964a720cc6cbcc7f">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#cfb9d185bcc22815ec15d07389ad03b9">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#08edd81bdb1f8a1296dbaebfc1ca3932">ggl::strategy::distance::cross_track< P, S ></a>
, <a class="el" href="classggl_1_1polygon.html#662c4458e3099e30097a3fc909d54941">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8ee0701ef57352296292047e3dcc3330">ggl::strategy::distance::haversine< P1, P2 ></a>
<li>point_xy()
-: <a class="el" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">ggl::point_xy< T, C ></a>
+: <a class="el" href="classggl_1_1point__xy.html#1accd1e9e84fdf9cf8d9da084d239167">ggl::point_xy< T, C ></a>
<li>pointer
: <a class="el" href="structggl_1_1segment__iterator.html#fe664c6678e12e841a1c0be1e77e53a0">ggl::segment_iterator< Base, Point ></a>
</ul>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -85,35 +85,38 @@
<li>ra
: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ggl::policies::relate::direction_type</a>
, <a class="el" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ggl::de9im_segment</a>
-<li>radius()
-: <a class="el" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">ggl::nsphere< P, T ></a>
-<li>radius_type
-: <a class="el" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">ggl::nsphere< P, T ></a>
+<li>radius
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
<li>range_count
: <a class="el" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">ggl::section< Box, DimensionCount ></a>
<li>rays_intersect()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
<li>rb
: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">ggl::policies::relate::direction_type</a>
, <a class="el" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">ggl::de9im_segment</a>
-<li>rconst
-: <a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">ggl::radius_type< G ></a>
<li>reference
: <a class="el" href="structggl_1_1segment__iterator.html#71b04f78cf84d967d8d11ec092d54dcc">ggl::segment_iterator< Base, Point ></a>
+<li>result()
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#28b1aa48766cdaa8272452e1b722cb58">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#9cf07c9edf759e3ff9ed1c5c08dff55b">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
<li>return_type
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">ggl::strategy::area::by_triangles< PS, CalculationType ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">ggl::strategy::distance::haversine< P1, P2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">ggl::policies::relate::segments_direction< S1, S2 ></a>
, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">ggl::strategy::distance::cross_track< P, S ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">ggl::strategy::area::by_spherical_excess< P ></a>
<li>ring_index
: <a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ggl::segment_identifier</a>
, <a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ggl::section< Box, DimensionCount ></a>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x73.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x73.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -108,6 +108,13 @@
: <a class="el" href="structggl_1_1segment__intersection__points.html#ebb3f0ded51caefcde6f8e2fddb16c92">ggl::segment_intersection_points< P ></a>
<li>segment_iterator()
: <a class="el" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">ggl::segment_iterator< Base, Point ></a>
+<li>segment_point_type
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#866f5cb46f21a2303db08eca59174d3a">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
<li>segment_type
: <a class="el" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">ggl::segment_iterator< Base, Point ></a>
<li>segment_type1
@@ -116,18 +123,18 @@
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
<li>segment_type2
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">ggl::policies::relate::segments_direction< S1, S2 ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">ggl::policies::relate::segments_direction< S1, S2 ></a>
<li>set()
: <a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html#840ddd0e5e5719de54570e292d17cfb0">ggl::traits::access< ggl::detail::intersection::intersection_point< P >, Dimension ></a>
, <a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">ggl::point< T, D, C ></a>
<li>shift()
-: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">ggl::strategy::envelope::shift::shifted< radian ></a>
-, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">ggl::strategy::envelope::shift::shifted< degree ></a>
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">ggl::strategy::envelope::shift::shifted< degree ></a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">ggl::strategy::envelope::shift::shifted< radian ></a>
<li>side()
-: <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">ggl::strategy::side::xy_side< P, PS ></a>
+: <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#3bfdcd774cb32a1e97a5b94a6f3b7f5b">ggl::strategy::side::xy_side< P, PS ></a>
<li>smaller()
: <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">ggl::strategy::compare::euclidian< P, D ></a>
<li>source_index
@@ -138,16 +145,18 @@
: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">ggl::strategy::envelope::combine_xy< P, B >::state</a>
, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">ggl::strategy::envelope::grow_ll< P, B >::state</a>
<li>state_type
-: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">ggl::strategy::envelope::combine_xy< P, B ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">ggl::strategy::area::by_spherical_excess< P ></a>
-, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a>
-, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">ggl::strategy::within::franklin< P, PS ></a>
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">ggl::strategy::envelope::combine_xy< P, B ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#8f49bd3eba8c415f56e24d4085e2b1be">ggl::strategy::envelope::grow_ll< P, B ></a>
-, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">ggl::strategy::centroid::geolib1995< PC, PS ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">ggl::strategy::area::by_triangles< PS, CalculationType ></a>
-, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">ggl::strategy::within::winding< P, PS ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#64767add38e4bc164acbb78ae620b0d6">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
<li>strategy_type
: <a class="el" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">ggl::area_result< Geometry ></a>
+<li>sum
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
<li>svg_manipulator()
: <a class="el" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">ggl::svg_manipulator< G ></a>
</ul>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -94,7 +94,8 @@
: <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#84a76b9962a5f194a83f42a656b6ba3b">ggl::strategy::transform::translate_transformer< P1, P2, 2, 2 ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c58e40759cfd721966d862a348e9ddf0">ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 ></a>
<li>type
-: <a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">ggl::distance_result< G1, G2 ></a>
+: <a class="el" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">ggl::strategy_tag< T ></a>
+, <a class="el" href="structggl_1_1distance__result.html#330a69bdc818d9d12defa854b80f31c3">ggl::distance_result< G1, G2 ></a>
, <a class="el" href="structggl_1_1strategy__parse.html#0d99f45801b3eff372b9ddd4693e4c1f">ggl::strategy_parse< T, CS ></a>
, <a class="el" href="structggl_1_1strategy__transform.html#baa7792aa260a0931c571f277ad7b41f">ggl::strategy_transform< CS_TAG1, CS_TAG2, CS1, CS2, D1, D2, P1, P2 ></a>
, <a class="el" href="structggl_1_1strategy__compare.html#990dea01301b207c8152141f89242399">ggl::strategy_compare< T, P, D ></a>
@@ -115,18 +116,17 @@
, <a class="el" href="structggl_1_1tag.html#278f0697dbc88a94726215f401e87179">ggl::tag< Geometry ></a>
, <a class="el" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">ggl::traits::tag< Geometry ></a>
, <a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">ggl::ring_type< Geometry ></a>
-, <a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">ggl::radius_type< G ></a>
, <a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">ggl::point_type< Geometry ></a>
, <a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">ggl::interior_type< G ></a>
, <a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">ggl::cs_tag< G ></a>
, <a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">ggl::coordinate_type< G ></a>
, <a class="el" href="structggl_1_1coordinate__system.html#a307f40744cc79a4c29ba951dc88fcb4">ggl::coordinate_system< G ></a>
-, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html#c2105145e587929fce337ec44821b5a8">ggl::strategy_tag< strategy::distance::pythagoras< P1, P2 > ></a>
+, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_segment_00_01_p_p_strategy_01_4_01_4.html#c06ed387f720d8a642e343b6d9b7f78c">ggl::strategy_tag< strategy::distance::xy_point_segment< Point, Segment, PPStrategy > ></a>
, <a class="el" href="structggl_1_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">ggl::select_coordinate_type< T1, T2 ></a>
-, <a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">ggl::as_range_type< Geometry ></a>
+, <a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">ggl::select_calculation_type< Point1, Point2, CalculationType ></a>
, <a class="el" href="structggl_1_1select__most__precise.html#33488f6df9f15b8943a95e081a2600d9">ggl::select_most_precise< T1, T2 ></a>
-, <a class="el" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">ggl::strategy_tag< T ></a>
-, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_segment_00_01_p_p_strategy_01_4_01_4.html#c06ed387f720d8a642e343b6d9b7f78c">ggl::strategy_tag< strategy::distance::xy_point_segment< Point, Segment, PPStrategy > ></a>
+, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html#c2105145e587929fce337ec44821b5a8">ggl::strategy_tag< strategy::distance::pythagoras< P1, P2 > ></a>
+, <a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">ggl::as_range_type< Geometry ></a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -52,28 +52,27 @@
</div>
<div class="tabs">
<ul>
- <li>a</li>
- <li>b</li>
- <li>c</li>
- <li>d</li>
- <li>e</li>
- <li>g</li>
- <li>h</li>
- <li>i</li>
- <li>l</li>
- <li>m</li>
- <li>n</li>
- <li>o</li>
- <li>p</li>
- <li>r</li>
- <li>s</li>
- <li>t</li>
- <li>u</li>
- <li>v</li>
- <li>w</li>
- <li>x</li>
- <li>y</li>
- <li>~</li>
+ <li class="current">a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
</ul>
</div>
</div>
@@ -86,304 +85,22 @@
<li>add_range()
: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#5fdc022ecff10cfbea0d8d0f0dc4bcad">ggl::strategy::convex_hull::graham< P ></a>
<li>apply()
-: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">ggl::strategy::simplify::douglas_peucker< Point, PointDistanceStrategy ></a>
+: <a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html#e9afd64a7da9ee6dbbad3f03b121781f">ggl::concept::detail::check_append< Geometry, Point, false ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d22bbe66effda8c1fc1027ed0689547b">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#7c1beca9bdd8bed9867a54bb938e45a5">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8ec9dbc06a92fb822cddba949e067ae2">ggl::strategy::simplify::douglas_peucker< Point, PointDistanceStrategy ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#3496f8b166a11dd3096d5ed210a220d0">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html#7d37b48e922f1b36a34a6bab24560d8c">ggl::concept::detail::check_clear< Geometry, false ></a>
+, <a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html#bb0adec8e3d49e55e8860685472aa5a8">ggl::concept::detail::check_clear< Geometry, true ></a>
+, <a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html#2a93eed2fff71b952c213317fdd76f81">ggl::concept::detail::check_append< Geometry, Point, true ></a>
+<li>area()
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#135c23662721d5d31e15702e48957329">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
<li>as_char()
: <a class="el" href="structggl_1_1de9im.html#4c3906863083abf88d79d67d9346026b">ggl::de9im</a>
</ul>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>base()
-: <a class="el" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">ggl::segment_iterator< Base, Point ></a>
-<li>BOOST_CONCEPT_ASSERT()
-: <a class="el" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">ggl::multi_linestring< L, V, A ></a>
-, <a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">ggl::multi_polygon< P, V, A ></a>
-, <a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">ggl::multi_point< P, V, A ></a>
-<li>BOOST_CONCEPT_USAGE()
-: <a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html#457fbf2fa1075f00c6d8090d47e1fc3d">ggl::concept::SimplifyStrategy< Strategy ></a>
-, <a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html#91386bae305551b33feb8399bf3ea441">ggl::concept::PointSegmentDistanceStrategy< Strategy ></a>
-, <a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html#902301c0010222a56dd61cf69d2ee893">ggl::concept::PointDistanceStrategy< Strategy ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">ggl::concept::ConstSegment< S ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">ggl::concept::ConstLinestring< L ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">ggl::concept::ConstRing< R ></a>
-, <a class="el" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">ggl::concept::Ring< R ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">ggl::concept::ConstPolygon< P ></a>
-, <a class="el" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">ggl::concept::Polygon< P ></a>
-, <a class="el" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">ggl::concept::Segment< S ></a>
-, <a class="el" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">ggl::concept::Point< X ></a>
-, <a class="el" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">ggl::concept::Nsphere< S ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">ggl::concept::ConstNsphere< S ></a>
-, <a class="el" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">ggl::concept::Box< B ></a>
-, <a class="el" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">ggl::concept::Linestring< L ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">ggl::concept::ConstPoint< X ></a>
-, <a class="el" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">ggl::concept::ConstBox< B ></a>
-<li>box()
-: <a class="el" href="classggl_1_1box.html#27556d65c45886911a450e707b8cd633">ggl::box< Point ></a>
-<li>by_spherical_excess()
-: <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">ggl::strategy::area::by_spherical_excess< P ></a>
-</ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cartesian_distance()
-: <a class="el" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">ggl::cartesian_distance< T ></a>
-<li>center()
-: <a class="el" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">ggl::nsphere< P, T ></a>
-<li>centroid_exception()
-: <a class="el" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">ggl::centroid_exception</a>
-<li>circular_iterator()
-: <a class="el" href="structggl_1_1circular__iterator.html#be1c3556eefbae4d3dee51925873bace">ggl::circular_iterator< Iterator ></a>
-<li>clear()
-: <a class="el" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
-<li>clip_segment()
-: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">ggl::strategy::intersection::liang_barsky< B, P ></a>
-<li>collinear_a_in_b()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#f5c67f6d1fb6bc02730f9942c1a24829">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-<li>collinear_b_in_a()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-<li>collinear_disjoint()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac05de9fec4c0ff68b0c70e28f8be442">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#7e99a479fc3e9b45db7ab065305dccc6">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-<li>collinear_inside()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-<li>collinear_interior_boundary_intersect()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#eb5b99875c3518bb6263b983041c4cf3">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#1fe7ee7acea8cc077bd98ca260d19bd9">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#80ce268792c7516aac1c546e8fbd9b24">ggl::policies::relate::segments_direction< S1, S2 ></a>
-<li>collinear_overlaps()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#eb0ebf059d5e294fb18156aac93027cb">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#798750f9c6e3ca554cef83e7ecbdb9cd">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-<li>collinear_touch()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">ggl::policies::relate::segments_direction< S1, S2 ></a>
-<li>contains()
-: <a class="el" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">ggl::de9im</a>
-<li>cross_track()
-: <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#06581a2187a083f85b27f19b97366549">ggl::strategy::distance::cross_track< P, S ></a>
-<li>crosses()
-: <a class="el" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">ggl::de9im</a>
-</ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>de9im()
-: <a class="el" href="structggl_1_1de9im.html#0e63fce9a0f98c1538e4fe41c5088680">ggl::de9im</a>
-<li>de9im_segment()
-: <a class="el" href="structggl_1_1de9im__segment.html#0fe3f361fef06047e7befa1efea254da">ggl::de9im_segment</a>
-<li>degenerate()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#d68c9fa4dbac13be78e0f2d8a099ca6a">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#3cf559644d63441e018d2a590559986e">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6992882507d5abb3a649db55eeaa01eb">ggl::policies::relate::segments_direction< S1, S2 ></a>
-<li>direction_type()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">ggl::policies::relate::direction_type</a>
-<li>disjoint()
-: <a class="el" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">ggl::de9im</a>
-<li>dsv_manipulator()
-: <a class="el" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">ggl::dsv_manipulator< Geometry ></a>
-</ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>equals()
-: <a class="el" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">ggl::de9im</a>
-<li>ever_circling_iterator()
-: <a class="el" href="structggl_1_1ever__circling__iterator.html#a3b3465a611c79f0b33bda06e92ba561">ggl::ever_circling_iterator< Iterator ></a>
-</ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>get()
-: <a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html#82a62232a7a2092e0a3850771871e9ee">ggl::traits::access< ggl::detail::intersection::intersection_point< P >, Dimension ></a>
-, <a class="el" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">ggl::point< T, D, C ></a>
-, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#67876d356c1bf48171f46c116510f166">ggl::strategy::convex_hull::graham< P ></a>
-<li>graham()
-: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">ggl::strategy::convex_hull::graham< P ></a>
-<li>grow()
-: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">ggl::strategy::envelope::grow_ll< P, B >::state</a>
-</ul>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<li>handle_input()
-: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#886de91332db9c491dd1ea63c476a1c3">ggl::strategy::convex_hull::graham< P ></a>
-<li>haversine()
-: <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">ggl::strategy::distance::haversine< P1, P2 ></a>
-</ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>inners()
-: <a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
-<li>intersects()
-: <a class="el" href="structggl_1_1de9im.html#2c901db53a08be784689180a944a5762">ggl::de9im</a>
-<li>inverse_transformer()
-: <a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">ggl::strategy::transform::inverse_transformer< P1, P2 ></a>
-</ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>larger()
-: <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#2348861bfb7eee153354bb81e633ea3a">ggl::strategy::compare::euclidian< P, D ></a>
-</ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>map_transformer()
-: <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#50548a182f22cf997edb2c1d4b249291">ggl::strategy::transform::map_transformer< P1, P2, Mirror, SameScale, Dimension1, Dimension2 ></a>
-<li>matrix()
-: <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#26c463b304ea38f14d55fcadd4d439a8">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6b9ff9fc83d6716a7d7aa46916340e45">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
-<li>max_corner()
-: <a class="el" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">ggl::box< Point ></a>
-<li>min_corner()
-: <a class="el" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">ggl::box< Point ></a>
-<li>moveto()
-: <a class="el" href="structggl_1_1ever__circling__iterator.html#3bf51f4dfcb1dc644c707fc956551ba4">ggl::ever_circling_iterator< Iterator ></a>
-, <a class="el" href="structggl_1_1circular__iterator.html#7bf49b36a96ab752a363b620bef96d78">ggl::circular_iterator< Iterator ></a>
-</ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>nsphere()
-: <a class="el" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">ggl::nsphere< P, T ></a>
-</ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>operator cast_type()
-: <a class="el" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">ggl::cartesian_distance< T ></a>
-<li>operator()()
-: <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">ggl::strategy::transform::copy_direct< P ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">ggl::strategy::transform::degree_radian_vv< P1, P2, F ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html#ec9a93c7157291c5f566158a3345fae7">ggl::strategy::transform::from_cartesian_3_to_spherical_2< P1, P2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">ggl::strategy::envelope::combine_xy< P, B ></a>
-, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">ggl::strategy::within::franklin< P, PS ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html#ac8f345a72c9fd828dfbf2a2ba836aa4">ggl::strategy::transform::from_cartesian_3_to_spherical_3< P1, P2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">ggl::strategy::distance::cross_track< P, S ></a>
-, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">ggl::strategy::distance::haversine< P1, P2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">ggl::strategy::transform::degree_radian_vv_3< P1, P2, F ></a>
-, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">ggl::strategy::within::winding< P, PS ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">ggl::strategy::area::by_spherical_excess< P ></a>
-, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">ggl::strategy::envelope::grow_ll< P, B ></a>
-, <a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">ggl::less< P ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">ggl::strategy::area::by_triangles< PS, CalculationType ></a>
-, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#1d0365284596b5f526aef0af1c388649">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#b74d6180b2290096409861046c6b33da">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">ggl::strategy::transform::copy_per_coordinate< P1, P2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html#49e5776790f87fbe0cdd30e751906ba1">ggl::strategy::transform::from_spherical_2_to_cartesian_3< P1, P2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">ggl::strategy::centroid::geolib1995< PC, PS ></a>
-, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#328f86d7cd18dbaa435df19c924f98fe">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html#feed81c34e4f15791bb63fba042cf5e8">ggl::strategy::transform::from_spherical_3_to_cartesian_3< P1, P2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
-<li>operator*()
-: <a class="el" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">ggl::segment_iterator< Base, Point ></a>
-<li>operator++()
-: <a class="el" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">ggl::segment_iterator< Base, Point ></a>
-<li>operator->()
-: <a class="el" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">ggl::segment_iterator< Base, Point ></a>
-<li>operator<()
-: <a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">ggl::cartesian_distance< T ></a>
-, <a class="el" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">ggl::segment_identifier</a>
-<li>operator==()
-: <a class="el" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">ggl::segment_identifier</a>
-, <a class="el" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">ggl::cartesian_distance< T ></a>
-<li>operator>()
-: <a class="el" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">ggl::cartesian_distance< T ></a>
-<li>outer()
-: <a class="el" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
-<li>overlaps()
-: <a class="el" href="structggl_1_1de9im.html#b4bdbb38a70ad671ddd562dd0a41ebb5">ggl::de9im</a>
-</ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>parallel()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3887cd4e999e77056841445b19f82628">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#970335edc3c8374463b8c0c4296c87f3">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#92164bfd70c2ff6e8d2778594d69b6da">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-<li>point()
-: <a class="el" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf">ggl::point< T, D, C ></a>
-<li>point_xy()
-: <a class="el" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">ggl::point_xy< T, C ></a>
-</ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>radius()
-: <a class="el" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">ggl::nsphere< P, T ></a>
-<li>rays_intersect()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-<li>rotate_transformer()
-: <a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">ggl::strategy::transform::rotate_transformer< P1, P2, DegreeOrRadian ></a>
-</ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>scale_transformer()
-: <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#fd92b640f6aeb776138c3b076b714ae1">ggl::strategy::transform::scale_transformer< P1, P2, 2, 2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f63cba0849484a91687f20936bfa1761">ggl::strategy::transform::scale_transformer< P1, P2, 3, 3 ></a>
-<li>section()
-: <a class="el" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">ggl::section< Box, DimensionCount ></a>
-<li>segment()
-: <a class="el" href="classggl_1_1segment.html#186525605856fad4270057e760d6c020">ggl::segment< ConstOrNonConstPoint ></a>
-<li>segment_equal()
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#43851ccf0d363d5c0d8a55c520f8c2b8">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#a36b30cceae8d736831ff406707dfd2d">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#38fbcf5e765fdff2104b206978a793a9">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#2fc7e51ab6b17055f8017b9bb276b086">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-<li>segment_identifier()
-: <a class="el" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">ggl::segment_identifier</a>
-<li>segment_intersection_points()
-: <a class="el" href="structggl_1_1segment__intersection__points.html#ebb3f0ded51caefcde6f8e2fddb16c92">ggl::segment_intersection_points< P ></a>
-<li>segment_iterator()
-: <a class="el" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">ggl::segment_iterator< Base, Point ></a>
-<li>set()
-: <a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">ggl::point< T, D, C ></a>
-, <a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html#840ddd0e5e5719de54570e292d17cfb0">ggl::traits::access< ggl::detail::intersection::intersection_point< P >, Dimension ></a>
-<li>shift()
-: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">ggl::strategy::envelope::shift::shifted< radian ></a>
-, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">ggl::strategy::envelope::shift::shifted< degree ></a>
-<li>side()
-: <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">ggl::strategy::side::xy_side< P, PS ></a>
-<li>smaller()
-: <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">ggl::strategy::compare::euclidian< P, D ></a>
-<li>squared_value()
-: <a class="el" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">ggl::cartesian_distance< T ></a>
-<li>state()
-: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">ggl::strategy::envelope::grow_ll< P, B >::state</a>
-, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">ggl::strategy::envelope::combine_xy< P, B >::state</a>
-<li>svg_manipulator()
-: <a class="el" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">ggl::svg_manipulator< G ></a>
-</ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>take_minmax()
-: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">ggl::strategy::envelope::grow_ll< P, B >::state</a>
-<li>touches()
-: <a class="el" href="structggl_1_1de9im.html#71d48a6fc35f6fd7544fb68396ea3457">ggl::de9im</a>
-<li>translate_transformer()
-: <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#84a76b9962a5f194a83f42a656b6ba3b">ggl::strategy::transform::translate_transformer< P1, P2, 2, 2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c58e40759cfd721966d862a348e9ddf0">ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 ></a>
-</ul>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>ublas_transformer()
-: <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#deabcfb90827d666568146854b29ae80">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c6b30d2d246cd8e4ef439c10c563abba">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#a25611abeabb510caa9f38a68b60590e">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6f4c5f93e056261368a62866dc1138bc">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
-</ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>very_small()
-: <a class="el" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">ggl::cartesian_distance< T ></a>
-</ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>what()
-: <a class="el" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">ggl::centroid_exception</a>
-<li>within()
-: <a class="el" href="structggl_1_1de9im.html#2e3559f5402284e4c7ec8382f5c6866d">ggl::de9im</a>
-</ul>
-<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
-<li>x()
-: <a class="el" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272">ggl::point_xy< T, C ></a>
-</ul>
-<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
-<li>y()
-: <a class="el" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f">ggl::point_xy< T, C ></a>
-</ul>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
-<li>~state()
-: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#942d57c72565b6b3dcd03fe213c4ad98">ggl::strategy::envelope::grow_ll< P, B >::state</a>
-</ul>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x62.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li class="current">b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<li>base()
+: <a class="el" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">ggl::segment_iterator< Base, Point ></a>
+<li>BOOST_CONCEPT_ASSERT()
+: <a class="el" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">ggl::multi_linestring< L, V, A ></a>
+, <a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">ggl::multi_polygon< P, V, A ></a>
+, <a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">ggl::multi_point< P, V, A ></a>
+<li>BOOST_CONCEPT_USAGE()
+: <a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html#457fbf2fa1075f00c6d8090d47e1fc3d">ggl::concept::SimplifyStrategy< Strategy ></a>
+, <a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html#91386bae305551b33feb8399bf3ea441">ggl::concept::PointSegmentDistanceStrategy< Strategy ></a>
+, <a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html#902301c0010222a56dd61cf69d2ee893">ggl::concept::PointDistanceStrategy< Strategy ></a>
+, <a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html#a20d60397b363a08579622afdc14a96f">ggl::concept::CentroidStrategy< Strategy ></a>
+, <a class="el" href="classggl_1_1concept_1_1_area_strategy.html#d50d5260c5b5aa679bad15cb05533994">ggl::concept::AreaStrategy< Strategy ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_segment.html#5c373393cd5b2420fa38c81526f8863c">ggl::concept::ConstSegment< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_linestring.html#6c05e3014fa9ec14c9ac8401bbc677ec">ggl::concept::ConstLinestring< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_ring.html#a9f230560b046e65e8074cf94c8995ae">ggl::concept::ConstRing< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_ring.html#677c8fe0efef95edf50da6001d551c86">ggl::concept::Ring< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_polygon.html#f06cb4ef8d7d95972d95dcb90cdb4d3c">ggl::concept::ConstPolygon< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_polygon.html#7540fca7a0a925f5d598dd300c1f78cf">ggl::concept::Polygon< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_point.html#cdb425c10cbeeb3ad1e484f63d800e81">ggl::concept::ConstPoint< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_point.html#8ae568fc76ff4be8561ab232179d954e">ggl::concept::Point< Geometry ></a>
+, <a class="el" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">ggl::concept::Nsphere< S ></a>
+, <a class="el" href="classggl_1_1concept_1_1_segment.html#06e37d7f85929c034fc42e6c930440ff">ggl::concept::Segment< Geometry ></a>
+, <a class="el" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">ggl::concept::ConstNsphere< S ></a>
+, <a class="el" href="classggl_1_1concept_1_1_linestring.html#0d06cf99f7693b3e76f5dd43dcd16983">ggl::concept::Linestring< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_const_box.html#1b41babee5e102e7c55bb32792399690">ggl::concept::ConstBox< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_box.html#6f151d280edf8aa4fb97d3935c9f69b3">ggl::concept::Box< Geometry ></a>
+, <a class="el" href="classggl_1_1concept_1_1_within_strategy.html#7885c6ff735068d4a5943350b47940e2">ggl::concept::WithinStrategy< Strategy ></a>
+<li>box()
+: <a class="el" href="classggl_1_1box.html#33c77af2d104a1faec5e98603d5ded17">ggl::box< Point ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x63.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li class="current">c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>cartesian_distance()
+: <a class="el" href="structggl_1_1cartesian__distance.html#441dcc3558edeb3bee94c667cfdfbd68">ggl::cartesian_distance< T ></a>
+<li>centroid_exception()
+: <a class="el" href="classggl_1_1centroid__exception.html#60598437eea82fd35bffdbcac8d4b839">ggl::centroid_exception</a>
+<li>circular_iterator()
+: <a class="el" href="structggl_1_1circular__iterator.html#1ebd24f5827f4019967ab05c5aee4e0b">ggl::circular_iterator< Iterator ></a>
+<li>clear()
+: <a class="el" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
+<li>clip_segment()
+: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#1a0456b13305792c70cd53b8571db1ef">ggl::strategy::intersection::liang_barsky< B, P ></a>
+<li>collinear_a_in_b()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#a00a443f46cd557c282891c59cc683fb">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#c6ae19aac0a85a1344c591ff2d4b0cbb">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#512bec33f0d13ffe8bdcaa7d2c6cd1ec">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#f5c67f6d1fb6bc02730f9942c1a24829">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+<li>collinear_b_in_a()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#e62d1ab6f50141636f04f5ae514e206b">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#298148121645c574e290081c7cd16995">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#d963f9b96126549f9328bd702e17df0f">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f95f9b1c2e967c260d060c24aabf160f">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+<li>collinear_disjoint()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#bac75a74d17cdac4e693be8c6a76cd60">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac05de9fec4c0ff68b0c70e28f8be442">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#7e99a479fc3e9b45db7ab065305dccc6">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#7e36a5671574be928045baec27dcfe0d">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+<li>collinear_inside()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#fff966d91744b1fa0f0f33680d73df40">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+<li>collinear_interior_boundary_intersect()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#eb5b99875c3518bb6263b983041c4cf3">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#80ce268792c7516aac1c546e8fbd9b24">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#1fe7ee7acea8cc077bd98ca260d19bd9">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+<li>collinear_overlaps()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#eb0ebf059d5e294fb18156aac93027cb">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fc31e769602ef50ec62d22ed157554b4">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#23e3bbadf0217d59dfd71d01ee690ca8">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#798750f9c6e3ca554cef83e7ecbdb9cd">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+<li>collinear_touch()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#46d3001d71d9684f5806911c68d5bff5">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#ac5d192f53e833ee39c48dc8954199d9">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c9112222bb21c8bbc164008c9bdbfa24">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#047b8574e173fd4ccb5f32dba6adb904">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+<li>contains()
+: <a class="el" href="structggl_1_1de9im.html#a15591d020883026f28f98f4071b80e5">ggl::de9im</a>
+<li>cross_track()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#06581a2187a083f85b27f19b97366549">ggl::strategy::distance::cross_track< P, S ></a>
+<li>crosses()
+: <a class="el" href="structggl_1_1de9im.html#8cbd11f530d85ec94d9f1a5eeb6f6da4">ggl::de9im</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x64.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li class="current">d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>de9im()
+: <a class="el" href="structggl_1_1de9im.html#0e63fce9a0f98c1538e4fe41c5088680">ggl::de9im</a>
+<li>de9im_segment()
+: <a class="el" href="structggl_1_1de9im__segment.html#0fe3f361fef06047e7befa1efea254da">ggl::de9im_segment</a>
+<li>degenerate()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#d68c9fa4dbac13be78e0f2d8a099ca6a">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#c38201cbc6a2788b300413a7f90103b2">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#3cf559644d63441e018d2a590559986e">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6992882507d5abb3a649db55eeaa01eb">ggl::policies::relate::segments_direction< S1, S2 ></a>
+<li>direction_type()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#5a1947e3f282bcfb2907fc42375789ef">ggl::policies::relate::direction_type</a>
+<li>disjoint()
+: <a class="el" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">ggl::de9im</a>
+<li>dsv_manipulator()
+: <a class="el" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">ggl::dsv_manipulator< Geometry ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x65.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li class="current">e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>equals()
+: <a class="el" href="structggl_1_1de9im.html#01f365a488218068020af89113cd3745">ggl::de9im</a>
+<li>ever_circling_iterator()
+: <a class="el" href="structggl_1_1ever__circling__iterator.html#960589b4dc59be2341a536efa1e01294">ggl::ever_circling_iterator< Iterator ></a>
+<li>excess_sum()
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#d9e044246e82d4e5dbdfc81b40f3a960">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x67.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li class="current">g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html#82a62232a7a2092e0a3850771871e9ee">ggl::traits::access< ggl::detail::intersection::intersection_point< P >, Dimension ></a>
+, <a class="el" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">ggl::point< T, D, C ></a>
+, <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#67876d356c1bf48171f46c116510f166">ggl::strategy::convex_hull::graham< P ></a>
+<li>graham()
+: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">ggl::strategy::convex_hull::graham< P ></a>
+<li>grow()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">ggl::strategy::envelope::grow_ll< P, B >::state</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x68.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li class="current">h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>handle_input()
+: <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#886de91332db9c491dd1ea63c476a1c3">ggl::strategy::convex_hull::graham< P ></a>
+<li>haversine()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">ggl::strategy::distance::haversine< P1, P2 ></a>
+<li>huiller()
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#6267ff5bf8c05e6721f9ae1586fca455">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x69.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li class="current">i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>init()
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#a2e7e0b22074af36a21925f73a583fb1">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#e9e1313791b55bc3036db4916c608061">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+<li>inners()
+: <a class="el" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
+<li>intersects()
+: <a class="el" href="structggl_1_1de9im.html#2c901db53a08be784689180a944a5762">ggl::de9im</a>
+<li>inverse_transformer()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">ggl::strategy::transform::inverse_transformer< P1, P2 ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6c.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li class="current">l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>larger()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#2348861bfb7eee153354bb81e633ea3a">ggl::strategy::compare::euclidian< P, D ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6d.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li class="current">m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>map_transformer()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#50548a182f22cf997edb2c1d4b249291">ggl::strategy::transform::map_transformer< P1, P2, Mirror, SameScale, Dimension1, Dimension2 ></a>
+<li>matrix()
+: <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#26c463b304ea38f14d55fcadd4d439a8">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6b9ff9fc83d6716a7d7aa46916340e45">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
+<li>max_corner()
+: <a class="el" href="classggl_1_1box.html#63a9905a364d6b5bef828cc04b9970f7">ggl::box< Point ></a>
+<li>min_corner()
+: <a class="el" href="classggl_1_1box.html#ebc2dece8cd77a23f73ffae3a957f093">ggl::box< Point ></a>
+<li>moveto()
+: <a class="el" href="structggl_1_1ever__circling__iterator.html#3bf51f4dfcb1dc644c707fc956551ba4">ggl::ever_circling_iterator< Iterator ></a>
+, <a class="el" href="structggl_1_1circular__iterator.html#7bf49b36a96ab752a363b620bef96d78">ggl::circular_iterator< Iterator ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x6f.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li class="current">o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>operator cast_type()
+: <a class="el" href="structggl_1_1cartesian__distance.html#0f7ef783e29548ca43f47bee6bca108e">ggl::cartesian_distance< T ></a>
+<li>operator()()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__direct.html#5f0d4eaa1ee3ca9b9719461ce322bd58">ggl::strategy::transform::copy_direct< P ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv.html#152a03b3270b0086b5c8d926fe77f090">ggl::strategy::transform::degree_radian_vv< P1, P2, F ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__2.html#ec9a93c7157291c5f566158a3345fae7">ggl::strategy::transform::from_cartesian_3_to_spherical_2< P1, P2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#1d0365284596b5f526aef0af1c388649">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#b74d6180b2290096409861046c6b33da">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__cartesian__3__to__spherical__3.html#ac8f345a72c9fd828dfbf2a2ba836aa4">ggl::strategy::transform::from_cartesian_3_to_spherical_3< P1, P2 ></a>
+, <a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">ggl::less< P ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1degree__radian__vv__3.html#b92cb18180679ef616fa34ff8972f937">ggl::strategy::transform::degree_radian_vv_3< P1, P2, F ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1copy__per__coordinate.html#30c3026667a9846ecad20909e561a84e">ggl::strategy::transform::copy_per_coordinate< P1, P2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__2__to__cartesian__3.html#49e5776790f87fbe0cdd30e751906ba1">ggl::strategy::transform::from_spherical_2_to_cartesian_3< P1, P2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#229d31b6bae851fa277a9f857237c0ab">ggl::strategy::envelope::combine_xy< P, B ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">ggl::strategy::distance::cross_track< P, S ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1from__spherical__3__to__cartesian__3.html#feed81c34e4f15791bb63fba042cf5e8">ggl::strategy::transform::from_spherical_3_to_cartesian_3< P1, P2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">ggl::strategy::distance::haversine< P1, P2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">ggl::strategy::envelope::grow_ll< P, B ></a>
+<li>operator*()
+: <a class="el" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">ggl::segment_iterator< Base, Point ></a>
+<li>operator++()
+: <a class="el" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">ggl::segment_iterator< Base, Point ></a>
+<li>operator->()
+: <a class="el" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">ggl::segment_iterator< Base, Point ></a>
+<li>operator<()
+: <a class="el" href="structggl_1_1segment__identifier.html#f8c4506cd779593ac4e369b96927123c">ggl::segment_identifier</a>
+, <a class="el" href="structggl_1_1cartesian__distance.html#51d4f3bf5567b0524530fa7bff0c7b66">ggl::cartesian_distance< T ></a>
+<li>operator==()
+: <a class="el" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">ggl::segment_identifier</a>
+, <a class="el" href="structggl_1_1cartesian__distance.html#951bdb772253f50194a754b7740f54b7">ggl::cartesian_distance< T ></a>
+<li>operator>()
+: <a class="el" href="structggl_1_1cartesian__distance.html#ceef956ddf49e24629a558758f44c8a6">ggl::cartesian_distance< T ></a>
+<li>outer()
+: <a class="el" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
+<li>overlaps()
+: <a class="el" href="structggl_1_1de9im.html#b4bdbb38a70ad671ddd562dd0a41ebb5">ggl::de9im</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x70.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li class="current">p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>parallel()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3887cd4e999e77056841445b19f82628">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#efcd33b8f82a96582cdd9b3ce3a05eb9">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#970335edc3c8374463b8c0c4296c87f3">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#92164bfd70c2ff6e8d2778594d69b6da">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+<li>point()
+: <a class="el" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf">ggl::point< T, D, C ></a>
+<li>point_xy()
+: <a class="el" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">ggl::point_xy< T, C ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x72.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li class="current">r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>rays_intersect()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#3aab22f63cc115f292a3ddbff5450f43">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#32ede06f7881e263fc42a6cf02f72f68">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#f82c271b6352c8b4df60172f302a90b6">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#a31565e67fe3205615e88aef3015e550">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+<li>result()
+: <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#28b1aa48766cdaa8272452e1b722cb58">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#9cf07c9edf759e3ff9ed1c5c08dff55b">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#48ff852a738315b93d5ef5c66215c378">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+<li>rotate_transformer()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">ggl::strategy::transform::rotate_transformer< P1, P2, DegreeOrRadian ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x73.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li class="current">s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>scale_transformer()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#fd92b640f6aeb776138c3b076b714ae1">ggl::strategy::transform::scale_transformer< P1, P2, 2, 2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f63cba0849484a91687f20936bfa1761">ggl::strategy::transform::scale_transformer< P1, P2, 3, 3 ></a>
+<li>section()
+: <a class="el" href="structggl_1_1section.html#6b36770260c6a2c89a9a63fc641064c4">ggl::section< Box, DimensionCount ></a>
+<li>segment()
+: <a class="el" href="classggl_1_1segment.html#186525605856fad4270057e760d6c020">ggl::segment< ConstOrNonConstPoint ></a>
+<li>segment_equal()
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#43851ccf0d363d5c0d8a55c520f8c2b8">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#a36b30cceae8d736831ff406707dfd2d">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#38fbcf5e765fdff2104b206978a793a9">ggl::policies::relate::segments_direction< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#2fc7e51ab6b17055f8017b9bb276b086">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+<li>segment_identifier()
+: <a class="el" href="structggl_1_1segment__identifier.html#eacab9f8a085d618b6259cc5233e65b0">ggl::segment_identifier</a>
+<li>segment_intersection_points()
+: <a class="el" href="structggl_1_1segment__intersection__points.html#ebb3f0ded51caefcde6f8e2fddb16c92">ggl::segment_intersection_points< P ></a>
+<li>segment_iterator()
+: <a class="el" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">ggl::segment_iterator< Base, Point ></a>
+<li>set()
+: <a class="el" href="classggl_1_1point.html#f84fee80a5505841b275b1c3f9bc7ddf">ggl::point< T, D, C ></a>
+, <a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html#840ddd0e5e5719de54570e292d17cfb0">ggl::traits::access< ggl::detail::intersection::intersection_point< P >, Dimension ></a>
+<li>shift()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">ggl::strategy::envelope::shift::shifted< radian ></a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">ggl::strategy::envelope::shift::shifted< degree ></a>
+<li>side()
+: <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#3bfdcd774cb32a1e97a5b94a6f3b7f5b">ggl::strategy::side::xy_side< P, PS ></a>
+<li>smaller()
+: <a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html#69e12a7cd92180445c9d6b293a808059">ggl::strategy::compare::euclidian< P, D ></a>
+<li>squared_value()
+: <a class="el" href="structggl_1_1cartesian__distance.html#4f02e39f538a1bc1551b3e22a08ca94b">ggl::cartesian_distance< T ></a>
+<li>state()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">ggl::strategy::envelope::grow_ll< P, B >::state</a>
+, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html#d5773c71a966e0389f8976f6a42bda98">ggl::strategy::envelope::combine_xy< P, B >::state</a>
+<li>svg_manipulator()
+: <a class="el" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">ggl::svg_manipulator< G ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x74.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li class="current">t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>take_minmax()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">ggl::strategy::envelope::grow_ll< P, B >::state</a>
+<li>touches()
+: <a class="el" href="structggl_1_1de9im.html#71d48a6fc35f6fd7544fb68396ea3457">ggl::de9im</a>
+<li>translate_transformer()
+: <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#84a76b9962a5f194a83f42a656b6ba3b">ggl::strategy::transform::translate_transformer< P1, P2, 2, 2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c58e40759cfd721966d862a348e9ddf0">ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x75.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li class="current">u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>ublas_transformer()
+: <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#deabcfb90827d666568146854b29ae80">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c6b30d2d246cd8e4ef439c10c563abba">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#a25611abeabb510caa9f38a68b60590e">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6f4c5f93e056261368a62866dc1138bc">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x76.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li class="current">v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>very_small()
+: <a class="el" href="structggl_1_1cartesian__distance.html#26942eda96fb105ee48a9d7c0ae8631c">ggl::cartesian_distance< T ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x77.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li class="current">w</li>
+ <li>x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>what()
+: <a class="el" href="classggl_1_1centroid__exception.html#bff3b7df94389d48e50390a95dbbde7f">ggl::centroid_exception</a>
+<li>within()
+: <a class="el" href="structggl_1_1de9im.html#2e3559f5402284e4c7ec8382f5c6866d">ggl::de9im</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x78.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li class="current">x</li>
+ <li>y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
+<li>x()
+: <a class="el" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272">ggl::point_xy< T, C ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x79.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li class="current">y</li>
+ <li>~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_y">- y -</a></h3><ul>
+<li>y()
+: <a class="el" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f">ggl::point_xy< T, C ></a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func_0x7e.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li class="current">Class Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li class="current">Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Related Functions</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>a</li>
+ <li>b</li>
+ <li>c</li>
+ <li>d</li>
+ <li>e</li>
+ <li>g</li>
+ <li>h</li>
+ <li>i</li>
+ <li>l</li>
+ <li>m</li>
+ <li>o</li>
+ <li>p</li>
+ <li>r</li>
+ <li>s</li>
+ <li>t</li>
+ <li>u</li>
+ <li>v</li>
+ <li>w</li>
+ <li>x</li>
+ <li>y</li>
+ <li class="current">~</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~state()
+: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#942d57c72565b6b3dcd03fe213c4ad98">ggl::strategy::envelope::grow_ll< P, B >::state</a>
+</ul>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -83,8 +83,8 @@
<li>coordinate_system
: <a class="el" href="classggl_1_1point.html#e3cedeca07933bd026e910ee8bb4547b">ggl::point< T, D, C ></a>
<li>coordinate_type
-: <a class="el" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point< T, D, C ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#e814cd145873164ae0b9c0c094e20687">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#9e9ba88969a37c5754ca1c3e78cbc369">ggl::strategy::transform::scale_transformer< P1, P2, 3, 3 ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#b6de86a8e58ced2952f1fa8674ddba9b">ggl::strategy::transform::scale_transformer< P1, P2, 2, 2 ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#0c99fdac62697111b767ecf7c60a5b28">ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 ></a>
@@ -92,11 +92,11 @@
, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f18e27122021194c07a471589ba9307d">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#d6b0c10cc71f3cd2d4dad47f5c94a9f2">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></a>
, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#ffa7fb0b1ff1d5fd75be30486c0d46a8">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#552bc7eddefee9641c7da37c71e2dc54">ggl::policies::relate::segments_de9im< S1, S2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#fc00b4def4ecbec875fdcccbd03f9a6f">ggl::strategy::side::xy_side< P, PS ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#1f7851f1ffd68cf77e1dad3cbe9ce5e3">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">ggl::nsphere< P, T ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#e814cd145873164ae0b9c0c094e20687">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#bcb088829827c05640c84ca1c324361a">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point< T, D, C ></a>
<li>ct
: <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#951814d986884cb4de41d5ac69f49935">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></a>
, <a class="el" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#d4da01249b3437d063dc5fba25fec65f">ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></a>
@@ -139,61 +139,68 @@
: <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">ggl::strategy::distance::cross_track< P, S ></a>
, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
<li>point_type
-: <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#cfb9d185bcc22815ec15d07389ad03b9">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c6e3759d94d2d67f964a720cc6cbcc7f">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#cfb9d185bcc22815ec15d07389ad03b9">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#4a6f6649a2e25a6c584c29a5c6a3bee0">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8ee0701ef57352296292047e3dcc3330">ggl::strategy::distance::haversine< P1, P2 ></a>
, <a class="el" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">ggl::area_result< Geometry ></a>
, <a class="el" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">ggl::segment_iterator< Base, Point ></a>
, <a class="el" href="classggl_1_1polygon.html#662c4458e3099e30097a3fc909d54941">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#4a6f6649a2e25a6c584c29a5c6a3bee0">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#08edd81bdb1f8a1296dbaebfc1ca3932">ggl::strategy::distance::cross_track< P, S ></a>
<li>pointer
: <a class="el" href="structggl_1_1segment__iterator.html#fe664c6678e12e841a1c0be1e77e53a0">ggl::segment_iterator< Base, Point ></a>
</ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>radius_type
-: <a class="el" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">ggl::nsphere< P, T ></a>
-<li>rconst
-: <a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">ggl::radius_type< G ></a>
<li>reference
: <a class="el" href="structggl_1_1segment__iterator.html#71b04f78cf84d967d8d11ec092d54dcc">ggl::segment_iterator< Base, Point ></a>
<li>return_type
-: <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">ggl::strategy::distance::haversine< P1, P2 ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">ggl::strategy::distance::haversine< P1, P2 ></a>
, <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">ggl::strategy::distance::cross_track< P, S ></a>
-, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c5f08a5725174c6b864b71cf92825d80">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
, <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#9e2a9c4543b03696554ffd7389326c83">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#fd5a4a56a3f161178b97885e9ae27738">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#6e36f163958d94ece083a97f0e3d659c">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
+, <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">ggl::policies::relate::segments_direction< S1, S2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">ggl::strategy::area::by_triangles< PS, CalculationType ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">ggl::strategy::area::by_spherical_excess< P ></a>
<li>ring_type
: <a class="el" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
</ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>S
: <a class="el" href="structggl_1_1distance__result.html#a8148b389a0cec2b42c5de450d52a3b3">ggl::distance_result< G1, G2 ></a>
+<li>segment_point_type
+: <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#866f5cb46f21a2303db08eca59174d3a">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#42e99ae092f8ee5ef36b9ed01d92bfec">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#d56eacf0dfcb3398349db73ccefd5d4f">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
<li>segment_type
: <a class="el" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">ggl::segment_iterator< Base, Point ></a>
<li>segment_type1
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">ggl::policies::relate::segments_direction< S1, S2 ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#6d294de7005beda339acd766c4634053">ggl::policies::relate::segments_direction< S1, S2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#dd6bd0155c8cf7da5fddbe2833920135">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#54550d451a6a983ef03643c1d03298cc">ggl::policies::relate::segments_de9im< S1, S2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#a85d9e4477a04f1263e99c63b56bca1b">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
<li>segment_type2
-: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">ggl::policies::relate::segments_direction< S1, S2 ></a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html#5765d55937d6cb6edc3a1cfe053f6f96">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html#192979bbc532077e533e31a827ed473d">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__de9im.html#fd7fc33e6182aa0a02079261b98af377">ggl::policies::relate::segments_de9im< S1, S2 ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#411feeef724397e06f71dd1cabbda7e0">ggl::policies::relate::segments_direction< S1, S2 ></a>
<li>state_type
: <a class="el" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#8f49bd3eba8c415f56e24d4085e2b1be">ggl::strategy::envelope::grow_ll< P, B ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">ggl::strategy::area::by_spherical_excess< P ></a>
-, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#c9134908bec29b94168f6d733a6b2c89">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html#c9e2f27901d3523ef53982a8eb4fecc8">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html#64767add38e4bc164acbb78ae620b0d6">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
+, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
, <a class="el" href="structggl_1_1strategy_1_1envelope_1_1combine__xy.html#182ce543f6c73a393e327a281bd5833b">ggl::strategy::envelope::combine_xy< P, B ></a>
-, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#b8c68b50c6f0909ab64c6c97f4dd8ea4">ggl::strategy::area::by_triangles< PS, CalculationType ></a>
-, <a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#1dd6664e9b804f79ad472e51501568c8">ggl::strategy::centroid::geolib1995< PC, PS ></a>
-, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">ggl::strategy::within::franklin< P, PS ></a>
-, <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html#aa5dc8bd530eed3ac8420ccccd2c8e65">ggl::strategy::within::winding< P, PS ></a>
+, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html#174de254696923b84060d14b2fdc9dab">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
<li>strategy_type
: <a class="el" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">ggl::area_result< Geometry ></a>
</ul>
@@ -203,7 +210,8 @@
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">ggl::strategy::transform::inverse_transformer< P1, P2 ></a>
, <a class="el" href="structggl_1_1strategy_1_1transform_1_1map__transformer.html#cd9a362067f7a5825d01d040930a22c9">ggl::strategy::transform::map_transformer< P1, P2, Mirror, SameScale, Dimension1, Dimension2 ></a>
<li>type
-: <a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">ggl::as_range_type< Geometry ></a>
+: <a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">ggl::select_calculation_type< Point1, Point2, CalculationType ></a>
+, <a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">ggl::as_range_type< Geometry ></a>
, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1xy__point__segment_3_01_point_00_01_segment_00_01_p_p_strategy_01_4_01_4.html#c06ed387f720d8a642e343b6d9b7f78c">ggl::strategy_tag< strategy::distance::xy_point_segment< Point, Segment, PPStrategy > ></a>
, <a class="el" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html#c2105145e587929fce337ec44821b5a8">ggl::strategy_tag< strategy::distance::pythagoras< P1, P2 > ></a>
, <a class="el" href="structggl_1_1strategy__tag.html#5b87fe714131125577390960840bd65c">ggl::strategy_tag< T ></a>
@@ -228,7 +236,6 @@
, <a class="el" href="structggl_1_1tag.html#278f0697dbc88a94726215f401e87179">ggl::tag< Geometry ></a>
, <a class="el" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">ggl::traits::tag< Geometry ></a>
, <a class="el" href="structggl_1_1ring__type.html#1abf25579f5becec23712a15acd96fdc">ggl::ring_type< Geometry ></a>
-, <a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">ggl::radius_type< G ></a>
, <a class="el" href="structggl_1_1point__type.html#bc8ee2fc6afa22b4e6278c6e9bddb0a6">ggl::point_type< Geometry ></a>
, <a class="el" href="structggl_1_1interior__type.html#19d6b1e60f06a96228093f34f279f6ad">ggl::interior_type< G ></a>
, <a class="el" href="structggl_1_1cs__tag.html#9ec856ee2b9c2e704cae3d50346a457a">ggl::cs_tag< G ></a>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -104,6 +104,8 @@
: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#c41c730c67f5c22191f62d5b0a9eb28b">ggl::policies::relate::direction_type</a>
<li>directions
: <a class="el" href="structggl_1_1section.html#685294c3e7107f87fcb7def9e2a6f430">ggl::section< Box, DimensionCount ></a>
+<li>distance_over_unit_sphere
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
<li>duplicate
: <a class="el" href="structggl_1_1section.html#ef8836af463d9d92f0c2fc6bc4668f54">ggl::section< Box, DimensionCount ></a>
</ul>
@@ -184,14 +186,16 @@
<li>ra
: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#818486fa06d8db5cf82161ec717f6f67">ggl::policies::relate::direction_type</a>
, <a class="el" href="structggl_1_1de9im__segment.html#c858acc9b9c763af75765e9dc0763b9c">ggl::de9im_segment</a>
+<li>radius
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
<li>range_count
: <a class="el" href="structggl_1_1section.html#e8630665af85810bc73eaabbe8b8d1b5">ggl::section< Box, DimensionCount ></a>
<li>rb
-: <a class="el" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">ggl::de9im_segment</a>
-, <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">ggl::policies::relate::direction_type</a>
+: <a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html#12b04114e3ec9186b1da15fd15891fab">ggl::policies::relate::direction_type</a>
+, <a class="el" href="structggl_1_1de9im__segment.html#fb3fbaa64bb5d0f2d467a7878ff5fc56">ggl::de9im_segment</a>
<li>ring_index
-: <a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ggl::section< Box, DimensionCount ></a>
-, <a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ggl::segment_identifier</a>
+: <a class="el" href="structggl_1_1segment__identifier.html#e5b07896d34536e81448435af4d56112">ggl::segment_identifier</a>
+, <a class="el" href="structggl_1_1section.html#fe6e8096e811d4248d64a0a4a9817edc">ggl::section< Box, DimensionCount ></a>
</ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>second
@@ -202,6 +206,8 @@
: <a class="el" href="structggl_1_1segment__identifier.html#14d64f12f554606870c971160a76415b">ggl::segment_identifier</a>
<li>source_index
: <a class="el" href="structggl_1_1segment__identifier.html#e1fe3185627380d9191cc1833d288983">ggl::segment_identifier</a>
+<li>sum
+: <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
</ul>
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
<li>value
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/geometries_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -61,10 +61,9 @@
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="polygon_8hpp.html">ggl/geometries/polygon.hpp</a>></span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="box_8hpp.html">ggl/geometries/box.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="nsphere_8hpp.html">ggl/geometries/nsphere.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="preprocessor">#endif // GGL_GEOMETRIES_HPP</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#endif // GGL_GEOMETRIES_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -68,689 +68,694 @@
<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="preprocessor">#include <<a class="code" href="box_8hpp.html">ggl/geometries/box.hpp</a>></span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="preprocessor">#include <ggl/strategies/cartesian/cart_intersect.hpp></span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include <<a class="code" href="intersection__result_8hpp.html">ggl/strategies/intersection_result.hpp</a>></span>
-<a name="l00035"></a>00035
-<a name="l00036"></a>00036 <span class="preprocessor">#include <<a class="code" href="intersection__points_8hpp.html">ggl/policies/relate/intersection_points.hpp</a>></span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include <<a class="code" href="direction_8hpp.html">ggl/policies/relate/direction.hpp</a>></span>
-<a name="l00038"></a>00038 <span class="preprocessor">#include <<a class="code" href="tupled_8hpp.html">ggl/policies/relate/tupled.hpp</a>></span>
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="preprocessor">#include <<a class="code" href="intersection__point_8hpp.html">ggl/algorithms/overlay/intersection_point.hpp</a>></span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include <<a class="code" href="box_8hpp.html">ggl/geometries/box.hpp</a>></span>
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="preprocessor">#include <ggl/strategies/cartesian/cart_intersect.hpp></span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include <<a class="code" href="intersection__result_8hpp.html">ggl/strategies/intersection_result.hpp</a>></span>
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#include <<a class="code" href="intersection__points_8hpp.html">ggl/policies/relate/intersection_points.hpp</a>></span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include <<a class="code" href="direction_8hpp.html">ggl/policies/relate/direction.hpp</a>></span>
+<a name="l00040"></a>00040 <span class="preprocessor">#include <<a class="code" href="tupled_8hpp.html">ggl/policies/relate/tupled.hpp</a>></span>
<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="preprocessor">#include <<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>></span>
-<a name="l00043"></a>00043 <span class="preprocessor">#include <<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>></span>
-<a name="l00044"></a>00044 <span class="preprocessor">#include <<a class="code" href="algorithms_2sectionalize_8hpp.html">ggl/algorithms/sectionalize.hpp</a>></span>
-<a name="l00045"></a>00045 <span class="preprocessor">#include <<a class="code" href="algorithms_2get__section_8hpp.html">ggl/algorithms/get_section.hpp</a>></span>
-<a name="l00046"></a>00046 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048
+<a name="l00042"></a>00042 <span class="preprocessor">#include <<a class="code" href="intersection__point_8hpp.html">ggl/algorithms/overlay/intersection_point.hpp</a>></span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="preprocessor">#include <<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>></span>
+<a name="l00045"></a>00045 <span class="preprocessor">#include <<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>></span>
+<a name="l00046"></a>00046 <span class="preprocessor">#include <<a class="code" href="algorithms_2sectionalize_8hpp.html">ggl/algorithms/sectionalize.hpp</a>></span>
+<a name="l00047"></a>00047 <span class="preprocessor">#include <<a class="code" href="algorithms_2get__section_8hpp.html">ggl/algorithms/get_section.hpp</a>></span>
+<a name="l00048"></a>00048 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keyword">namespace </span>ggl
-<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a> {
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment1, <span class="keyword">typename</span> Segment2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00059"></a>00059 <span class="keyword">struct </span>relate
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Segment1 <span class="keyword">const</span>& s1, Segment2 <span class="keyword">const</span>& s2,
-<a name="l00062"></a>00062 segment_identifier <span class="keyword">const</span>& seg_id1,
-<a name="l00063"></a>00063 segment_identifier <span class="keyword">const</span>& seg_id2,
-<a name="l00064"></a>00064 IntersectionPoints& out, <span class="keywordtype">bool</span>& trivial)
-<a name="l00065"></a>00065 {
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value
-<a name="l00068"></a>00068 <
-<a name="l00069"></a>00069 IntersectionPoints
-<a name="l00070"></a>00070 >::type intersection_point;
-<a name="l00071"></a>00071 <span class="keyword">typedef</span> segment_intersection_points<intersection_point> ip_type;
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keyword">typedef</span> boost::tuple
-<a name="l00074"></a>00074 <
-<a name="l00075"></a>00075 ip_type,
-<a name="l00076"></a>00076 policies::relate::direction_type
-<a name="l00077"></a>00077 > result_type;
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 result_type result = strategy::intersection::relate_cartesian_segments
-<a name="l00080"></a>00080 <
-<a name="l00081"></a>00081 policies::relate::segments_tupled
-<a name="l00082"></a>00082 <
-<a name="l00083"></a>00083 policies::relate::segments_intersection_points
-<a name="l00084"></a>00084 <
-<a name="l00085"></a>00085 Segment1,
-<a name="l00086"></a>00086 Segment2,
-<a name="l00087"></a>00087 ip_type
-<a name="l00088"></a>00088 > ,
-<a name="l00089"></a>00089 policies::relate::segments_direction
-<a name="l00090"></a>00090 <
-<a name="l00091"></a>00091 Segment1,
-<a name="l00092"></a>00092 Segment2
-<a name="l00093"></a>00093 >
-<a name="l00094"></a>00094 >
-<a name="l00095"></a>00095 >::relate(s1, s2);
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 ip_type& is = result.get<0>();
-<a name="l00098"></a>00098 policies::relate::direction_type & dir = result.get<1>();
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < is.count; i++)
-<a name="l00101"></a>00101 {
-<a name="l00102"></a>00102 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Segment1>::type point1_type;
-<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag<point1_type>::type tag;
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keyword">typename</span> intersection_point::traversal_type info;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">namespace </span>ggl
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a> {
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment1, <span class="keyword">typename</span> Segment2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00061"></a>00061 <span class="keyword">struct </span>relate
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Segment1 <span class="keyword">const</span>& s1, Segment2 <span class="keyword">const</span>& s2,
+<a name="l00064"></a>00064 segment_identifier <span class="keyword">const</span>& seg_id1,
+<a name="l00065"></a>00065 segment_identifier <span class="keyword">const</span>& seg_id2,
+<a name="l00066"></a>00066 IntersectionPoints& out, <span class="keywordtype">bool</span>& trivial)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value
+<a name="l00070"></a>00070 <
+<a name="l00071"></a>00071 IntersectionPoints
+<a name="l00072"></a>00072 >::type intersection_point;
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> segment_intersection_points<intersection_point> ip_type;
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 <span class="keyword">typedef</span> boost::tuple
+<a name="l00076"></a>00076 <
+<a name="l00077"></a>00077 ip_type,
+<a name="l00078"></a>00078 policies::relate::direction_type
+<a name="l00079"></a>00079 > result_type;
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 result_type result = strategy::intersection::relate_cartesian_segments
+<a name="l00082"></a>00082 <
+<a name="l00083"></a>00083 policies::relate::segments_tupled
+<a name="l00084"></a>00084 <
+<a name="l00085"></a>00085 policies::relate::segments_intersection_points
+<a name="l00086"></a>00086 <
+<a name="l00087"></a>00087 Segment1,
+<a name="l00088"></a>00088 Segment2,
+<a name="l00089"></a>00089 ip_type
+<a name="l00090"></a>00090 > ,
+<a name="l00091"></a>00091 policies::relate::segments_direction
+<a name="l00092"></a>00092 <
+<a name="l00093"></a>00093 Segment1,
+<a name="l00094"></a>00094 Segment2
+<a name="l00095"></a>00095 >
+<a name="l00096"></a>00096 >
+<a name="l00097"></a>00097 >::relate(s1, s2);
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 ip_type& is = result.get<0>();
+<a name="l00100"></a>00100 policies::relate::direction_type & dir = result.get<1>();
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < is.count; i++)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Segment1>::type point1_type;
+<a name="l00105"></a>00105 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag<point1_type>::type tag;
<a name="l00106"></a>00106
-<a name="l00107"></a>00107 info.how = dir.how;
-<a name="l00108"></a>00108 info.opposite = dir.opposite;
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="comment">// First info-record, containing info about segment 1</span>
-<a name="l00111"></a>00111 info.seg_id = seg_id1;
-<a name="l00112"></a>00112 info.other_id = seg_id2;
-<a name="l00113"></a>00113 info.other_point = dir.how_a == 1 ? s1.first : s1.second;
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115 info.distance = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.first);
+<a name="l00107"></a>00107 <span class="keyword">typename</span> intersection_point::traversal_type info;
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 info.how = dir.how;
+<a name="l00110"></a>00110 info.opposite = dir.opposite;
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="comment">// First info-record, containing info about segment 1</span>
+<a name="l00113"></a>00113 info.seg_id = seg_id1;
+<a name="l00114"></a>00114 info.other_id = seg_id2;
+<a name="l00115"></a>00115 info.other_point = dir.how_a == 1 ? s1.first : s1.second;
<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="comment">//info.distance = dir.ra; // NOTE: not possible for collinear intersections!</span>
-<a name="l00118"></a>00118 info.arrival = dir.how_a;
-<a name="l00119"></a>00119 info.direction = dir.dir_a;
-<a name="l00120"></a>00120 is.intersections[i].info.push_back(info);
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="comment">// Second info-record, containing info about segment 2</span>
-<a name="l00124"></a>00124 info.seg_id = seg_id2;
-<a name="l00125"></a>00125 info.other_id = seg_id1;
-<a name="l00126"></a>00126 info.other_point = dir.how_b == 1 ? s2.first : s2.second;
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 info.distance = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s2.first);
-<a name="l00129"></a>00129 <span class="comment">//info.distance = dir.rb;</span>
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 info.arrival = dir.how_b;
-<a name="l00132"></a>00132 info.direction = dir.dir_b;
-<a name="l00133"></a>00133 is.intersections[i].info.push_back(info);
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="keywordflow">if</span> (dir.how != <span class="charliteral">'i'</span>)
-<a name="l00136"></a>00136 {
-<a name="l00137"></a>00137 trivial = <span class="keyword">false</span>;
-<a name="l00138"></a>00138 is.intersections[i].trivial = <span class="keyword">false</span>;
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="comment">// Robustness: due to IEEE floating point errors, also in double, it might be</span>
-<a name="l00142"></a>00142 <span class="comment">// that the IP is at the same location as s1.first/s1.second, and still</span>
-<a name="l00143"></a>00143 <span class="comment">// being classified as an 'i' (normal intersection). Then handle it as non-trivial,</span>
-<a name="l00144"></a>00144 <span class="comment">// such that the IP's will be merged lateron.</span>
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 <span class="keywordtype">double</span> eps = 1.0e-10;
-<a name="l00147"></a>00147 <span class="keywordflow">if</span> (dir.how == <span class="charliteral">'i'</span>
-<a name="l00148"></a>00148 && (dir.ra < eps
-<a name="l00149"></a>00149 || dir.rb < eps
-<a name="l00150"></a>00150 || 1.0 - dir.ra < eps
-<a name="l00151"></a>00151 || 1.0 - dir.rb < eps
-<a name="l00152"></a>00152 )
-<a name="l00153"></a>00153 )
-<a name="l00154"></a>00154 {
-<a name="l00155"></a>00155 <span class="comment">// Handle them as non-trivial. This will case a "merge" lateron,</span>
-<a name="l00156"></a>00156 <span class="comment">// which could be done anyway (because of other intersections)</span>
-<a name="l00157"></a>00157 <span class="comment">// So it is never harmful to do this with a larger epsilon.</span>
-<a name="l00158"></a>00158 <span class="comment">// However, it has to be handled (more) carefully lateron, in</span>
-<a name="l00159"></a>00159 <span class="comment">// 'merge' or 'adapt_turns'</span>
-<a name="l00160"></a>00160 trivial = <span class="keyword">false</span>;
-<a name="l00161"></a>00161 is.intersections[i].trivial = <span class="keyword">false</span>;
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00165"></a>00165 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"INTERSECTION suspicious: "</span> << std::setprecision(20)
-<a name="l00166"></a>00166 << <span class="stringliteral">" ra: "</span> << dir.ra
-<a name="l00167"></a>00167 << <span class="stringliteral">" rb: "</span> << dir.rb
-<a name="l00168"></a>00168 << std::endl
-<a name="l00169"></a>00169 << <span class="stringliteral">" dist1: "</span> << <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.first)
-<a name="l00170"></a>00170 << <span class="stringliteral">" dist2: "</span> << <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.second)
-<a name="l00171"></a>00171 << std::endl;
-<a name="l00172"></a>00172 <span class="preprocessor">#endif</span>
-<a name="l00173"></a>00173 <span class="preprocessor"></span> }
-<a name="l00174"></a>00174
-<a name="l00175"></a>00175 out.push_back(is.intersections[i]);
-<a name="l00176"></a>00176 }
-<a name="l00177"></a>00177 <span class="keywordflow">return</span> is.count > 0;
-<a name="l00178"></a>00178 }
-<a name="l00179"></a>00179 };
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="keyword">template</span>
-<a name="l00182"></a>00182 <
-<a name="l00183"></a>00183 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
-<a name="l00184"></a>00184 <span class="keyword">typename</span> Section1, <span class="keyword">typename</span> Section2,
-<a name="l00185"></a>00185 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00186"></a>00186 >
-<a name="l00187"></a>00187 <span class="keyword">class </span>get_ips_in_sections
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 <span class="keyword">public</span> :
-<a name="l00190"></a>00190 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(
-<a name="l00191"></a>00191 std::size_t source_id1, Geometry1 <span class="keyword">const</span>& geometry1,
-<a name="l00192"></a>00192 Section1 <span class="keyword">const</span>& sec1,
-<a name="l00193"></a>00193 std::size_t source_id2, Geometry2 <span class="keyword">const</span>& geometry2,
-<a name="l00194"></a>00194 Section2 <span class="keyword">const</span>& sec2,
-<a name="l00195"></a>00195 <span class="keywordtype">bool</span> return_if_found,
-<a name="l00196"></a>00196 IntersectionPoints& intersection_points,
-<a name="l00197"></a>00197 <span class="keywordtype">bool</span>& trivial)
-<a name="l00198"></a>00198 {
-<a name="l00199"></a>00199
-<a name="l00200"></a>00200 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator</a>
-<a name="l00201"></a>00201 <
-<a name="l00202"></a>00202 Geometry1, <span class="keyword">true</span>
-<a name="l00203"></a>00203 >::type range1_iterator;
-<a name="l00204"></a>00204 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator</a>
-<a name="l00205"></a>00205 <
-<a name="l00206"></a>00206 Geometry2, <span class="keyword">true</span>
-<a name="l00207"></a>00207 >::type range2_iterator;
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209 <span class="keywordtype">int</span> <span class="keyword">const</span> dir1 = sec1.directions[0];
-<a name="l00210"></a>00210 <span class="keywordtype">int</span> <span class="keyword">const</span> dir2 = sec2.directions[0];
-<a name="l00211"></a>00211 <span class="keywordtype">int</span> index1 = sec1.begin_index;
-<a name="l00212"></a>00212 <span class="keywordtype">int</span> ndi1 = sec1.non_duplicate_index;
-<a name="l00213"></a>00213
-<a name="l00214"></a>00214 <span class="keywordtype">bool</span> <span class="keyword">const</span> same_source =
-<a name="l00215"></a>00215 source_id1 == source_id2
-<a name="l00216"></a>00216 && sec1.multi_index == sec2.multi_index
-<a name="l00217"></a>00217 && sec1.ring_index == sec2.ring_index;
-<a name="l00218"></a>00218
-<a name="l00219"></a>00219 <span class="comment">// Note that it is NOT possible to have section-iterators here</span>
-<a name="l00220"></a>00220 <span class="comment">// because of the logistics of "index" (the section-iterator automatically</span>
-<a name="l00221"></a>00221 <span class="comment">// skips to the begin-point, we loose the index or have to recalculate it)</span>
-<a name="l00222"></a>00222 <span class="comment">// So we mimic it here</span>
-<a name="l00223"></a>00223 range1_iterator it1, end1;
-<a name="l00224"></a>00224 <a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a>(geometry1, sec1, it1, end1);
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 <span class="comment">// Mimic 1: Skip to point such that section interects other box</span>
-<a name="l00227"></a>00227 range1_iterator prev1 = it1++;
-<a name="l00228"></a>00228 <span class="keywordflow">for</span>(; it1 != end1 && preceding<0>(dir1, *it1, sec2.bounding_box);
-<a name="l00229"></a>00229 prev1 = it1++, index1++, ndi1++)
-<a name="l00230"></a>00230 {
-<a name="l00231"></a>00231 }
-<a name="l00232"></a>00232 <span class="comment">// Go back one step because we want to start completely preceding</span>
-<a name="l00233"></a>00233 it1 = prev1;
-<a name="l00234"></a>00234
-<a name="l00235"></a>00235 <span class="comment">// Walk through section and stop if we exceed the other box</span>
-<a name="l00236"></a>00236 <span class="keywordflow">for</span> (prev1 = it1++;
-<a name="l00237"></a>00237 it1 != end1 && ! exceeding<0>(dir1, *prev1, sec2.bounding_box);
-<a name="l00238"></a>00238 prev1 = it1++, index1++, ndi1++)
-<a name="l00239"></a>00239 {
-<a name="l00240"></a>00240 segment1_type s1(*prev1, *it1);
-<a name="l00241"></a>00241
-<a name="l00242"></a>00242 <span class="keywordtype">int</span> index2 = sec2.begin_index;
-<a name="l00243"></a>00243 <span class="keywordtype">int</span> ndi2 = sec2.non_duplicate_index;
-<a name="l00244"></a>00244
-<a name="l00245"></a>00245 range2_iterator it2, end2;
-<a name="l00246"></a>00246 <a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a>(geometry2, sec2, it2, end2);
-<a name="l00247"></a>00247
-<a name="l00248"></a>00248 range2_iterator prev2 = it2++;
+<a name="l00117"></a>00117 info.distance = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.first);
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="comment">//info.distance = dir.ra; // NOTE: not possible for collinear intersections!</span>
+<a name="l00120"></a>00120 info.arrival = dir.how_a;
+<a name="l00121"></a>00121 info.direction = dir.dir_a;
+<a name="l00122"></a>00122 is.intersections[i].info.push_back(info);
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="comment">// Second info-record, containing info about segment 2</span>
+<a name="l00126"></a>00126 info.seg_id = seg_id2;
+<a name="l00127"></a>00127 info.other_id = seg_id1;
+<a name="l00128"></a>00128 info.other_point = dir.how_b == 1 ? s2.first : s2.second;
+<a name="l00129"></a>00129
+<a name="l00130"></a>00130 info.distance = <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s2.first);
+<a name="l00131"></a>00131 <span class="comment">//info.distance = dir.rb;</span>
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 info.arrival = dir.how_b;
+<a name="l00134"></a>00134 info.direction = dir.dir_b;
+<a name="l00135"></a>00135 is.intersections[i].info.push_back(info);
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="keywordflow">if</span> (dir.how != <span class="charliteral">'i'</span>)
+<a name="l00138"></a>00138 {
+<a name="l00139"></a>00139 trivial = <span class="keyword">false</span>;
+<a name="l00140"></a>00140 is.intersections[i].trivial = <span class="keyword">false</span>;
+<a name="l00141"></a>00141 }
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143 <span class="comment">// Robustness: due to IEEE floating point errors, also in double, it might be</span>
+<a name="l00144"></a>00144 <span class="comment">// that the IP is at the same location as s1.first/s1.second, and still</span>
+<a name="l00145"></a>00145 <span class="comment">// being classified as an 'i' (normal intersection). Then handle it as non-trivial,</span>
+<a name="l00146"></a>00146 <span class="comment">// such that the IP's will be merged lateron.</span>
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="keywordtype">double</span> eps = 1.0e-10;
+<a name="l00149"></a>00149 <span class="keywordflow">if</span> (dir.how == <span class="charliteral">'i'</span>
+<a name="l00150"></a>00150 && (dir.ra < eps
+<a name="l00151"></a>00151 || dir.rb < eps
+<a name="l00152"></a>00152 || 1.0 - dir.ra < eps
+<a name="l00153"></a>00153 || 1.0 - dir.rb < eps
+<a name="l00154"></a>00154 )
+<a name="l00155"></a>00155 )
+<a name="l00156"></a>00156 {
+<a name="l00157"></a>00157 <span class="comment">// Handle them as non-trivial. This will case a "merge" lateron,</span>
+<a name="l00158"></a>00158 <span class="comment">// which could be done anyway (because of other intersections)</span>
+<a name="l00159"></a>00159 <span class="comment">// So it is never harmful to do this with a larger epsilon.</span>
+<a name="l00160"></a>00160 <span class="comment">// However, it has to be handled (more) carefully lateron, in</span>
+<a name="l00161"></a>00161 <span class="comment">// 'merge' or 'adapt_turns'</span>
+<a name="l00162"></a>00162 trivial = <span class="keyword">false</span>;
+<a name="l00163"></a>00163 is.intersections[i].trivial = <span class="keyword">false</span>;
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00167"></a>00167 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"INTERSECTION suspicious: "</span> << std::setprecision(20)
+<a name="l00168"></a>00168 << <span class="stringliteral">" ra: "</span> << dir.ra
+<a name="l00169"></a>00169 << <span class="stringliteral">" rb: "</span> << dir.rb
+<a name="l00170"></a>00170 << std::endl
+<a name="l00171"></a>00171 << <span class="stringliteral">" dist1: "</span> << <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.first)
+<a name="l00172"></a>00172 << <span class="stringliteral">" dist2: "</span> << <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">ggl::distance</a>(is.intersections[i], s1.second)
+<a name="l00173"></a>00173 << std::endl;
+<a name="l00174"></a>00174 <span class="preprocessor">#endif</span>
+<a name="l00175"></a>00175 <span class="preprocessor"></span> }
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 out.push_back(is.intersections[i]);
+<a name="l00178"></a>00178 }
+<a name="l00179"></a>00179 <span class="keywordflow">return</span> is.count > 0;
+<a name="l00180"></a>00180 }
+<a name="l00181"></a>00181 };
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="keyword">template</span>
+<a name="l00184"></a>00184 <
+<a name="l00185"></a>00185 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00186"></a>00186 <span class="keyword">typename</span> Section1, <span class="keyword">typename</span> Section2,
+<a name="l00187"></a>00187 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00188"></a>00188 >
+<a name="l00189"></a>00189 <span class="keyword">class </span>get_ips_in_sections
+<a name="l00190"></a>00190 {
+<a name="l00191"></a>00191 <span class="keyword">public</span> :
+<a name="l00192"></a>00192 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(
+<a name="l00193"></a>00193 std::size_t source_id1, Geometry1 <span class="keyword">const</span>& geometry1,
+<a name="l00194"></a>00194 Section1 <span class="keyword">const</span>& sec1,
+<a name="l00195"></a>00195 std::size_t source_id2, Geometry2 <span class="keyword">const</span>& geometry2,
+<a name="l00196"></a>00196 Section2 <span class="keyword">const</span>& sec2,
+<a name="l00197"></a>00197 <span class="keywordtype">bool</span> return_if_found,
+<a name="l00198"></a>00198 IntersectionPoints& intersection_points,
+<a name="l00199"></a>00199 <span class="keywordtype">bool</span>& trivial)
+<a name="l00200"></a>00200 {
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator</a>
+<a name="l00203"></a>00203 <
+<a name="l00204"></a>00204 Geometry1, <span class="keyword">true</span>
+<a name="l00205"></a>00205 >::type range1_iterator;
+<a name="l00206"></a>00206 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">ggl::vertex_iterator</a>
+<a name="l00207"></a>00207 <
+<a name="l00208"></a>00208 Geometry2, <span class="keyword">true</span>
+<a name="l00209"></a>00209 >::type range2_iterator;
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 <span class="keywordtype">int</span> <span class="keyword">const</span> dir1 = sec1.directions[0];
+<a name="l00212"></a>00212 <span class="keywordtype">int</span> <span class="keyword">const</span> dir2 = sec2.directions[0];
+<a name="l00213"></a>00213 <span class="keywordtype">int</span> index1 = sec1.begin_index;
+<a name="l00214"></a>00214 <span class="keywordtype">int</span> ndi1 = sec1.non_duplicate_index;
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="keywordtype">bool</span> <span class="keyword">const</span> same_source =
+<a name="l00217"></a>00217 source_id1 == source_id2
+<a name="l00218"></a>00218 && sec1.multi_index == sec2.multi_index
+<a name="l00219"></a>00219 && sec1.ring_index == sec2.ring_index;
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221 <span class="comment">// Note that it is NOT possible to have section-iterators here</span>
+<a name="l00222"></a>00222 <span class="comment">// because of the logistics of "index" (the section-iterator automatically</span>
+<a name="l00223"></a>00223 <span class="comment">// skips to the begin-point, we loose the index or have to recalculate it)</span>
+<a name="l00224"></a>00224 <span class="comment">// So we mimic it here</span>
+<a name="l00225"></a>00225 range1_iterator it1, end1;
+<a name="l00226"></a>00226 <a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a>(geometry1, sec1, it1, end1);
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="comment">// Mimic 1: Skip to point such that section interects other box</span>
+<a name="l00229"></a>00229 range1_iterator prev1 = it1++;
+<a name="l00230"></a>00230 <span class="keywordflow">for</span>(; it1 != end1 && preceding<0>(dir1, *it1, sec2.bounding_box);
+<a name="l00231"></a>00231 prev1 = it1++, index1++, ndi1++)
+<a name="l00232"></a>00232 {
+<a name="l00233"></a>00233 }
+<a name="l00234"></a>00234 <span class="comment">// Go back one step because we want to start completely preceding</span>
+<a name="l00235"></a>00235 it1 = prev1;
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 <span class="comment">// Walk through section and stop if we exceed the other box</span>
+<a name="l00238"></a>00238 <span class="keywordflow">for</span> (prev1 = it1++;
+<a name="l00239"></a>00239 it1 != end1 && ! exceeding<0>(dir1, *prev1, sec2.bounding_box);
+<a name="l00240"></a>00240 prev1 = it1++, index1++, ndi1++)
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 segment1_type s1(*prev1, *it1);
+<a name="l00243"></a>00243
+<a name="l00244"></a>00244 <span class="keywordtype">int</span> index2 = sec2.begin_index;
+<a name="l00245"></a>00245 <span class="keywordtype">int</span> ndi2 = sec2.non_duplicate_index;
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247 range2_iterator it2, end2;
+<a name="l00248"></a>00248 <a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a>(geometry2, sec2, it2, end2);
<a name="l00249"></a>00249
-<a name="l00250"></a>00250 <span class="comment">// Mimic 2:</span>
-<a name="l00251"></a>00251 <span class="keywordflow">for</span>(; it2 != end2 && preceding<0>(dir2, *it2, sec1.bounding_box);
-<a name="l00252"></a>00252 prev2 = it2++, index2++, ndi2++)
-<a name="l00253"></a>00253 {
-<a name="l00254"></a>00254 }
-<a name="l00255"></a>00255 it2 = prev2;
-<a name="l00256"></a>00256
-<a name="l00257"></a>00257 <span class="keywordflow">for</span> (prev2 = it2++;
-<a name="l00258"></a>00258 it2 != end2 && ! exceeding<0>(dir2, *prev2, sec1.bounding_box);
-<a name="l00259"></a>00259 prev2 = it2++, index2++, ndi2++)
-<a name="l00260"></a>00260 {
-<a name="l00261"></a>00261 <span class="keywordtype">bool</span> skip = same_source;
-<a name="l00262"></a>00262 <span class="keywordflow">if</span> (skip)
-<a name="l00263"></a>00263 {
-<a name="l00264"></a>00264 <span class="comment">// If sources are the same (possibly self-intersecting):</span>
-<a name="l00265"></a>00265 <span class="comment">// check if it is a neighbouring sement.</span>
-<a name="l00266"></a>00266 <span class="comment">// (including first-last segment</span>
-<a name="l00267"></a>00267 <span class="comment">// and two segments with one or more degenerate/duplicate</span>
-<a name="l00268"></a>00268 <span class="comment">// (zero-length) segments in between)</span>
-<a name="l00269"></a>00269
-<a name="l00270"></a>00270 <span class="comment">// Also skip if index1 < index2 to avoid getting all</span>
-<a name="l00271"></a>00271 <span class="comment">// intersections twice (only do this on same source!)</span>
-<a name="l00272"></a>00272
-<a name="l00273"></a>00273 <span class="comment">// About n-2:</span>
-<a name="l00274"></a>00274 <span class="comment">// (square: range_count=5, indices 0,1,2,3</span>
-<a name="l00275"></a>00275 <span class="comment">// -> 0-3 are adjacent)</span>
-<a name="l00276"></a>00276 skip = index2 >= index1
-<a name="l00277"></a>00277 || ndi1 == ndi2 + 1
-<a name="l00278"></a>00278 || (index2 == 0 && index1 >= int(sec1.range_count) - 2)
-<a name="l00279"></a>00279 ;
-<a name="l00280"></a>00280 }
-<a name="l00281"></a>00281
-<a name="l00282"></a>00282 <span class="keywordflow">if</span> (! skip)
-<a name="l00283"></a>00283 {
-<a name="l00284"></a>00284 <span class="keywordflow">if</span> (relate<segment1_type, segment2_type, IntersectionPoints>
-<a name="l00285"></a>00285 ::apply(s1, segment2_type(*prev2, *it2),
-<a name="l00286"></a>00286 segment_identifier(source_id1,
-<a name="l00287"></a>00287 sec1.multi_index, sec1.ring_index, index1),
-<a name="l00288"></a>00288 segment_identifier(source_id2,
-<a name="l00289"></a>00289 sec2.multi_index, sec2.ring_index, index2),
-<a name="l00290"></a>00290 intersection_points, trivial)
-<a name="l00291"></a>00291 && return_if_found)
-<a name="l00292"></a>00292 {
-<a name="l00293"></a>00293 <span class="keywordflow">return</span>;
-<a name="l00294"></a>00294 }
-<a name="l00295"></a>00295 }
-<a name="l00296"></a>00296 }
-<a name="l00297"></a>00297 }
-<a name="l00298"></a>00298 }
-<a name="l00299"></a>00299
-<a name="l00300"></a>00300
-<a name="l00301"></a>00301 <span class="keyword">private</span> :
-<a name="l00302"></a>00302 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Geometry1>::type</a> point1_type;
-<a name="l00303"></a>00303 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Geometry2>::type</a> point2_type;
-<a name="l00304"></a>00304 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment<const point1_type></a> segment1_type;
-<a name="l00305"></a>00305 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment<const point2_type></a> segment2_type;
-<a name="l00306"></a>00306
-<a name="l00307"></a>00307
-<a name="l00308"></a>00308 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Dim, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box>
-<a name="l00309"></a>00309 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> preceding(<span class="keywordtype">int</span> dir, Point <span class="keyword">const</span>& point, Box <span class="keyword">const</span>& box)
-<a name="l00310"></a>00310 {
-<a name="l00311"></a>00311 <span class="keywordflow">return</span> (dir == 1 && get<Dim>(point) < get<min_corner, Dim>(box))
-<a name="l00312"></a>00312 || (dir == -1 && get<Dim>(point) > get<max_corner, Dim>(box));
-<a name="l00313"></a>00313 }
-<a name="l00314"></a>00314
-<a name="l00315"></a>00315 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Dim, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box>
-<a name="l00316"></a>00316 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> exceeding(<span class="keywordtype">int</span> dir, Point <span class="keyword">const</span>& point, Box <span class="keyword">const</span>& box)
-<a name="l00317"></a>00317 {
-<a name="l00318"></a>00318 <span class="keywordflow">return</span> (dir == 1 && get<Dim>(point) > get<max_corner, Dim>(box))
-<a name="l00319"></a>00319 || (dir == -1 && get<Dim>(point) < get<min_corner, Dim>(box));
-<a name="l00320"></a>00320 }
-<a name="l00321"></a>00321
-<a name="l00322"></a>00322
-<a name="l00323"></a>00323 };
+<a name="l00250"></a>00250 range2_iterator prev2 = it2++;
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="comment">// Mimic 2:</span>
+<a name="l00253"></a>00253 <span class="keywordflow">for</span>(; it2 != end2 && preceding<0>(dir2, *it2, sec1.bounding_box);
+<a name="l00254"></a>00254 prev2 = it2++, index2++, ndi2++)
+<a name="l00255"></a>00255 {
+<a name="l00256"></a>00256 }
+<a name="l00257"></a>00257 it2 = prev2;
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="keywordflow">for</span> (prev2 = it2++;
+<a name="l00260"></a>00260 it2 != end2 && ! exceeding<0>(dir2, *prev2, sec1.bounding_box);
+<a name="l00261"></a>00261 prev2 = it2++, index2++, ndi2++)
+<a name="l00262"></a>00262 {
+<a name="l00263"></a>00263 <span class="keywordtype">bool</span> skip = same_source;
+<a name="l00264"></a>00264 <span class="keywordflow">if</span> (skip)
+<a name="l00265"></a>00265 {
+<a name="l00266"></a>00266 <span class="comment">// If sources are the same (possibly self-intersecting):</span>
+<a name="l00267"></a>00267 <span class="comment">// check if it is a neighbouring sement.</span>
+<a name="l00268"></a>00268 <span class="comment">// (including first-last segment</span>
+<a name="l00269"></a>00269 <span class="comment">// and two segments with one or more degenerate/duplicate</span>
+<a name="l00270"></a>00270 <span class="comment">// (zero-length) segments in between)</span>
+<a name="l00271"></a>00271
+<a name="l00272"></a>00272 <span class="comment">// Also skip if index1 < index2 to avoid getting all</span>
+<a name="l00273"></a>00273 <span class="comment">// intersections twice (only do this on same source!)</span>
+<a name="l00274"></a>00274
+<a name="l00275"></a>00275 <span class="comment">// About n-2:</span>
+<a name="l00276"></a>00276 <span class="comment">// (square: range_count=5, indices 0,1,2,3</span>
+<a name="l00277"></a>00277 <span class="comment">// -> 0-3 are adjacent)</span>
+<a name="l00278"></a>00278 skip = index2 >= index1
+<a name="l00279"></a>00279 || ndi1 == ndi2 + 1
+<a name="l00280"></a>00280 || (index2 == 0 && index1 >= int(sec1.range_count) - 2)
+<a name="l00281"></a>00281 ;
+<a name="l00282"></a>00282 }
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284 <span class="keywordflow">if</span> (! skip)
+<a name="l00285"></a>00285 {
+<a name="l00286"></a>00286 <span class="keywordflow">if</span> (relate<segment1_type, segment2_type, IntersectionPoints>
+<a name="l00287"></a>00287 ::apply(s1, segment2_type(*prev2, *it2),
+<a name="l00288"></a>00288 segment_identifier(source_id1,
+<a name="l00289"></a>00289 sec1.multi_index, sec1.ring_index, index1),
+<a name="l00290"></a>00290 segment_identifier(source_id2,
+<a name="l00291"></a>00291 sec2.multi_index, sec2.ring_index, index2),
+<a name="l00292"></a>00292 intersection_points, trivial)
+<a name="l00293"></a>00293 && return_if_found)
+<a name="l00294"></a>00294 {
+<a name="l00295"></a>00295 <span class="keywordflow">return</span>;
+<a name="l00296"></a>00296 }
+<a name="l00297"></a>00297 }
+<a name="l00298"></a>00298 }
+<a name="l00299"></a>00299 }
+<a name="l00300"></a>00300 }
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302
+<a name="l00303"></a>00303 <span class="keyword">private</span> :
+<a name="l00304"></a>00304 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Geometry1>::type</a> point1_type;
+<a name="l00305"></a>00305 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Geometry2>::type</a> point2_type;
+<a name="l00306"></a>00306 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment<const point1_type></a> segment1_type;
+<a name="l00307"></a>00307 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">ggl::segment<const point2_type></a> segment2_type;
+<a name="l00308"></a>00308
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Dim, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box>
+<a name="l00311"></a>00311 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> preceding(<span class="keywordtype">int</span> dir, Point <span class="keyword">const</span>& point, Box <span class="keyword">const</span>& box)
+<a name="l00312"></a>00312 {
+<a name="l00313"></a>00313 <span class="keywordflow">return</span> (dir == 1 && get<Dim>(point) < get<min_corner, Dim>(box))
+<a name="l00314"></a>00314 || (dir == -1 && get<Dim>(point) > get<max_corner, Dim>(box));
+<a name="l00315"></a>00315 }
+<a name="l00316"></a>00316
+<a name="l00317"></a>00317 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Dim, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Box>
+<a name="l00318"></a>00318 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> exceeding(<span class="keywordtype">int</span> dir, Point <span class="keyword">const</span>& point, Box <span class="keyword">const</span>& box)
+<a name="l00319"></a>00319 {
+<a name="l00320"></a>00320 <span class="keywordflow">return</span> (dir == 1 && get<Dim>(point) > get<max_corner, Dim>(box))
+<a name="l00321"></a>00321 || (dir == -1 && get<Dim>(point) < get<min_corner, Dim>(box));
+<a name="l00322"></a>00322 }
+<a name="l00323"></a>00323
<a name="l00324"></a>00324
-<a name="l00325"></a>00325
-<a name="l00326"></a>00326 <span class="keyword">template</span>
-<a name="l00327"></a>00327 <
-<a name="l00328"></a>00328 <span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Box,
-<a name="l00329"></a>00329 <span class="keyword">typename</span> Section1, <span class="keyword">typename</span> Section2,
-<a name="l00330"></a>00330 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00331"></a>00331 >
-<a name="l00332"></a>00332 <span class="keyword">class </span>get_ips_range_box
-<a name="l00333"></a>00333 {
-<a name="l00334"></a>00334 <span class="keyword">public</span> :
-<a name="l00335"></a>00335 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(
-<a name="l00336"></a>00336 std::size_t source_id1, Ring <span class="keyword">const</span>& ring,
-<a name="l00337"></a>00337 std::size_t source_id2, Box <span class="keyword">const</span>& box,
-<a name="l00338"></a>00338 Section1 <span class="keyword">const</span>& sec1, Section2 <span class="keyword">const</span>& sec2,
-<a name="l00339"></a>00339 IntersectionPoints& intersection_points, <span class="keywordtype">bool</span>& trivial)
-<a name="l00340"></a>00340 {
-<a name="l00341"></a>00341 get_ips_in_sections<Ring, Box, Section1, Section2, IntersectionPoints>
-<a name="l00342"></a>00342 ::apply(
-<a name="l00343"></a>00343 source_id1, ring, sec1,
-<a name="l00344"></a>00344 source_id2, box, sec2,
-<a name="l00345"></a>00345 <span class="keyword">false</span>,
-<a name="l00346"></a>00346 intersection_points, trivial);
-<a name="l00347"></a>00347 }
-<a name="l00348"></a>00348 };
-<a name="l00349"></a>00349
-<a name="l00350"></a>00350
+<a name="l00325"></a>00325 };
+<a name="l00326"></a>00326
+<a name="l00327"></a>00327
+<a name="l00328"></a>00328 <span class="keyword">template</span>
+<a name="l00329"></a>00329 <
+<a name="l00330"></a>00330 <span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Box,
+<a name="l00331"></a>00331 <span class="keyword">typename</span> Section1, <span class="keyword">typename</span> Section2,
+<a name="l00332"></a>00332 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00333"></a>00333 >
+<a name="l00334"></a>00334 <span class="keyword">class </span>get_ips_range_box
+<a name="l00335"></a>00335 {
+<a name="l00336"></a>00336 <span class="keyword">public</span> :
+<a name="l00337"></a>00337 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(
+<a name="l00338"></a>00338 std::size_t source_id1, Ring <span class="keyword">const</span>& ring,
+<a name="l00339"></a>00339 std::size_t source_id2, Box <span class="keyword">const</span>& box,
+<a name="l00340"></a>00340 Section1 <span class="keyword">const</span>& sec1, Section2 <span class="keyword">const</span>& sec2,
+<a name="l00341"></a>00341 IntersectionPoints& intersection_points, <span class="keywordtype">bool</span>& trivial)
+<a name="l00342"></a>00342 {
+<a name="l00343"></a>00343 get_ips_in_sections<Ring, Box, Section1, Section2, IntersectionPoints>
+<a name="l00344"></a>00344 ::apply(
+<a name="l00345"></a>00345 source_id1, ring, sec1,
+<a name="l00346"></a>00346 source_id2, box, sec2,
+<a name="l00347"></a>00347 <span class="keyword">false</span>,
+<a name="l00348"></a>00348 intersection_points, trivial);
+<a name="l00349"></a>00349 }
+<a name="l00350"></a>00350 };
<a name="l00351"></a>00351
<a name="l00352"></a>00352
-<a name="l00353"></a>00353 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00354"></a>00354 <span class="keyword">struct </span>get_ips_generic
-<a name="l00355"></a>00355 {
-<a name="l00356"></a>00356 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
-<a name="l00357"></a>00357 std::size_t source_id1, Geometry1 <span class="keyword">const</span>& geometry1,
-<a name="l00358"></a>00358 std::size_t source_id2, Geometry2 <span class="keyword">const</span>& geometry2,
-<a name="l00359"></a>00359 IntersectionPoints& intersection_points)
-<a name="l00360"></a>00360 {
-<a name="l00361"></a>00361 <span class="comment">// Create monotonic sections in ONE direction</span>
-<a name="l00362"></a>00362 <span class="comment">// - in most cases ONE direction is faster (e.g. ~1% faster for the NLP4 testset)</span>
-<a name="l00363"></a>00363 <span class="comment">// - the sections now have a limit (default 10) so will not be too large</span>
-<a name="l00364"></a>00364 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
-<a name="l00365"></a>00365 <
-<a name="l00366"></a>00366 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box < typename ggl::point_type<Geometry1>::type</a> >, 1
-<a name="l00367"></a>00367 > sections1_type;
-<a name="l00368"></a>00368 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
-<a name="l00369"></a>00369 <
-<a name="l00370"></a>00370 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box < typename ggl::point_type<Geometry2>::type</a> >, 1
-<a name="l00371"></a>00371 > sections2_type;
-<a name="l00372"></a>00372
-<a name="l00373"></a>00373 sections1_type sec1;
-<a name="l00374"></a>00374 sections2_type sec2;
-<a name="l00375"></a>00375
-<a name="l00376"></a>00376 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry1, sec1);
-<a name="l00377"></a>00377 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry2, sec2);
-<a name="l00378"></a>00378
-<a name="l00379"></a>00379 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
-<a name="l00380"></a>00380 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<sections1_type>::type
-<a name="l00381"></a>00381 it1 = sec1.begin();
-<a name="l00382"></a>00382 it1 != sec1.end();
-<a name="l00383"></a>00383 ++it1)
-<a name="l00384"></a>00384 {
-<a name="l00385"></a>00385 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<sections2_type>::type
-<a name="l00386"></a>00386 it2 = sec2.begin();
-<a name="l00387"></a>00387 it2 != sec2.end();
-<a name="l00388"></a>00388 ++it2)
-<a name="l00389"></a>00389 {
-<a name="l00390"></a>00390 <span class="keywordflow">if</span> (! <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(it1->bounding_box, it2->bounding_box))
-<a name="l00391"></a>00391 {
-<a name="l00392"></a>00392 get_ips_in_sections
-<a name="l00393"></a>00393 <
-<a name="l00394"></a>00394 Geometry1,
-<a name="l00395"></a>00395 Geometry2,
-<a name="l00396"></a>00396 <span class="keyword">typename</span> boost::range_value<sections1_type>::type,
-<a name="l00397"></a>00397 <span class="keyword">typename</span> boost::range_value<sections2_type>::type,
-<a name="l00398"></a>00398 IntersectionPoints
-<a name="l00399"></a>00399 >::apply(
-<a name="l00400"></a>00400 source_id1, geometry1, *it1,
-<a name="l00401"></a>00401 source_id2, geometry2, *it2,
-<a name="l00402"></a>00402 <span class="keyword">false</span>,
-<a name="l00403"></a>00403 intersection_points, trivial);
-<a name="l00404"></a>00404 }
-<a name="l00405"></a>00405 }
-<a name="l00406"></a>00406 }
-<a name="l00407"></a>00407 <span class="keywordflow">return</span> trivial;
-<a name="l00408"></a>00408 }
-<a name="l00409"></a>00409 };
-<a name="l00410"></a>00410
-<a name="l00411"></a>00411
+<a name="l00353"></a>00353
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00356"></a>00356 <span class="keyword">struct </span>get_ips_generic
+<a name="l00357"></a>00357 {
+<a name="l00358"></a>00358 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00359"></a>00359 std::size_t source_id1, Geometry1 <span class="keyword">const</span>& geometry1,
+<a name="l00360"></a>00360 std::size_t source_id2, Geometry2 <span class="keyword">const</span>& geometry2,
+<a name="l00361"></a>00361 IntersectionPoints& intersection_points)
+<a name="l00362"></a>00362 {
+<a name="l00363"></a>00363 <span class="comment">// Create monotonic sections in ONE direction</span>
+<a name="l00364"></a>00364 <span class="comment">// - in most cases ONE direction is faster (e.g. ~1% faster for the NLP4 testset)</span>
+<a name="l00365"></a>00365 <span class="comment">// - the sections now have a limit (default 10) so will not be too large</span>
+<a name="l00366"></a>00366 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
+<a name="l00367"></a>00367 <
+<a name="l00368"></a>00368 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box < typename ggl::point_type<Geometry1>::type</a> >, 1
+<a name="l00369"></a>00369 > sections1_type;
+<a name="l00370"></a>00370 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
+<a name="l00371"></a>00371 <
+<a name="l00372"></a>00372 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box < typename ggl::point_type<Geometry2>::type</a> >, 1
+<a name="l00373"></a>00373 > sections2_type;
+<a name="l00374"></a>00374
+<a name="l00375"></a>00375 sections1_type sec1;
+<a name="l00376"></a>00376 sections2_type sec2;
+<a name="l00377"></a>00377
+<a name="l00378"></a>00378 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry1, sec1);
+<a name="l00379"></a>00379 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry2, sec2);
+<a name="l00380"></a>00380
+<a name="l00381"></a>00381 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
+<a name="l00382"></a>00382 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<sections1_type>::type
+<a name="l00383"></a>00383 it1 = sec1.begin();
+<a name="l00384"></a>00384 it1 != sec1.end();
+<a name="l00385"></a>00385 ++it1)
+<a name="l00386"></a>00386 {
+<a name="l00387"></a>00387 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<sections2_type>::type
+<a name="l00388"></a>00388 it2 = sec2.begin();
+<a name="l00389"></a>00389 it2 != sec2.end();
+<a name="l00390"></a>00390 ++it2)
+<a name="l00391"></a>00391 {
+<a name="l00392"></a>00392 <span class="keywordflow">if</span> (! <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(it1->bounding_box, it2->bounding_box))
+<a name="l00393"></a>00393 {
+<a name="l00394"></a>00394 get_ips_in_sections
+<a name="l00395"></a>00395 <
+<a name="l00396"></a>00396 Geometry1,
+<a name="l00397"></a>00397 Geometry2,
+<a name="l00398"></a>00398 <span class="keyword">typename</span> boost::range_value<sections1_type>::type,
+<a name="l00399"></a>00399 <span class="keyword">typename</span> boost::range_value<sections2_type>::type,
+<a name="l00400"></a>00400 IntersectionPoints
+<a name="l00401"></a>00401 >::apply(
+<a name="l00402"></a>00402 source_id1, geometry1, *it1,
+<a name="l00403"></a>00403 source_id2, geometry2, *it2,
+<a name="l00404"></a>00404 <span class="keyword">false</span>,
+<a name="l00405"></a>00405 intersection_points, trivial);
+<a name="l00406"></a>00406 }
+<a name="l00407"></a>00407 }
+<a name="l00408"></a>00408 }
+<a name="l00409"></a>00409 <span class="keywordflow">return</span> trivial;
+<a name="l00410"></a>00410 }
+<a name="l00411"></a>00411 };
<a name="l00412"></a>00412
-<a name="l00413"></a>00413 <span class="keyword">template</span><<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00414"></a>00414 <span class="keyword">struct </span>get_ips_cs
-<a name="l00415"></a>00415 {
-<a name="l00416"></a>00416 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::size_t source_id1, Range <span class="keyword">const</span>& range,
-<a name="l00417"></a>00417 <span class="keywordtype">int</span> multi_index, <span class="keywordtype">int</span> ring_index,
-<a name="l00418"></a>00418 std::size_t source_id2, Box <span class="keyword">const</span>& box,
-<a name="l00419"></a>00419 IntersectionPoints& intersection_points,
-<a name="l00420"></a>00420 <span class="keywordtype">bool</span>& trivial)
-<a name="l00421"></a>00421 {
-<a name="l00422"></a>00422 <span class="keywordflow">if</span> (boost::size(range) <= 1)
-<a name="l00423"></a>00423 {
-<a name="l00424"></a>00424 <span class="keywordflow">return</span>;
-<a name="l00425"></a>00425 }
-<a name="l00426"></a>00426
-<a name="l00427"></a>00427
-<a name="l00428"></a>00428 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Box>::type</a> box_point_type;
-<a name="l00429"></a>00429 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Range>::type</a> point_type;
-<a name="l00430"></a>00430
-<a name="l00431"></a>00431 <span class="keyword">typedef</span> segment<const box_point_type> box_segment_type;
-<a name="l00432"></a>00432 <span class="keyword">typedef</span> segment<const point_type> segment_type;
-<a name="l00433"></a>00433
-<a name="l00434"></a>00434 point_type lower_left, upper_left, lower_right, upper_right;
-<a name="l00435"></a>00435 <a class="code" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, lower_left, lower_right, upper_left, upper_right);
-<a name="l00436"></a>00436
-<a name="l00437"></a>00437 box_segment_type left(lower_left, upper_left);
-<a name="l00438"></a>00438 box_segment_type top(upper_left, upper_right);
-<a name="l00439"></a>00439 box_segment_type right(upper_right, lower_right);
-<a name="l00440"></a>00440 box_segment_type bottom(lower_right, lower_left);
-<a name="l00441"></a>00441
-<a name="l00442"></a>00442
-<a name="l00443"></a>00443 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
-<a name="l00444"></a>00444 iterator_type it = boost::begin(range);
-<a name="l00445"></a>00445
-<a name="l00446"></a>00446 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00413"></a>00413
+<a name="l00414"></a>00414
+<a name="l00415"></a>00415 <span class="keyword">template</span><<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00416"></a>00416 <span class="keyword">struct </span>get_ips_cs
+<a name="l00417"></a>00417 {
+<a name="l00418"></a>00418 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::size_t source_id1, Range <span class="keyword">const</span>& range,
+<a name="l00419"></a>00419 <span class="keywordtype">int</span> multi_index, <span class="keywordtype">int</span> ring_index,
+<a name="l00420"></a>00420 std::size_t source_id2, Box <span class="keyword">const</span>& box,
+<a name="l00421"></a>00421 IntersectionPoints& intersection_points,
+<a name="l00422"></a>00422 <span class="keywordtype">bool</span>& trivial)
+<a name="l00423"></a>00423 {
+<a name="l00424"></a>00424 <span class="keywordflow">if</span> (boost::size(range) <= 1)
+<a name="l00425"></a>00425 {
+<a name="l00426"></a>00426 <span class="keywordflow">return</span>;
+<a name="l00427"></a>00427 }
+<a name="l00428"></a>00428
+<a name="l00429"></a>00429
+<a name="l00430"></a>00430 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Box>::type</a> box_point_type;
+<a name="l00431"></a>00431 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Range>::type</a> point_type;
+<a name="l00432"></a>00432
+<a name="l00433"></a>00433 <span class="keyword">typedef</span> segment<const box_point_type> box_segment_type;
+<a name="l00434"></a>00434 <span class="keyword">typedef</span> segment<const point_type> segment_type;
+<a name="l00435"></a>00435
+<a name="l00436"></a>00436 point_type lower_left, upper_left, lower_right, upper_right;
+<a name="l00437"></a>00437 <a class="code" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed" title="Assign the 4 points of a 2D box.">assign_box_corners</a>(box, lower_left, lower_right, upper_left, upper_right);
+<a name="l00438"></a>00438
+<a name="l00439"></a>00439 box_segment_type left(lower_left, upper_left);
+<a name="l00440"></a>00440 box_segment_type top(upper_left, upper_right);
+<a name="l00441"></a>00441 box_segment_type right(upper_right, lower_right);
+<a name="l00442"></a>00442 box_segment_type bottom(lower_right, lower_left);
+<a name="l00443"></a>00443
+<a name="l00444"></a>00444
+<a name="l00445"></a>00445 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
+<a name="l00446"></a>00446 iterator_type it = boost::begin(range);
<a name="l00447"></a>00447
-<a name="l00448"></a>00448 <span class="keywordtype">char</span> previous_side[2] = {0, 0};
+<a name="l00448"></a>00448 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
<a name="l00449"></a>00449
-<a name="l00450"></a>00450 <span class="keywordtype">int</span> index = 0;
+<a name="l00450"></a>00450 <span class="keywordtype">char</span> previous_side[2] = {0, 0};
<a name="l00451"></a>00451
-<a name="l00452"></a>00452 <span class="keywordflow">for</span> (iterator_type prev = it++;
-<a name="l00453"></a>00453 it != boost::end(range);
-<a name="l00454"></a>00454 prev = it++, index++)
-<a name="l00455"></a>00455 {
-<a name="l00456"></a>00456 segment_type segment(*prev, *it);
-<a name="l00457"></a>00457
-<a name="l00458"></a>00458 <span class="keywordflow">if</span> (first)
-<a name="l00459"></a>00459 {
-<a name="l00460"></a>00460 previous_side[0] = get_side<0>(box, *prev);
-<a name="l00461"></a>00461 previous_side[1] = get_side<1>(box, *prev);
-<a name="l00462"></a>00462 }
-<a name="l00463"></a>00463
-<a name="l00464"></a>00464 <span class="keywordtype">char</span> current_side[2];
-<a name="l00465"></a>00465 current_side[0] = get_side<0>(box, *it);
-<a name="l00466"></a>00466 current_side[1] = get_side<1>(box, *it);
-<a name="l00467"></a>00467
-<a name="l00468"></a>00468 <span class="comment">// There can NOT be intersections if</span>
-<a name="l00469"></a>00469 <span class="comment">// 1) EITHER the two points are lying on one side of the box (! 0 && the same)</span>
-<a name="l00470"></a>00470 <span class="comment">// 2) OR same in Y-direction</span>
-<a name="l00471"></a>00471 <span class="comment">// 3) OR all points are inside the box (0)</span>
-<a name="l00472"></a>00472 <span class="keywordflow">if</span> (! (
-<a name="l00473"></a>00473 (current_side[0] != 0 && current_side[0] == previous_side[0])
-<a name="l00474"></a>00474 || (current_side[1] != 0 && current_side[1] == previous_side[1])
-<a name="l00475"></a>00475 || (current_side[0] == 0
-<a name="l00476"></a>00476 && current_side[1] == 0
-<a name="l00477"></a>00477 && previous_side[0] == 0
-<a name="l00478"></a>00478 && previous_side[1] == 0)
-<a name="l00479"></a>00479 )
-<a name="l00480"></a>00480 )
-<a name="l00481"></a>00481 {
-<a name="l00482"></a>00482 segment_identifier seg_id(source_id1,
-<a name="l00483"></a>00483 multi_index, ring_index, index);
-<a name="l00484"></a>00484
-<a name="l00485"></a>00485 <span class="keyword">typedef</span> relate
-<a name="l00486"></a>00486 <
-<a name="l00487"></a>00487 segment_type, box_segment_type, IntersectionPoints
-<a name="l00488"></a>00488 > relater;
-<a name="l00489"></a>00489
-<a name="l00490"></a>00490 <span class="comment">// Todo: depending on code some relations can be left out</span>
-<a name="l00491"></a>00491 relater::apply(segment, left, seg_id,
-<a name="l00492"></a>00492 segment_identifier(source_id2, -1, -1, 0),
-<a name="l00493"></a>00493 intersection_points, trivial);
-<a name="l00494"></a>00494 relater::apply(segment, top, seg_id,
-<a name="l00495"></a>00495 segment_identifier(source_id2, -1, -1, 1),
-<a name="l00496"></a>00496 intersection_points, trivial);
-<a name="l00497"></a>00497 relater::apply(segment, right, seg_id,
-<a name="l00498"></a>00498 segment_identifier(source_id2, -1, -1, 2),
-<a name="l00499"></a>00499 intersection_points, trivial);
-<a name="l00500"></a>00500 relater::apply(segment, bottom, seg_id,
-<a name="l00501"></a>00501 segment_identifier(source_id2, -1, -1, 3),
-<a name="l00502"></a>00502 intersection_points, trivial);
-<a name="l00503"></a>00503
-<a name="l00504"></a>00504 }
-<a name="l00505"></a>00505 }
-<a name="l00506"></a>00506 }
-<a name="l00507"></a>00507
-<a name="l00508"></a>00508
-<a name="l00509"></a>00509 <span class="keyword">template</span><std::<span class="keywordtype">size_t</span> Index, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00510"></a>00510 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> get_side(Box <span class="keyword">const</span>& box, Point <span class="keyword">const</span>& point)
-<a name="l00511"></a>00511 {
-<a name="l00512"></a>00512 <span class="comment">// Note: border has to be included because of boundary cases</span>
-<a name="l00513"></a>00513
-<a name="l00514"></a>00514 <span class="keywordflow">if</span> (get<Index>(point) <= get<min_corner, Index>(box)) <span class="keywordflow">return</span> -1;
-<a name="l00515"></a>00515 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (get<Index>(point) >= get<max_corner, Index>(box)) <span class="keywordflow">return</span> 1;
-<a name="l00516"></a>00516 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00517"></a>00517 }
-<a name="l00518"></a>00518
-<a name="l00519"></a>00519
-<a name="l00520"></a>00520 };
+<a name="l00452"></a>00452 <span class="keywordtype">int</span> index = 0;
+<a name="l00453"></a>00453
+<a name="l00454"></a>00454 <span class="keywordflow">for</span> (iterator_type prev = it++;
+<a name="l00455"></a>00455 it != boost::end(range);
+<a name="l00456"></a>00456 prev = it++, index++)
+<a name="l00457"></a>00457 {
+<a name="l00458"></a>00458 segment_type segment(*prev, *it);
+<a name="l00459"></a>00459
+<a name="l00460"></a>00460 <span class="keywordflow">if</span> (first)
+<a name="l00461"></a>00461 {
+<a name="l00462"></a>00462 previous_side[0] = get_side<0>(box, *prev);
+<a name="l00463"></a>00463 previous_side[1] = get_side<1>(box, *prev);
+<a name="l00464"></a>00464 }
+<a name="l00465"></a>00465
+<a name="l00466"></a>00466 <span class="keywordtype">char</span> current_side[2];
+<a name="l00467"></a>00467 current_side[0] = get_side<0>(box, *it);
+<a name="l00468"></a>00468 current_side[1] = get_side<1>(box, *it);
+<a name="l00469"></a>00469
+<a name="l00470"></a>00470 <span class="comment">// There can NOT be intersections if</span>
+<a name="l00471"></a>00471 <span class="comment">// 1) EITHER the two points are lying on one side of the box (! 0 && the same)</span>
+<a name="l00472"></a>00472 <span class="comment">// 2) OR same in Y-direction</span>
+<a name="l00473"></a>00473 <span class="comment">// 3) OR all points are inside the box (0)</span>
+<a name="l00474"></a>00474 <span class="keywordflow">if</span> (! (
+<a name="l00475"></a>00475 (current_side[0] != 0 && current_side[0] == previous_side[0])
+<a name="l00476"></a>00476 || (current_side[1] != 0 && current_side[1] == previous_side[1])
+<a name="l00477"></a>00477 || (current_side[0] == 0
+<a name="l00478"></a>00478 && current_side[1] == 0
+<a name="l00479"></a>00479 && previous_side[0] == 0
+<a name="l00480"></a>00480 && previous_side[1] == 0)
+<a name="l00481"></a>00481 )
+<a name="l00482"></a>00482 )
+<a name="l00483"></a>00483 {
+<a name="l00484"></a>00484 segment_identifier seg_id(source_id1,
+<a name="l00485"></a>00485 multi_index, ring_index, index);
+<a name="l00486"></a>00486
+<a name="l00487"></a>00487 <span class="keyword">typedef</span> relate
+<a name="l00488"></a>00488 <
+<a name="l00489"></a>00489 segment_type, box_segment_type, IntersectionPoints
+<a name="l00490"></a>00490 > relater;
+<a name="l00491"></a>00491
+<a name="l00492"></a>00492 <span class="comment">// Todo: depending on code some relations can be left out</span>
+<a name="l00493"></a>00493 relater::apply(segment, left, seg_id,
+<a name="l00494"></a>00494 segment_identifier(source_id2, -1, -1, 0),
+<a name="l00495"></a>00495 intersection_points, trivial);
+<a name="l00496"></a>00496 relater::apply(segment, top, seg_id,
+<a name="l00497"></a>00497 segment_identifier(source_id2, -1, -1, 1),
+<a name="l00498"></a>00498 intersection_points, trivial);
+<a name="l00499"></a>00499 relater::apply(segment, right, seg_id,
+<a name="l00500"></a>00500 segment_identifier(source_id2, -1, -1, 2),
+<a name="l00501"></a>00501 intersection_points, trivial);
+<a name="l00502"></a>00502 relater::apply(segment, bottom, seg_id,
+<a name="l00503"></a>00503 segment_identifier(source_id2, -1, -1, 3),
+<a name="l00504"></a>00504 intersection_points, trivial);
+<a name="l00505"></a>00505
+<a name="l00506"></a>00506 }
+<a name="l00507"></a>00507 }
+<a name="l00508"></a>00508 }
+<a name="l00509"></a>00509
+<a name="l00510"></a>00510
+<a name="l00511"></a>00511 <span class="keyword">template</span><std::<span class="keywordtype">size_t</span> Index, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00512"></a>00512 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> get_side(Box <span class="keyword">const</span>& box, Point <span class="keyword">const</span>& point)
+<a name="l00513"></a>00513 {
+<a name="l00514"></a>00514 <span class="comment">// Note: border has to be included because of boundary cases</span>
+<a name="l00515"></a>00515
+<a name="l00516"></a>00516 <span class="keywordflow">if</span> (get<Index>(point) <= get<min_corner, Index>(box)) <span class="keywordflow">return</span> -1;
+<a name="l00517"></a>00517 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (get<Index>(point) >= get<max_corner, Index>(box)) <span class="keywordflow">return</span> 1;
+<a name="l00518"></a>00518 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
+<a name="l00519"></a>00519 }
+<a name="l00520"></a>00520
<a name="l00521"></a>00521
-<a name="l00522"></a>00522
-<a name="l00523"></a>00523 }} <span class="comment">// namespace detail::get_intersection_points</span>
-<a name="l00524"></a>00524 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00525"></a>00525 <span class="preprocessor"></span>
-<a name="l00526"></a>00526
-<a name="l00527"></a>00527 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00528"></a>00528 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00529"></a>00529 {
-<a name="l00530"></a>00530
-<a name="l00531"></a>00531 <span class="keyword">template</span>
-<a name="l00532"></a>00532 <
-<a name="l00533"></a>00533 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
-<a name="l00534"></a>00534 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
-<a name="l00535"></a>00535 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
-<a name="l00536"></a>00536 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00537"></a>00537
-<a name="l00538"></a>00538 >
-<a name="l00539"></a>00539 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
-<a name="l00540"></a>00540 {
-<a name="l00541"></a>00541 };
-<a name="l00542"></a>00542
-<a name="l00543"></a>00543
-<a name="l00544"></a>00544 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00545"></a>00545 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
-<a name="l00546"></a>00546 <
-<a name="l00547"></a>00547 polygon_tag, box_tag, false, false,
-<a name="l00548"></a>00548 Polygon, Box,
-<a name="l00549"></a>00549 IntersectionPoints
-<a name="l00550"></a>00550 >
-<a name="l00551"></a>00551 {
-<a name="l00552"></a>00552
-<a name="l00553"></a>00553 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
-<a name="l00554"></a>00554 std::size_t source_id1, Polygon <span class="keyword">const</span>& polygon,
-<a name="l00555"></a>00555 std::size_t source_id2, Box <span class="keyword">const</span>& box,
-<a name="l00556"></a>00556 IntersectionPoints& intersection_points)
-<a name="l00557"></a>00557 {
-<a name="l00558"></a>00558 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<Polygon>::type</a> ring_type;
-<a name="l00559"></a>00559
-<a name="l00560"></a>00560 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00561"></a>00561 <
-<a name="l00562"></a>00562 <span class="keyword">typename</span> interior_type<Polygon>::type
-<a name="l00563"></a>00563 >::type iterator_type;
-<a name="l00564"></a>00564
-<a name="l00565"></a>00565
-<a name="l00566"></a>00566 <span class="keyword">typedef</span> detail::get_intersection_points::get_ips_cs
-<a name="l00567"></a>00567 <ring_type, Box, IntersectionPoints> intersector_type;
-<a name="l00568"></a>00568
-<a name="l00569"></a>00569 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
-<a name="l00570"></a>00570 intersector_type::apply(
-<a name="l00571"></a>00571 source_id1, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon), -1, -1,
-<a name="l00572"></a>00572 source_id2, box,
-<a name="l00573"></a>00573 intersection_points, trivial);
-<a name="l00574"></a>00574
-<a name="l00575"></a>00575 <span class="keywordtype">int</span> i = 0;
-<a name="l00576"></a>00576 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
-<a name="l00577"></a>00577 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
-<a name="l00578"></a>00578 ++it, ++i)
-<a name="l00579"></a>00579 {
-<a name="l00580"></a>00580 intersector_type::apply(
-<a name="l00581"></a>00581 source_id1, *it, -1, i,
-<a name="l00582"></a>00582 source_id2, box, intersection_points, trivial);
-<a name="l00583"></a>00583 }
-<a name="l00584"></a>00584
-<a name="l00585"></a>00585 <span class="keywordflow">return</span> trivial;
-<a name="l00586"></a>00586 }
-<a name="l00587"></a>00587 };
-<a name="l00588"></a>00588
-<a name="l00589"></a>00589 <span class="keyword">template</span><<span class="keyword">typename</span> Ring1, <span class="keyword">typename</span> Ring2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00590"></a>00590 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
-<a name="l00591"></a>00591 <
-<a name="l00592"></a>00592 ring_tag, ring_tag, false, false,
-<a name="l00593"></a>00593 Ring1, Ring2,
-<a name="l00594"></a>00594 IntersectionPoints
-<a name="l00595"></a>00595 >
-<a name="l00596"></a>00596 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
-<a name="l00597"></a>00597 <
-<a name="l00598"></a>00598 Ring1,
-<a name="l00599"></a>00599 Ring2,
-<a name="l00600"></a>00600 IntersectionPoints
-<a name="l00601"></a>00601 >
-<a name="l00602"></a>00602 {};
-<a name="l00603"></a>00603
-<a name="l00604"></a>00604
-<a name="l00605"></a>00605 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00606"></a>00606 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
-<a name="l00607"></a>00607 <
-<a name="l00608"></a>00608 polygon_tag, polygon_tag, false, false,
-<a name="l00609"></a>00609 Polygon1, Polygon2,
-<a name="l00610"></a>00610 IntersectionPoints
-<a name="l00611"></a>00611 >
-<a name="l00612"></a>00612 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
-<a name="l00613"></a>00613 <
-<a name="l00614"></a>00614 Polygon1,
-<a name="l00615"></a>00615 Polygon2,
-<a name="l00616"></a>00616 IntersectionPoints
-<a name="l00617"></a>00617 >
-<a name="l00618"></a>00618 {};
-<a name="l00619"></a>00619
-<a name="l00620"></a>00620 <span class="keyword">template</span>
-<a name="l00621"></a>00621 <
-<a name="l00622"></a>00622 <span class="keyword">typename</span> LineString1,
-<a name="l00623"></a>00623 <span class="keyword">typename</span> LineString2,
-<a name="l00624"></a>00624 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00625"></a>00625 >
-<a name="l00626"></a>00626 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
-<a name="l00627"></a>00627 <
-<a name="l00628"></a>00628 linestring_tag, linestring_tag, false, false,
-<a name="l00629"></a>00629 LineString1, LineString2,
-<a name="l00630"></a>00630 IntersectionPoints
-<a name="l00631"></a>00631 >
-<a name="l00632"></a>00632 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
-<a name="l00633"></a>00633 <
-<a name="l00634"></a>00634 LineString1,
-<a name="l00635"></a>00635 LineString2,
-<a name="l00636"></a>00636 IntersectionPoints
-<a name="l00637"></a>00637 >
-<a name="l00638"></a>00638 {};
-<a name="l00639"></a>00639
-<a name="l00640"></a>00640 <span class="keyword">template</span>
-<a name="l00641"></a>00641 <
-<a name="l00642"></a>00642 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
-<a name="l00643"></a>00643 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
-<a name="l00644"></a>00644 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
-<a name="l00645"></a>00645 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00646"></a>00646 >
-<a name="l00647"></a>00647 <span class="keyword">struct </span>get_intersection_points_reversed
-<a name="l00648"></a>00648 {
-<a name="l00649"></a>00649 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
-<a name="l00650"></a>00650 std::size_t source_id1, Geometry1 <span class="keyword">const</span>& g1,
-<a name="l00651"></a>00651 std::size_t source_id2, Geometry2 <span class="keyword">const</span>& g2,
-<a name="l00652"></a>00652 IntersectionPoints& intersection_points)
-<a name="l00653"></a>00653 {
-<a name="l00654"></a>00654 <span class="keywordflow">return</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
-<a name="l00655"></a>00655 <
-<a name="l00656"></a>00656 GeometryTag2, GeometryTag1,
-<a name="l00657"></a>00657 IsMulti2, IsMulti1,
-<a name="l00658"></a>00658 Geometry2, Geometry1,
-<a name="l00659"></a>00659 IntersectionPoints
-<a name="l00660"></a>00660 >::apply(source_id2, g2, source_id1, g1, intersection_points);
-<a name="l00661"></a>00661 }
-<a name="l00662"></a>00662 };
-<a name="l00663"></a>00663
-<a name="l00664"></a>00664
-<a name="l00665"></a>00665 } <span class="comment">// namespace dispatch</span>
-<a name="l00666"></a>00666 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00667"></a>00667 <span class="preprocessor"></span>
-<a name="l00668"></a>00668
-<a name="l00669"></a>00669
-<a name="l00681"></a>00681 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00682"></a><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">00682</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>(Geometry1 <span class="keyword">const</span>& geometry1,
-<a name="l00683"></a>00683 Geometry2 <span class="keyword">const</span>& geometry2, IntersectionPoints& intersection_points)
-<a name="l00684"></a>00684 {
-<a name="l00685"></a>00685 assert_dimension_equal<Geometry1, Geometry2>();
-<a name="l00686"></a>00686
-<a name="l00687"></a>00687 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry1>::type ncg1_type;
-<a name="l00688"></a>00688 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry2>::type ncg2_type;
+<a name="l00522"></a>00522 };
+<a name="l00523"></a>00523
+<a name="l00524"></a>00524
+<a name="l00525"></a>00525 }} <span class="comment">// namespace detail::get_intersection_points</span>
+<a name="l00526"></a>00526 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00527"></a>00527 <span class="preprocessor"></span>
+<a name="l00528"></a>00528
+<a name="l00529"></a>00529 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00530"></a>00530 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00531"></a>00531 {
+<a name="l00532"></a>00532
+<a name="l00533"></a>00533 <span class="keyword">template</span>
+<a name="l00534"></a>00534 <
+<a name="l00535"></a>00535 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00536"></a>00536 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00537"></a>00537 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00538"></a>00538 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00539"></a>00539
+<a name="l00540"></a>00540 >
+<a name="l00541"></a>00541 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00542"></a>00542 {
+<a name="l00543"></a>00543 };
+<a name="l00544"></a>00544
+<a name="l00545"></a>00545
+<a name="l00546"></a>00546 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00547"></a>00547 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00548"></a>00548 <
+<a name="l00549"></a>00549 polygon_tag, box_tag, false, false,
+<a name="l00550"></a>00550 Polygon, Box,
+<a name="l00551"></a>00551 IntersectionPoints
+<a name="l00552"></a>00552 >
+<a name="l00553"></a>00553 {
+<a name="l00554"></a>00554
+<a name="l00555"></a>00555 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00556"></a>00556 std::size_t source_id1, Polygon <span class="keyword">const</span>& polygon,
+<a name="l00557"></a>00557 std::size_t source_id2, Box <span class="keyword">const</span>& box,
+<a name="l00558"></a>00558 IntersectionPoints& intersection_points)
+<a name="l00559"></a>00559 {
+<a name="l00560"></a>00560 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<Polygon>::type</a> ring_type;
+<a name="l00561"></a>00561
+<a name="l00562"></a>00562 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00563"></a>00563 <
+<a name="l00564"></a>00564 <span class="keyword">typename</span> interior_type<Polygon>::type
+<a name="l00565"></a>00565 >::type iterator_type;
+<a name="l00566"></a>00566
+<a name="l00567"></a>00567
+<a name="l00568"></a>00568 <span class="keyword">typedef</span> detail::get_intersection_points::get_ips_cs
+<a name="l00569"></a>00569 <ring_type, Box, IntersectionPoints> intersector_type;
+<a name="l00570"></a>00570
+<a name="l00571"></a>00571 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
+<a name="l00572"></a>00572 intersector_type::apply(
+<a name="l00573"></a>00573 source_id1, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon), -1, -1,
+<a name="l00574"></a>00574 source_id2, box,
+<a name="l00575"></a>00575 intersection_points, trivial);
+<a name="l00576"></a>00576
+<a name="l00577"></a>00577 <span class="keywordtype">int</span> i = 0;
+<a name="l00578"></a>00578 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00579"></a>00579 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00580"></a>00580 ++it, ++i)
+<a name="l00581"></a>00581 {
+<a name="l00582"></a>00582 intersector_type::apply(
+<a name="l00583"></a>00583 source_id1, *it, -1, i,
+<a name="l00584"></a>00584 source_id2, box, intersection_points, trivial);
+<a name="l00585"></a>00585 }
+<a name="l00586"></a>00586
+<a name="l00587"></a>00587 <span class="keywordflow">return</span> trivial;
+<a name="l00588"></a>00588 }
+<a name="l00589"></a>00589 };
+<a name="l00590"></a>00590
+<a name="l00591"></a>00591 <span class="keyword">template</span><<span class="keyword">typename</span> Ring1, <span class="keyword">typename</span> Ring2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00592"></a>00592 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00593"></a>00593 <
+<a name="l00594"></a>00594 ring_tag, ring_tag, false, false,
+<a name="l00595"></a>00595 Ring1, Ring2,
+<a name="l00596"></a>00596 IntersectionPoints
+<a name="l00597"></a>00597 >
+<a name="l00598"></a>00598 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
+<a name="l00599"></a>00599 <
+<a name="l00600"></a>00600 Ring1,
+<a name="l00601"></a>00601 Ring2,
+<a name="l00602"></a>00602 IntersectionPoints
+<a name="l00603"></a>00603 >
+<a name="l00604"></a>00604 {};
+<a name="l00605"></a>00605
+<a name="l00606"></a>00606
+<a name="l00607"></a>00607 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon1, <span class="keyword">typename</span> Polygon2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00608"></a>00608 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00609"></a>00609 <
+<a name="l00610"></a>00610 polygon_tag, polygon_tag, false, false,
+<a name="l00611"></a>00611 Polygon1, Polygon2,
+<a name="l00612"></a>00612 IntersectionPoints
+<a name="l00613"></a>00613 >
+<a name="l00614"></a>00614 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
+<a name="l00615"></a>00615 <
+<a name="l00616"></a>00616 Polygon1,
+<a name="l00617"></a>00617 Polygon2,
+<a name="l00618"></a>00618 IntersectionPoints
+<a name="l00619"></a>00619 >
+<a name="l00620"></a>00620 {};
+<a name="l00621"></a>00621
+<a name="l00622"></a>00622 <span class="keyword">template</span>
+<a name="l00623"></a>00623 <
+<a name="l00624"></a>00624 <span class="keyword">typename</span> LineString1,
+<a name="l00625"></a>00625 <span class="keyword">typename</span> LineString2,
+<a name="l00626"></a>00626 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00627"></a>00627 >
+<a name="l00628"></a>00628 <span class="keyword">struct </span><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00629"></a>00629 <
+<a name="l00630"></a>00630 linestring_tag, linestring_tag, false, false,
+<a name="l00631"></a>00631 LineString1, LineString2,
+<a name="l00632"></a>00632 IntersectionPoints
+<a name="l00633"></a>00633 >
+<a name="l00634"></a>00634 : detail::<a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>::get_ips_generic
+<a name="l00635"></a>00635 <
+<a name="l00636"></a>00636 LineString1,
+<a name="l00637"></a>00637 LineString2,
+<a name="l00638"></a>00638 IntersectionPoints
+<a name="l00639"></a>00639 >
+<a name="l00640"></a>00640 {};
+<a name="l00641"></a>00641
+<a name="l00642"></a>00642 <span class="keyword">template</span>
+<a name="l00643"></a>00643 <
+<a name="l00644"></a>00644 <span class="keyword">typename</span> GeometryTag1, <span class="keyword">typename</span> GeometryTag2,
+<a name="l00645"></a>00645 <span class="keywordtype">bool</span> IsMulti1, <span class="keywordtype">bool</span> IsMulti2,
+<a name="l00646"></a>00646 <span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2,
+<a name="l00647"></a>00647 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00648"></a>00648 >
+<a name="l00649"></a>00649 <span class="keyword">struct </span>get_intersection_points_reversed
+<a name="l00650"></a>00650 {
+<a name="l00651"></a>00651 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00652"></a>00652 std::size_t source_id1, Geometry1 <span class="keyword">const</span>& g1,
+<a name="l00653"></a>00653 std::size_t source_id2, Geometry2 <span class="keyword">const</span>& g2,
+<a name="l00654"></a>00654 IntersectionPoints& intersection_points)
+<a name="l00655"></a>00655 {
+<a name="l00656"></a>00656 <span class="keywordflow">return</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>
+<a name="l00657"></a>00657 <
+<a name="l00658"></a>00658 GeometryTag2, GeometryTag1,
+<a name="l00659"></a>00659 IsMulti2, IsMulti1,
+<a name="l00660"></a>00660 Geometry2, Geometry1,
+<a name="l00661"></a>00661 IntersectionPoints
+<a name="l00662"></a>00662 >::apply(source_id2, g2, source_id1, g1, intersection_points);
+<a name="l00663"></a>00663 }
+<a name="l00664"></a>00664 };
+<a name="l00665"></a>00665
+<a name="l00666"></a>00666
+<a name="l00667"></a>00667 } <span class="comment">// namespace dispatch</span>
+<a name="l00668"></a>00668 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00669"></a>00669 <span class="preprocessor"></span>
+<a name="l00670"></a>00670
+<a name="l00671"></a>00671
+<a name="l00683"></a>00683 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00684"></a><a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">00684</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>(Geometry1 <span class="keyword">const</span>& geometry1,
+<a name="l00685"></a>00685 Geometry2 <span class="keyword">const</span>& geometry2, IntersectionPoints& intersection_points)
+<a name="l00686"></a>00686 {
+<a name="l00687"></a>00687 concept::check<const Geometry1>();
+<a name="l00688"></a>00688 concept::check<const Geometry2>();
<a name="l00689"></a>00689
-<a name="l00690"></a>00690 <span class="keywordflow">return</span> boost::mpl::if_c
-<a name="l00691"></a>00691 <
-<a name="l00692"></a>00692 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch<Geometry1, Geometry2>::type::value</a>,
-<a name="l00693"></a>00693 dispatch::get_intersection_points_reversed
-<a name="l00694"></a>00694 <
-<a name="l00695"></a>00695 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg1_type>::type</a>,
-<a name="l00696"></a>00696 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg2_type>::type</a>,
-<a name="l00697"></a>00697 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg1_type>::type::value</a>,
-<a name="l00698"></a>00698 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg2_type>::type::value</a>,
-<a name="l00699"></a>00699 ncg1_type,
-<a name="l00700"></a>00700 ncg2_type,
-<a name="l00701"></a>00701 IntersectionPoints
-<a name="l00702"></a>00702 >,
-<a name="l00703"></a>00703 <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">dispatch::get_intersection_points</a>
-<a name="l00704"></a>00704 <
-<a name="l00705"></a>00705 <span class="keyword">typename</span> tag<ncg1_type>::type,
-<a name="l00706"></a>00706 <span class="keyword">typename</span> tag<ncg2_type>::type,
-<a name="l00707"></a>00707 is_multi<ncg1_type>::type::value,
-<a name="l00708"></a>00708 is_multi<ncg2_type>::type::value,
-<a name="l00709"></a>00709 ncg1_type,
-<a name="l00710"></a>00710 ncg2_type,
-<a name="l00711"></a>00711 IntersectionPoints
-<a name="l00712"></a>00712 >
-<a name="l00713"></a>00713 >::type::apply(
-<a name="l00714"></a>00714 0, geometry1,
-<a name="l00715"></a>00715 1, geometry2,
-<a name="l00716"></a>00716 intersection_points);
-<a name="l00717"></a>00717 }
-<a name="l00718"></a>00718
-<a name="l00719"></a>00719
-<a name="l00720"></a>00720 } <span class="comment">// namespace ggl</span>
-<a name="l00721"></a>00721
-<a name="l00722"></a>00722 <span class="preprocessor">#endif // GGL_ALGORITHMS_GET_INTERSECTION_POINTS_HPP</span>
+<a name="l00690"></a>00690 assert_dimension_equal<Geometry1, Geometry2>();
+<a name="l00691"></a>00691
+<a name="l00692"></a>00692 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry1>::type ncg1_type;
+<a name="l00693"></a>00693 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry2>::type ncg2_type;
+<a name="l00694"></a>00694
+<a name="l00695"></a>00695 <span class="keywordflow">return</span> boost::mpl::if_c
+<a name="l00696"></a>00696 <
+<a name="l00697"></a>00697 <a class="code" href="structggl_1_1reverse__dispatch.html">reverse_dispatch<Geometry1, Geometry2>::type::value</a>,
+<a name="l00698"></a>00698 dispatch::get_intersection_points_reversed
+<a name="l00699"></a>00699 <
+<a name="l00700"></a>00700 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg1_type>::type</a>,
+<a name="l00701"></a>00701 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg2_type>::type</a>,
+<a name="l00702"></a>00702 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg1_type>::type::value</a>,
+<a name="l00703"></a>00703 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg2_type>::type::value</a>,
+<a name="l00704"></a>00704 ncg1_type,
+<a name="l00705"></a>00705 ncg2_type,
+<a name="l00706"></a>00706 IntersectionPoints
+<a name="l00707"></a>00707 >,
+<a name="l00708"></a>00708 <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">dispatch::get_intersection_points</a>
+<a name="l00709"></a>00709 <
+<a name="l00710"></a>00710 <span class="keyword">typename</span> tag<ncg1_type>::type,
+<a name="l00711"></a>00711 <span class="keyword">typename</span> tag<ncg2_type>::type,
+<a name="l00712"></a>00712 is_multi<ncg1_type>::type::value,
+<a name="l00713"></a>00713 is_multi<ncg2_type>::type::value,
+<a name="l00714"></a>00714 ncg1_type,
+<a name="l00715"></a>00715 ncg2_type,
+<a name="l00716"></a>00716 IntersectionPoints
+<a name="l00717"></a>00717 >
+<a name="l00718"></a>00718 >::type::apply(
+<a name="l00719"></a>00719 0, geometry1,
+<a name="l00720"></a>00720 1, geometry2,
+<a name="l00721"></a>00721 intersection_points);
+<a name="l00722"></a>00722 }
+<a name="l00723"></a>00723
+<a name="l00724"></a>00724
+<a name="l00725"></a>00725 } <span class="comment">// namespace ggl</span>
+<a name="l00726"></a>00726
+<a name="l00727"></a>00727 <span class="preprocessor">#endif // GGL_ALGORITHMS_GET_INTERSECTION_POINTS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -39,38 +39,38 @@
<h1>access: get/set coordinate values, make objects, clear geometries, append point(s)</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename RoP > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">ggl::append</a> (G &geometry, const RoP &range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename RoP > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909">ggl::append</a> (Geometry &geometry, RoP const &range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename R > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge87a43e061a27e450e01f00c228ed472">ggl::assign</a> (G &geometry, R const &range)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename R > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gbc56bc60ddc721443ab1e0460dd40bda">ggl::assign</a> (Geometry &geometry, R const &range)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g0e5cdc21c975ed9e04db5a2ad7175895">ggl::assign</a> (Geometry &geometry, T const &c1, T const &c2, T const &c3, T const &c4)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign center + radius to a sphere [for extension] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga5796281b722f07af188cc8714003751">ggl::assign</a> (Geometry &geometry, T const &c1, T const &c2, T const &c3)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> [or the center + radius to a circle] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8">ggl::assign</a> (Geometry &geometry, T const &c1, T const &c2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">ggl::assign</a> (G &geometry, T const &c1, T const &c2, T const &c3, T const &c4)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign center + radius to a sphere <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">ggl::assign</a> (G &geometry, T const &c1, T const &c2, T const &c3)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or the center + radius to a circle <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge58b5c7b493d0112202dc139af200c73">ggl::assign</a> (G &geometry, T const &c1, T const &c2)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign two values to a 2D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">ggl::assign_inverse</a> (G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign two values to a 2D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g490821bd25a63cc584be1319375794f0">ggl::assign_inverse</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> inverse infinite <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">ggl::assign_zero</a> (G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> inverse infinite <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">ggl::assign_zero</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl::clear</a> (G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">ggl::clear</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename P > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const ring_type< P >::type & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gf12f8fe7a53c5fc0fb45c2d24d0999c9">ggl::exterior_ring</a> (const P &polygon)</td></tr>
@@ -86,15 +86,11 @@
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t D, typename G > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type< G >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">ggl::get</a> (const G &geometry, detail::signature_getset_dimension *dummy=0)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t D, typename G > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type< G >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">ggl::get_as_radian</a> (const G &geometry)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, result is in RADIAN <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t I, typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">radius_type< G >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl::get_radius</a> (const G &geometry)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to get radius. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename P > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const interior_type< P >::type & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga81ef3b07a844489714e682f12e43746">ggl::interior_rings</a> (const P &polygon)</td></tr>
@@ -139,10 +135,6 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">ggl::set_from_radian</a> (G &geometry, const typename coordinate_type< G >::type &radians)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">assign coordinate value (which is in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>) to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t I, typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl::set_radius</a> (G &geometry, const typename radius_type< G >::type &radius)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to set the radius of a circle / sphere / (ellipse). <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
There are many ways to edit geometries. It is possible to:<ul>
@@ -182,7 +174,7 @@
<div class="memdoc">
<p>
-get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>
+get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>coordinate value</dd></dl>
<dl compact><dt><b>Template Parameters:</b></dt><dd>
@@ -199,7 +191,7 @@
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="07__graph__route__example_8cpp-example.html#a5">07_graph_route_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="access_8hpp_source.html#l00209">209</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00234">234</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
</div><p>
@@ -253,7 +245,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="access_8hpp_source.html#l00238">238</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00263">263</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
</div><p>
@@ -302,7 +294,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="access_8hpp_source.html#l00269">269</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00294">294</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
</div><p>
@@ -357,7 +349,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="access_8hpp_source.html#l00299">299</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00324">324</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
</div><p>
@@ -638,105 +630,22 @@
</div>
</div><p>
-<a class="anchor" name="gfcdd0e4038fec643354ccc1c83294172"></a><!-- doxytag: member="ggl::get_radius" ref="gfcdd0e4038fec643354ccc1c83294172" args="(const G &geometry)" -->
+<a class="anchor" name="ge6ff0cb391fb5a3c3a312defe15b4909"></a><!-- doxytag: member="ggl::append" ref="ge6ff0cb391fb5a3c3a312defe15b4909" args="(Geometry &geometry, RoP const &range_or_point, int ring_index=-1, int multi_index=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<std::size_t I, typename G > </div>
- <table class="memname">
- <tr>
- <td class="memname">radius_type<G>::type ggl::get_radius </td>
- <td>(</td>
- <td class="paramtype">const G & </td>
- <td class="paramname"> <em>geometry</em> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Function to get radius.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>radius of a circle / sphere / ellipse</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>the geometry to get the radius from </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>I</em> </td><td>index, for circle/sphere always zero, for ellipse major/minor axis, for ellipsoid one of the 3 equatorial radii </td></tr>
- </table>
-</dl>
-
-<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00123">123</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="g5964359d6ef6dc6c8cf37ed319ee3c79"></a><!-- doxytag: member="ggl::set_radius" ref="g5964359d6ef6dc6c8cf37ed319ee3c79" args="(G &geometry, const typename radius_type< G >::type &radius)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<std::size_t I, typename G > </div>
- <table class="memname">
- <tr>
- <td class="memname">void ggl::set_radius </td>
- <td>(</td>
- <td class="paramtype">G & </td>
- <td class="paramname"> <em>geometry</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const typename radius_type< G >::type & </td>
- <td class="paramname"> <em>radius</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Function to set the radius of a circle / sphere / (ellipse).
-<p>
-<dl compact><dt><b>Template Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>I</em> </td><td>index, for circle/sphere always zero, for ellipse major/minor axis, for ellipsoid one of the 3 equatorial radii </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>the geometry to change </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>radius</em> </td><td>the radius to set </td></tr>
- </table>
-</dl>
-
-<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00140">140</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="g8cfdebdb885a95bacb1305744f0d0d7c"></a><!-- doxytag: member="ggl::append" ref="g8cfdebdb885a95bacb1305744f0d0d7c" args="(G &geometry, const RoP &range_or_point, int ring_index=-1, int multi_index=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename G , typename RoP > </div>
+template<typename Geometry , typename RoP > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::append </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const RoP & </td>
+ <td class="paramtype">RoP const & </td>
<td class="paramname"> <em>range_or_point</em>, </td>
</tr>
<tr>
@@ -773,20 +682,20 @@
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="02__linestring__example_8cpp-example.html#a4">02_linestring_example.cpp</a>, and <a class="el" href="03__polygon__example_8cpp-example.html#a16">03_polygon_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="append_8hpp_source.html#l00180">180</a> of file <a class="el" href="append_8hpp_source.html">append.hpp</a>.</p>
+<p>Definition at line <a class="el" href="append_8hpp_source.html#l00157">157</a> of file <a class="el" href="append_8hpp_source.html">append.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="ge58b5c7b493d0112202dc139af200c73"></a><!-- doxytag: member="ggl::assign" ref="ge58b5c7b493d0112202dc139af200c73" args="(G &geometry, T const &c1, T const &c2)" -->
+<a class="anchor" name="g97f76fc38f2c63c5da2136247a31cdb8"></a><!-- doxytag: member="ggl::assign" ref="g97f76fc38f2c63c5da2136247a31cdb8" args="(Geometry &geometry, T const &c1, T const &c2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename T > </div>
+template<typename Geometry , typename T > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::assign </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
@@ -815,20 +724,20 @@
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="01__point__example_8cpp-example.html#a5">01_point_example.cpp</a>, <a class="el" href="02__linestring__example_8cpp-example.html#a3">02_linestring_example.cpp</a>, <a class="el" href="03__polygon__example_8cpp-example.html#a1">03_polygon_example.cpp</a>, <a class="el" href="06__transformation__example_8cpp-example.html#a5">06_transformation_example.cpp</a>, and <a class="el" href="c01__custom__point__example_8cpp-example.html#a6">c01_custom_point_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00379">379</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00325">325</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g4e53af2d63f19a7550b5fe0156efc433"></a><!-- doxytag: member="ggl::assign" ref="g4e53af2d63f19a7550b5fe0156efc433" args="(G &geometry, T const &c1, T const &c2, T const &c3)" -->
+<a class="anchor" name="ga5796281b722f07af188cc8714003751"></a><!-- doxytag: member="ggl::assign" ref="ga5796281b722f07af188cc8714003751" args="(Geometry &geometry, T const &c1, T const &c2, T const &c3)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename T > </div>
+template<typename Geometry , typename T > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::assign </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
@@ -859,23 +768,23 @@
<div class="memdoc">
<p>
-assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or the center + radius to a circle
+assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> [or the center + radius to a circle]
<p>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00394">394</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00342">342</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="gc534d6dd298802a12265e7e9c1c25a01"></a><!-- doxytag: member="ggl::assign" ref="gc534d6dd298802a12265e7e9c1c25a01" args="(G &geometry, T const &c1, T const &c2, T const &c3, T const &c4)" -->
+<a class="anchor" name="g0e5cdc21c975ed9e04db5a2ad7175895"></a><!-- doxytag: member="ggl::assign" ref="g0e5cdc21c975ed9e04db5a2ad7175895" args="(Geometry &geometry, T const &c1, T const &c2, T const &c3, T const &c4)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename T > </div>
+template<typename Geometry , typename T > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::assign </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
@@ -912,23 +821,23 @@
<div class="memdoc">
<p>
-assign center + radius to a sphere
+assign center + radius to a sphere [for extension]
<p>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00409">409</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00359">359</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="ge87a43e061a27e450e01f00c228ed472"></a><!-- doxytag: member="ggl::assign" ref="ge87a43e061a27e450e01f00c228ed472" args="(G &geometry, R const &range)" -->
+<a class="anchor" name="gbc56bc60ddc721443ab1e0460dd40bda"></a><!-- doxytag: member="ggl::assign" ref="gbc56bc60ddc721443ab1e0460dd40bda" args="(Geometry &geometry, R const &range)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename R > </div>
+template<typename Geometry , typename R > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::assign </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
@@ -951,20 +860,20 @@
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The point-type of the range might be different from the point-type of the geometry </dd></dl>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00426">426</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00378">378</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="gaa27514a7d1c16133d28dd5601cd32fd"></a><!-- doxytag: member="ggl::assign_inverse" ref="gaa27514a7d1c16133d28dd5601cd32fd" args="(G &geometry)" -->
+<a class="anchor" name="g490821bd25a63cc584be1319375794f0"></a><!-- doxytag: member="ggl::assign_inverse" ref="g490821bd25a63cc584be1319375794f0" args="(Geometry &geometry)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G > </div>
+template<typename Geometry > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::assign_inverse </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em> </td>
<td> ) </td>
<td></td>
@@ -978,20 +887,20 @@
<p>
The assign_inverse function initialize a 2D or 3D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with large coordinates, the min corner is very large, the max corner is very small. This is a convenient starting <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to collect the minimum bounding <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> of a geometry. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="07__graph__route__example_8cpp-example.html#a11">07_graph_route_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00441">441</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00395">395</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g2fba6ded1fb6ecc7dba897b55c70f2d0"></a><!-- doxytag: member="ggl::assign_zero" ref="g2fba6ded1fb6ecc7dba897b55c70f2d0" args="(G &geometry)" -->
+<a class="anchor" name="g3b95c5faaa108785681e58099b48dc35"></a><!-- doxytag: member="ggl::assign_zero" ref="g3b95c5faaa108785681e58099b48dc35" args="(Geometry &geometry)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G > </div>
+template<typename Geometry > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::assign_zero </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em> </td>
<td> ) </td>
<td></td>
@@ -1005,25 +914,25 @@
<p>
The assign_zero function initializes a 2D or 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with coordinates of zero <dl compact><dt><b>Template Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>the geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry</em> </td><td>the geometry type </td></tr>
</table>
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="07__graph__route__example_8cpp-example.html#a3">07_graph_route_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00457">457</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00413">413</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g280e2b0e4bada6eac7b7370a4ded705f"></a><!-- doxytag: member="ggl::clear" ref="g280e2b0e4bada6eac7b7370a4ded705f" args="(G &geometry)" -->
+<a class="anchor" name="g6834d3a54e36ad3c0b56065aaaf27771"></a><!-- doxytag: member="ggl::clear" ref="g6834d3a54e36ad3c0b56065aaaf27771" args="(Geometry &geometry)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G > </div>
+template<typename Geometry > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::clear </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em> </td>
<td> ) </td>
<td></td>
@@ -1038,7 +947,7 @@
Generic function to clear a geometry<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>points and boxes cannot be cleared, instead they can be set to zero by "assign_zero" </dd></dl>
-<p>Definition at line <a class="el" href="clear_8hpp_source.html#l00147">147</a> of file <a class="el" href="clear_8hpp_source.html">clear.hpp</a>.</p>
+<p>Definition at line <a class="el" href="clear_8hpp_source.html#l00124">124</a> of file <a class="el" href="clear_8hpp_source.html">clear.hpp</a>.</p>
</div>
</div><p>
@@ -1080,7 +989,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the geometry </dd></dl>
-<p>Definition at line <a class="el" href="make_8hpp_source.html#l00028">28</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00030">30</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
</div>
</div><p>
@@ -1120,9 +1029,9 @@
<p>
Make a geometry.
<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, a circle </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </dd></dl>
-<p>Definition at line <a class="el" href="make_8hpp_source.html#l00046">46</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00050">50</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
</div>
</div><p>
@@ -1153,7 +1062,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> </dd></dl>
-<p>Definition at line <a class="el" href="make_8hpp_source.html#l00091">91</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00101">101</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
</div>
</div><p>
@@ -1184,7 +1093,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the geometry </dd></dl>
-<p>Definition at line <a class="el" href="make_8hpp_source.html#l00110">110</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00122">122</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
</div>
</div><p>
@@ -1223,7 +1132,7 @@
<dl class="note" compact><dt><b>Note:</b></dt><dd>For linestrings/rings also boost::size or .size() could be used, however, for polygons this is <a class="el" href="structggl_1_1less.html" title="Less predicate for usage in e.g. std::map.">less</a> obvious. So this function is provided. Besides that it is described by OGC (numPoints) </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="02__linestring__example_8cpp-example.html#a9">02_linestring_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2num__points_8hpp_source.html#l00132">132</a> of file <a class="el" href="algorithms_2num__points_8hpp_source.html">num_points.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2num__points_8hpp_source.html#l00129">129</a> of file <a class="el" href="algorithms_2num__points_8hpp_source.html">num_points.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -58,8 +58,8 @@
<hr><a name="_details"></a><h2>Detailed Description</h2>
<dl class="user" compact><dt><b>Performance</b></dt><dd>2776 * 1000 area calculations are done in 0.11 seconds (other libraries: 0.125 seconds, 0.125 seconds, 0.5 seconds)</dd></dl>
<dl class="user" compact><dt><b>Coordinate systems and strategies</b></dt><dd>Area calculation can be done in Cartesian and in spherical/geographic coordinate systems.</dd></dl>
-<dl class="user" compact><dt><b>Geometries</b></dt><dd>The area algorithm calculates the surface area of all geometries having a surface: box, circle, polygon, multi_polygon. The units are the square of the units used for the points defining the surface. If the polygon is defined in meters, the area is in square meters.</dd></dl>
-<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing area calculation of polygons built of xy-points and of latlong-points <div class="fragment"><pre class="fragment">{
+<dl class="user" compact><dt><b>Geometries</b></dt><dd>The area algorithm calculates the surface area of all geometries having a surface: box, polygon, multi_polygon. The units are the square of the units used for the points defining the surface. If the polygon is defined in meters, the area is in square meters.</dd></dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing area calculation of polygons built <div class="fragment"><pre class="fragment">{
<a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon<ggl::point_xy<double></a> > poly;
ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
std::cout << <span class="stringliteral">"Polygon area is "</span>
@@ -98,7 +98,7 @@
<p>
Calculate area of a geometry.
<p>
-The function area returns the area of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, ring, <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> or circle, using the default area-calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. Strategies are provided for cartesian and spherical coordinate systems The geometries should correct, polygons should be closed and orientated clockwise, holes, if any, must be orientated counter clockwise <dl compact><dt><b>Parameters:</b></dt><dd>
+The function area returns the area of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, ring, <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> using the default area-calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. Strategies are provided for cartesian and spherical coordinate systems The geometries should correct, polygons should be closed and according to the specified orientation (clockwise/counter clockwise) <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>a geometry </td></tr>
</table>
@@ -106,7 +106,7 @@
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the area </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="03__polygon__example_8cpp-example.html#a6">03_polygon_example.cpp</a>, <a class="el" href="c04__a__custom__triangle__example_8cpp-example.html#a2">c04_a_custom_triangle_example.cpp</a>, <a class="el" href="c04__b__custom__triangle__example_8cpp-example.html#a1">c04_b_custom_triangle_example.cpp</a>, and <a class="el" href="x01__qt__example_8cpp-example.html#a2">x01_qt_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00226">226</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00222">222</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
</div>
</div><p>
@@ -148,7 +148,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the area </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00249">249</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00247">247</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__arithmetic.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__arithmetic.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -56,9 +56,10 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Divides each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename P1 , typename P2 > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">coordinate_type< P1 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">ggl::dot_product</a> (P1 const &p1, P2 const &p2)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">select_coordinate_type< P1, P2 ><br class="typebreak">
+::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">ggl::dot_product</a> (P1 const &p1, P2 const &p2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the dot product of 2 points. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the dot product of 2 points. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Point1 , typename Point2 > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#ge9b84ad59c960d6a6c8257446e1fc4c1">ggl::multiply_point</a> (Point1 &p1, Point2 const &p2)</td></tr>
@@ -406,14 +407,14 @@
</div>
</div><p>
-<a class="anchor" name="gb4e975a3003134e51c2764f9b6701556"></a><!-- doxytag: member="ggl::dot_product" ref="gb4e975a3003134e51c2764f9b6701556" args="(P1 const &p1, P2 const &p2)" -->
+<a class="anchor" name="gdbe9df76626ecc2871dbffa8cfe7f0e4"></a><!-- doxytag: member="ggl::dot_product" ref="gdbe9df76626ecc2871dbffa8cfe7f0e4" args="(P1 const &p1, P2 const &p2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename P1 , typename P2 > </div>
<table class="memname">
<tr>
- <td class="memname">coordinate_type<P1>::type ggl::dot_product </td>
+ <td class="memname">select_coordinate_type<P1, P2>::type ggl::dot_product </td>
<td>(</td>
<td class="paramtype">P1 const & </td>
<td class="paramname"> <em>p1</em>, </td>
@@ -444,7 +445,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the dot product </dd></dl>
-<p>Definition at line <a class="el" href="dot__product_8hpp_source.html#l00056">56</a> of file <a class="el" href="dot__product_8hpp_source.html">dot_product.hpp</a>.</p>
+<p>Definition at line <a class="el" href="dot__product_8hpp_source.html#l00059">59</a> of file <a class="el" href="dot__product_8hpp_source.html">dot_product.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__boolean__relations.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__boolean__relations.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -47,18 +47,18 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">ggl::equals</a> (Geometry1 const &geometry1, Geometry2 const &geometry2)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate if two geometries are equals. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">ggl::overlaps</a> (const B &b1, const B &b2)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g6b41a75ce56023fe9def2613d0a4603f">ggl::overlaps</a> (Geometry1 const &b1, Geometry2 const &b2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Determines overlap between two geometries. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G1 , typename G2 , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g3051574eadb5ef8ae92ef210665a7332">ggl::within</a> (G1 const &geometry1, G2 const &geometry2, S const &strategy)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G1 , typename G2 > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">ggl::within</a> (G1 const &geometry1, G2 const &geometry2)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Determines overlap between two geometries. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g052af0474ab2dafcb875ce64a9361611">ggl::within</a> (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d">ggl::within</a> (Geometry1 const &geometry1, Geometry2 const &geometry2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check. <br></td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g6d772a2eb8ad083e056bdbf0ec7ae8a1"></a><!-- doxytag: member="ggl::disjoint" ref="g6d772a2eb8ad083e056bdbf0ec7ae8a1" args="(const Geometry1 &geometry1, const Geometry2 &geometry2)" -->
@@ -105,7 +105,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if disjoint, else false </dd></dl>
-<p>Definition at line <a class="el" href="disjoint_8hpp_source.html#l00184">184</a> of file <a class="el" href="disjoint_8hpp_source.html">disjoint.hpp</a>.</p>
+<p>Definition at line <a class="el" href="disjoint_8hpp_source.html#l00187">187</a> of file <a class="el" href="disjoint_8hpp_source.html">disjoint.hpp</a>.</p>
</div>
</div><p>
@@ -158,22 +158,22 @@
</div>
</div><p>
-<a class="anchor" name="ga306028410cb737d8533dc9efa310a1c"></a><!-- doxytag: member="ggl::overlaps" ref="ga306028410cb737d8533dc9efa310a1c" args="(const B &b1, const B &b2)" -->
+<a class="anchor" name="g6b41a75ce56023fe9def2613d0a4603f"></a><!-- doxytag: member="ggl::overlaps" ref="g6b41a75ce56023fe9def2613d0a4603f" args="(Geometry1 const &b1, Geometry2 const &b2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename B > </div>
+template<typename Geometry1 , typename Geometry2 > </div>
<table class="memname">
<tr>
<td class="memname">bool ggl::overlaps </td>
<td>(</td>
- <td class="paramtype">const B & </td>
+ <td class="paramtype">Geometry1 const & </td>
<td class="paramname"> <em>b1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const B & </td>
+ <td class="paramtype">Geometry2 const & </td>
<td class="paramname"> <em>b2</em></td><td> </td>
</tr>
<tr>
@@ -196,26 +196,26 @@
<dl class="note" compact><dt><b>Note:</b></dt><dd>Implemented in scratch the Generic Geometry library. Will be reworked internally to support more geometries but function call will stay as it is now. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>http://docs.codehaus.org/display/GEOTDOC/02+Geometry+Relationships#02GeometryRelationships-Overlaps where is stated that "inside" is not an "overlap", this is probably true and should then be implemented as such. </dd></dl>
-<p>Definition at line <a class="el" href="overlaps_8hpp_source.html#l00036">36</a> of file <a class="el" href="overlaps_8hpp_source.html">overlaps.hpp</a>.</p>
+<p>Definition at line <a class="el" href="overlaps_8hpp_source.html#l00037">37</a> of file <a class="el" href="overlaps_8hpp_source.html">overlaps.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g95d6465a12b762c77df41369a039f6dc"></a><!-- doxytag: member="ggl::within" ref="g95d6465a12b762c77df41369a039f6dc" args="(G1 const &geometry1, G2 const &geometry2)" -->
+<a class="anchor" name="g599c2aa76cf2037eb40514e449ace28d"></a><!-- doxytag: member="ggl::within" ref="g599c2aa76cf2037eb40514e449ace28d" args="(Geometry1 const &geometry1, Geometry2 const &geometry2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G1 , typename G2 > </div>
+template<typename Geometry1 , typename Geometry2 > </div>
<table class="memname">
<tr>
<td class="memname">bool ggl::within </td>
<td>(</td>
- <td class="paramtype">G1 const & </td>
+ <td class="paramtype">Geometry1 const & </td>
<td class="paramname"> <em>geometry1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">G2 const & </td>
+ <td class="paramtype">Geometry2 const & </td>
<td class="paramname"> <em>geometry2</em></td><td> </td>
</tr>
<tr>
@@ -248,7 +248,7 @@
ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
<a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy<float></a> point(3, 3);
std::cout << <span class="stringliteral">"Point is "</span>
- << (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(point, poly) ? <span class="stringliteral">"IN"</span> : <span class="stringliteral">"NOT in"</span>)
+ << (<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(point, poly) ? <span class="stringliteral">"IN"</span> : <span class="stringliteral">"NOT in"</span>)
<< <span class="stringliteral">" polygon"</span>
<< std::endl;
}
@@ -264,32 +264,32 @@
</dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="03__polygon__example_8cpp-example.html#a12">03_polygon_example.cpp</a>, <a class="el" href="c02__custom__box__example_8cpp-example.html#a5">c02_custom_box_example.cpp</a>, and <a class="el" href="x01__qt__example_8cpp-example.html#a3">x01_qt_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2within_8hpp_source.html#l00377">377</a> of file <a class="el" href="algorithms_2within_8hpp_source.html">within.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2within_8hpp_source.html#l00304">304</a> of file <a class="el" href="algorithms_2within_8hpp_source.html">within.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g3051574eadb5ef8ae92ef210665a7332"></a><!-- doxytag: member="ggl::within" ref="g3051574eadb5ef8ae92ef210665a7332" args="(G1 const &geometry1, G2 const &geometry2, S const &strategy)" -->
+<a class="anchor" name="g052af0474ab2dafcb875ce64a9361611"></a><!-- doxytag: member="ggl::within" ref="g052af0474ab2dafcb875ce64a9361611" args="(Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G1 , typename G2 , typename S > </div>
+template<typename Geometry1 , typename Geometry2 , typename Strategy > </div>
<table class="memname">
<tr>
<td class="memname">bool ggl::within </td>
<td>(</td>
- <td class="paramtype">G1 const & </td>
+ <td class="paramtype">Geometry1 const & </td>
<td class="paramname"> <em>geometry1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">G2 const & </td>
+ <td class="paramtype">Geometry2 const & </td>
<td class="paramname"> <em>geometry2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">S const & </td>
+ <td class="paramtype">Strategy const & </td>
<td class="paramname"> <em>strategy</em></td><td> </td>
</tr>
<tr>
@@ -313,7 +313,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if geometry1 is completely contained within geometry2, else false </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2within_8hpp_source.html#l00399">399</a> of file <a class="el" href="algorithms_2within_8hpp_source.html">within.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2within_8hpp_source.html#l00340">340</a> of file <a class="el" href="algorithms_2within_8hpp_source.html">within.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -40,13 +40,13 @@
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Input , typename Output , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">ggl::buffer</a> (const Input &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215">ggl::buffer</a> (Input const &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Output , typename Input , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">ggl::make_buffer</a> (const Input &geometry, T const &distance, T const &chord_length=-1)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g52451d11ee1f91fdbfbee86ae2dee993">ggl::make_buffer</a> (Input const &geometry, T const &distance, T const &chord_length=-1)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<dl class="user" compact><dt><b>Source description:</b></dt><dd><ul>
@@ -54,7 +54,7 @@
</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Buffer_(GIS) </dd></dl>
<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g8eba9385881e8f0d9e45e379df214b63"></a><!-- doxytag: member="ggl::buffer" ref="g8eba9385881e8f0d9e45e379df214b63" args="(const Input &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)" -->
+<a class="anchor" name="gae86b71768d59d010ab689c6597b2215"></a><!-- doxytag: member="ggl::buffer" ref="gae86b71768d59d010ab689c6597b2215" args="(Input const &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@@ -63,7 +63,7 @@
<tr>
<td class="memname">void ggl::buffer </td>
<td>(</td>
- <td class="paramtype">const Input & </td>
+ <td class="paramtype">Input const & </td>
<td class="paramname"> <em>geometry_in</em>, </td>
</tr>
<tr>
@@ -111,7 +111,7 @@
</div>
</div><p>
-<a class="anchor" name="g86e90005b6d11abc10459e02e4f4ed22"></a><!-- doxytag: member="ggl::make_buffer" ref="g86e90005b6d11abc10459e02e4f4ed22" args="(const Input &geometry, T const &distance, T const &chord_length=-1)" -->
+<a class="anchor" name="g52451d11ee1f91fdbfbee86ae2dee993"></a><!-- doxytag: member="ggl::make_buffer" ref="g52451d11ee1f91fdbfbee86ae2dee993" args="(Input const &geometry, T const &distance, T const &chord_length=-1)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@@ -120,7 +120,7 @@
<tr>
<td class="memname">Output ggl::make_buffer </td>
<td>(</td>
- <td class="paramtype">const Input & </td>
+ <td class="paramtype">Input const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
@@ -157,7 +157,7 @@
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the buffered geometry </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>See also: buffer </dd></dl>
-<p>Definition at line <a class="el" href="buffer_8hpp_source.html#l00134">134</a> of file <a class="el" href="buffer_8hpp_source.html">buffer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="buffer_8hpp_source.html#l00137">137</a> of file <a class="el" href="buffer_8hpp_source.html">buffer.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__centroid.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__centroid.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -43,22 +43,22 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class binding a centroid calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gda8ccb0bcdd94cebe5b66374259c1fe2">ggl::centroid</a> (const G &geometry, P &c, S const &strategy)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gc7e9651663cd19868cae40c20c72afdc">ggl::centroid</a> (Geometry const &geometry, Point &c)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">ggl::centroid</a> (const G &geometry, P &c)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename P , typename G , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g8c284d8ca53c0ace8827431178438852">ggl::make_centroid</a> (const G &geometry, S const &strategy)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename P , typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">ggl::make_centroid</a> (const G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">ggl::centroid</a> (Geometry const &geometry, Point &c, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Point , typename Geometry , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gb077a07483ee2fdd17d66e63b237aaa6">ggl::make_centroid</a> (Geometry const &geometry, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Point , typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">ggl::make_centroid</a> (Geometry const &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<dl class="user" compact><dt><b>Source descriptions:</b></dt><dd><ul>
@@ -66,34 +66,40 @@
</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Centroid </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The "centroid" functions are taking a non const reference to the centroid. The "make_centroid" functions return the centroid, the type has to be specified.<p>
-There are versions where the centroid calculation strategy can be specified </dd></dl>
+There are versions where a centroid calculation strategy can be specified </dd></dl>
<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
<li>RING: <div align="center">
<img src="centroid_ring.png" alt="centroid_ring.png">
</div>
-</li><li>BOX: the centroid of a 2D or 3D box is the center of the box</li><li>CIRCLE: the centroid of a circle or a sphere is its center</li><li>POLYGON <div align="center">
+</li><li>BOX: the centroid of a 2D or 3D box is the center of the box</li><li>POLYGON <div align="center">
<img src="centroid_polygon.png" alt="centroid_polygon.png">
</div>
</li><li>POINT, LINESTRING, SEGMENT: trying to calculate the centroid will result in a compilation error </li></ul>
</dd></dl>
<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g2b743cdd7177313b561780ba87c633cd"></a><!-- doxytag: member="ggl::centroid" ref="g2b743cdd7177313b561780ba87c633cd" args="(const G &geometry, P &c)" -->
+<a class="anchor" name="gba3c6357cc1112519a4909cdbb4733e2"></a><!-- doxytag: member="ggl::centroid" ref="gba3c6357cc1112519a4909cdbb4733e2" args="(Geometry const &geometry, Point &c, Strategy const &strategy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename P > </div>
+template<typename Geometry , typename Point , typename Strategy > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::centroid </td>
<td>(</td>
- <td class="paramtype">const G & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">P & </td>
- <td class="paramname"> <em>c</em></td><td> </td>
+ <td class="paramtype">Point & </td>
+ <td class="paramname"> <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Strategy const & </td>
+ <td class="paramname"> <em>strategy</em></td><td> </td>
</tr>
<tr>
<td></td>
@@ -105,12 +111,13 @@
<div class="memdoc">
<p>
-Calculate centroid.
+Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>.
<p>
-The function centroid calculates the centroid of a geometry using the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. A <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> should be closed and orientated clockwise, holes, if any, must be orientated counter clockwise <dl compact><dt><b>Parameters:</b></dt><dd>
+<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>a geometry (e.g. closed ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>the geometry to calculate centroid from </td></tr>
<tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>reference to <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> which will contain the centroid </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em> </td><td>Calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid </td></tr>
</table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
@@ -118,44 +125,29 @@
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a></em> </td><td>if calculation is not successful, e.g. because <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> didn't contain points </td></tr>
</table>
</dl>
-<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing centroid calculation <div class="fragment"><pre class="fragment">{
- <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon<ggl::point_xy<double></a> > poly;
- ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
- <span class="comment">// Center of polygon might have different type then points of polygon</span>
- <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy<float></a> center;
- <a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">ggl::centroid</a>(poly, center);
- std::cout << <span class="stringliteral">"Centroid: "</span> << center.<a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>() << <span class="stringliteral">","</span> << center.<a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>() << std::endl;
-}
-</pre></div> </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="03__polygon__example_8cpp-example.html#a8">03_polygon_example.cpp</a>, <a class="el" href="c04__a__custom__triangle__example_8cpp-example.html#a4">c04_a_custom_triangle_example.cpp</a>, and <a class="el" href="c04__b__custom__triangle__example_8cpp-example.html#a4">c04_b_custom_triangle_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00203">203</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00277">277</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="gda8ccb0bcdd94cebe5b66374259c1fe2"></a><!-- doxytag: member="ggl::centroid" ref="gda8ccb0bcdd94cebe5b66374259c1fe2" args="(const G &geometry, P &c, S const &strategy)" -->
+<a class="anchor" name="gc7e9651663cd19868cae40c20c72afdc"></a><!-- doxytag: member="ggl::centroid" ref="gc7e9651663cd19868cae40c20c72afdc" args="(Geometry const &geometry, Point &c)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename P , typename S > </div>
+template<typename Geometry , typename Point > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::centroid </td>
<td>(</td>
- <td class="paramtype">const G & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">P & </td>
- <td class="paramname"> <em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">S const & </td>
- <td class="paramname"> <em>strategy</em></td><td> </td>
+ <td class="paramtype">Point & </td>
+ <td class="paramname"> <em>c</em></td><td> </td>
</tr>
<tr>
<td></td>
@@ -167,13 +159,12 @@
<div class="memdoc">
<p>
-Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>.
+Calculate centroid.
<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+The function centroid calculates the centroid of a geometry using the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. Polygon should be closed, and can be orientated either way <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>the geometry to calculate centroid from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>a geometry (e.g. closed ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>reference to <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> which will contain the centroid </td></tr>
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em> </td><td>Calculation <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for centroid </td></tr>
</table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
@@ -181,21 +172,30 @@
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classggl_1_1centroid__exception.html">centroid_exception</a></em> </td><td>if calculation is not successful, e.g. because <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> didn't contain points </td></tr>
</table>
</dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>Example showing centroid calculation <div class="fragment"><pre class="fragment">{
+ <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon<ggl::point_xy<double></a> > poly;
+ ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
+ <span class="comment">// Center of polygon might have different type then points of polygon</span>
+ <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy<float></a> center;
+ <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">ggl::centroid</a>(poly, center);
+ std::cout << <span class="stringliteral">"Centroid: "</span> << center.<a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>() << <span class="stringliteral">","</span> << center.<a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>() << std::endl;
+}
+</pre></div> </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00231">231</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00328">328</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="gcb8d61ecb3cb509353728f50d9ae03b4"></a><!-- doxytag: member="ggl::make_centroid" ref="gcb8d61ecb3cb509353728f50d9ae03b4" args="(const G &geometry)" -->
+<a class="anchor" name="ga7146045002e56e5471f8da7dd30609c"></a><!-- doxytag: member="ggl::make_centroid" ref="ga7146045002e56e5471f8da7dd30609c" args="(Geometry const &geometry)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename P , typename G > </div>
+template<typename Point , typename Geometry > </div>
<table class="memname">
<tr>
- <td class="memname">P ggl::make_centroid </td>
+ <td class="memname">Point ggl::make_centroid </td>
<td>(</td>
- <td class="paramtype">const G & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em> </td>
<td> ) </td>
<td></td>
@@ -219,26 +219,26 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00252">252</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00355">355</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g8c284d8ca53c0ace8827431178438852"></a><!-- doxytag: member="ggl::make_centroid" ref="g8c284d8ca53c0ace8827431178438852" args="(const G &geometry, S const &strategy)" -->
+<a class="anchor" name="gb077a07483ee2fdd17d66e63b237aaa6"></a><!-- doxytag: member="ggl::make_centroid" ref="gb077a07483ee2fdd17d66e63b237aaa6" args="(Geometry const &geometry, Strategy const &strategy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename P , typename G , typename S > </div>
+template<typename Point , typename Geometry , typename Strategy > </div>
<table class="memname">
<tr>
- <td class="memname">P ggl::make_centroid </td>
+ <td class="memname">Point ggl::make_centroid </td>
<td>(</td>
- <td class="paramtype">const G & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">S const & </td>
+ <td class="paramtype">Strategy const & </td>
<td class="paramname"> <em>strategy</em></td><td> </td>
</tr>
<tr>
@@ -266,7 +266,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00268">268</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2centroid_8hpp_source.html#l00375">375</a> of file <a class="el" href="algorithms_2centroid_8hpp_source.html">centroid.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__combine.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__combine.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -100,7 +100,7 @@
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="07__graph__route__example_8cpp-example.html#a0">07_graph_route_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="combine_8hpp_source.html#l00176">176</a> of file <a class="el" href="combine_8hpp_source.html">combine.hpp</a>.</p>
+<p>Definition at line <a class="el" href="combine_8hpp_source.html#l00177">177</a> of file <a class="el" href="combine_8hpp_source.html">combine.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__concepts.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__concepts.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -39,60 +39,69 @@
<h1>concept checking</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box< B ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy< Strategy ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< B ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< L ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy< Strategy ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< Geometry ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< Geometry ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere< S ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< X ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< P ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< R ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< S ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< L ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere< S ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point< X ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks nsphere <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy< Strategy ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy< Strategy ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< P ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring< R ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment< S ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy< Strategy ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy< Strategy ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon). More...<br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-Concepts are used to check if pointtypes provide required implementation. Concept checking is done using BCCL (Boost Concept Check Library) and MPL (Meta Programming Library) </div>
+Concepts are used to apply if pointtypes provide required implementation. Concept checking is done using BCCL (Boost Concept Check Library) and MPL (Meta Programming Library) </div>
<hr size="1">
<table width="100%">
<tbody>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convert.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convert.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -90,7 +90,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="convert_8hpp_source.html#l00158">158</a> of file <a class="el" href="convert_8hpp_source.html">convert.hpp</a>.</p>
+<p>Definition at line <a class="el" href="convert_8hpp_source.html#l00162">162</a> of file <a class="el" href="convert_8hpp_source.html">convert.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convex__hull.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__convex__hull.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -58,7 +58,7 @@
</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Convex_hull</dd></dl>
<dl class="user" compact><dt><b>Performance</b></dt><dd>2776 counties of US are "hulled" in 0.9 seconds (other libraries: 0.9, 4.1, 3.3, 1.4 seconds)</dd></dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>The convex hull is always a ring, holes are not possible. Therefore it is modelled as an output iterator. This gives the most flexibility, the user can decide what to do with it. </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The convex hull is always a ring, holes are not possible. Therefore it is can also be used in combination with an output iterator. </dd></dl>
<dl class="user" compact><dt><b>Geometries:</b></dt><dd>In the images below the convex hull is painted in red.<ul>
<li>POINT: will not compile</li><li>POLYGON: will deliver a polygon without holes <div align="center">
<img src="convexhull_polygon_polygon.png" alt="convexhull_polygon_polygon.png">
@@ -113,7 +113,7 @@
</dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="02__linestring__example_8cpp-example.html#a16">02_linestring_example.cpp</a>, and <a class="el" href="03__polygon__example_8cpp-example.html#a13">03_polygon_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2convex__hull_8hpp_source.html#l00212">212</a> of file <a class="el" href="algorithms_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2convex__hull_8hpp_source.html#l00214">214</a> of file <a class="el" href="algorithms_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
</div>
</div><p>
@@ -161,7 +161,7 @@
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This overloaded version outputs to an output iterator. In this case, nothing is known about its point-type or about its clockwise order. Therefore, the input point-type and order are copied </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2convex__hull_8hpp_source.html#l00238">238</a> of file <a class="el" href="algorithms_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2convex__hull_8hpp_source.html#l00244">244</a> of file <a class="el" href="algorithms_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__core.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__core.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -39,6 +39,9 @@
<h1>core: meta-functions for geometry types</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1checker.html">ggl::concept::detail::checker< Geometry, IsConst ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system< G ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-function which defines coordinate system for any geometry. More...<br></td></tr>
@@ -84,7 +87,38 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1topological__dimension.html">ggl::topological_dimension< Geometry ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-function returning the topological <a class="el" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> of a geometry. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68">ggl::concept::check</a> ()</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. <br></td></tr>
</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gaced8195f8f52790d78ac0fc62a5bb68"></a><!-- doxytag: member="ggl::concept::check" ref="gaced8195f8f52790d78ac0fc62a5bb68" args="()" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::concept::check </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry.
+<p>
+
+<p>Definition at line <a class="el" href="check_8hpp_source.html#l00134">134</a> of file <a class="el" href="check_8hpp_source.html">check.hpp</a>.</p>
+
+</div>
+</div><p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__envelope.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__envelope.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -43,22 +43,22 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class binding envelope <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to a coordinate system. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename B > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g89671917cfb1753f65d4bcc2fc334bf9">ggl::envelope</a> (G const &geometry, B &mbr)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Box > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67">ggl::envelope</a> (Geometry const &geometry, Box &mbr)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename B , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">ggl::envelope</a> (G const &geometry, B &mbr, S const &strategy)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B , typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g938cf2804a87e138cbf4b5b65314a3e4">ggl::make_envelope</a> (G const &geometry)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B , typename G , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">ggl::make_envelope</a> (G const &geometry, S const &strategy)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Box , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8">ggl::envelope</a> (Geometry const &geometry, Box &mbr, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Box , typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">ggl::make_envelope</a> (Geometry const &geometry)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Box , typename Geometry , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g41b5f1545e745767f7afa6b1b889d279">ggl::make_envelope</a> (Geometry const &geometry, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<dl class="user" compact><dt><b>Source descriptions:</b></dt><dd><ul>
@@ -78,34 +78,34 @@
<a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">ggl::linestring<ggl::point_xy<double></a> > line;
ggl::read_wkt(<span class="stringliteral">"linestring(0 0,1 1,4 8,3 2)"</span>, line);
<a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box<ggl::point_xy<double></a> > box;
- <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">ggl::envelope</a>(line, box);
+ <a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">ggl::envelope</a>(line, box);
std::cout << <span class="stringliteral">"envelope is "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(box) << std::endl;
}
</pre></div> </dd></dl>
<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g376bdcefa676ef2b705656b690767b36"></a><!-- doxytag: member="ggl::envelope" ref="g376bdcefa676ef2b705656b690767b36" args="(G const &geometry, B &mbr, S const &strategy)" -->
+<a class="anchor" name="g4676217c7bc60742c3dc7dad7bbfa2b8"></a><!-- doxytag: member="ggl::envelope" ref="g4676217c7bc60742c3dc7dad7bbfa2b8" args="(Geometry const &geometry, Box &mbr, Strategy const &strategy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename B , typename S > </div>
+template<typename Geometry , typename Box , typename Strategy > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::envelope </td>
<td>(</td>
- <td class="paramtype">G const & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">B & </td>
+ <td class="paramtype">Box & </td>
<td class="paramname"> <em>mbr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">S const & </td>
+ <td class="paramtype">Strategy const & </td>
<td class="paramname"> <em>strategy</em></td><td> </td>
</tr>
<tr>
@@ -129,26 +129,26 @@
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="02__linestring__example_8cpp-example.html#a7">02_linestring_example.cpp</a>, and <a class="el" href="03__polygon__example_8cpp-example.html#a5">03_polygon_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00250">250</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00216">216</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g89671917cfb1753f65d4bcc2fc334bf9"></a><!-- doxytag: member="ggl::envelope" ref="g89671917cfb1753f65d4bcc2fc334bf9" args="(G const &geometry, B &mbr)" -->
+<a class="anchor" name="gd12dc40a65c8b7d39e77d6f802d1cb67"></a><!-- doxytag: member="ggl::envelope" ref="gd12dc40a65c8b7d39e77d6f802d1cb67" args="(Geometry const &geometry, Box &mbr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename B > </div>
+template<typename Geometry , typename Box > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::envelope </td>
<td>(</td>
- <td class="paramtype">G const & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">B & </td>
+ <td class="paramtype">Box & </td>
<td class="paramname"> <em>mbr</em></td><td> </td>
</tr>
<tr>
@@ -199,26 +199,26 @@
}
</pre></div> </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00275">275</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00245">245</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g0b2b7b9ef2bc07f4b45695606f3d292d"></a><!-- doxytag: member="ggl::make_envelope" ref="g0b2b7b9ef2bc07f4b45695606f3d292d" args="(G const &geometry, S const &strategy)" -->
+<a class="anchor" name="g41b5f1545e745767f7afa6b1b889d279"></a><!-- doxytag: member="ggl::make_envelope" ref="g41b5f1545e745767f7afa6b1b889d279" args="(Geometry const &geometry, Strategy const &strategy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename B , typename G , typename S > </div>
+template<typename Box , typename Geometry , typename Strategy > </div>
<table class="memname">
<tr>
- <td class="memname">B ggl::make_envelope </td>
+ <td class="memname">Box ggl::make_envelope </td>
<td>(</td>
- <td class="paramtype">G const & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">S const & </td>
+ <td class="paramtype">Strategy const & </td>
<td class="paramname"> <em>strategy</em></td><td> </td>
</tr>
<tr>
@@ -240,20 +240,20 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00296">296</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00269">269</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g938cf2804a87e138cbf4b5b65314a3e4"></a><!-- doxytag: member="ggl::make_envelope" ref="g938cf2804a87e138cbf4b5b65314a3e4" args="(G const &geometry)" -->
+<a class="anchor" name="gb8343582b49458d16bca165b493f678d"></a><!-- doxytag: member="ggl::make_envelope" ref="gb8343582b49458d16bca165b493f678d" args="(Geometry const &geometry)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename B , typename G > </div>
+template<typename Box , typename Geometry > </div>
<table class="memname">
<tr>
- <td class="memname">B ggl::make_envelope </td>
+ <td class="memname">Box ggl::make_envelope </td>
<td>(</td>
- <td class="paramtype">G const & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em> </td>
<td> ) </td>
<td></td>
@@ -271,7 +271,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00315">315</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00291">291</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__intermediate.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__intermediate.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -39,26 +39,26 @@
<h1>intermediate calculation</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename Iterator > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">ggl::intermediate</a> (const G &geometry, bool start_and_end, Iterator out)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Iterator > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3">ggl::intermediate</a> (Geometry const &geometry, bool start_and_end, Iterator out)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The intermediate algorithm calculate points IN BETWEEN of other points <dl class="user" compact><dt><b>Purpose:</b></dt><dd><ul>
<li>Remove corners in rectangular lines / polygons. Calling them several times will result in smooth lines</li><li>Creating 3D models </li></ul>
</dd></dl>
<hr><h2>Function Documentation</h2>
-<a class="anchor" name="gf847d50ccb579a7d771988c1971eb0b3"></a><!-- doxytag: member="ggl::intermediate" ref="gf847d50ccb579a7d771988c1971eb0b3" args="(const G &geometry, bool start_and_end, Iterator out)" -->
+<a class="anchor" name="gb420c51753b4bdda7f1cde1f4ec53ed3"></a><!-- doxytag: member="ggl::intermediate" ref="gb420c51753b4bdda7f1cde1f4ec53ed3" args="(Geometry const &geometry, bool start_and_end, Iterator out)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename Iterator > </div>
+template<typename Geometry , typename Iterator > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::intermediate </td>
<td>(</td>
- <td class="paramtype">const G & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
@@ -86,7 +86,7 @@
Calculate intermediate of a geometry.
<p>
-<p>Definition at line <a class="el" href="intermediate_8hpp_source.html#l00119">119</a> of file <a class="el" href="intermediate_8hpp_source.html">intermediate.hpp</a>.</p>
+<p>Definition at line <a class="el" href="intermediate_8hpp_source.html#l00120">120</a> of file <a class="el" href="intermediate_8hpp_source.html">intermediate.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__length.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__length.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -98,7 +98,7 @@
</pre></div> </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="02__linestring__example_8cpp-example.html#a8">02_linestring_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#a4">07_graph_route_example.cpp</a>, and <a class="el" href="c05__custom__point__pointer__example_8cpp-example.html#a1">c05_custom_point_pointer_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2length_8hpp_source.html#l00147">147</a> of file <a class="el" href="algorithms_2length_8hpp_source.html">length.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2length_8hpp_source.html#l00157">157</a> of file <a class="el" href="algorithms_2length_8hpp_source.html">length.hpp</a>.</p>
</div>
</div><p>
@@ -153,7 +153,7 @@
}
</pre></div> </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2length_8hpp_source.html#l00183">183</a> of file <a class="el" href="algorithms_2length_8hpp_source.html">length.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2length_8hpp_source.html#l00198">198</a> of file <a class="el" href="algorithms_2length_8hpp_source.html">length.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -100,7 +100,7 @@
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="02__linestring__example_8cpp-example.html#a13">02_linestring_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2for__each_8hpp_source.html#l00280">280</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2for__each_8hpp_source.html#l00284">284</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
</div>
</div><p>
@@ -141,7 +141,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2for__each_8hpp_source.html#l00300">300</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2for__each_8hpp_source.html#l00306">306</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
</div>
</div><p>
@@ -182,7 +182,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2for__each_8hpp_source.html#l00320">320</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2for__each_8hpp_source.html#l00329">329</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
</div>
</div><p>
@@ -223,7 +223,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2for__each_8hpp_source.html#l00341">341</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2for__each_8hpp_source.html#l00352">352</a> of file <a class="el" href="algorithms_2for__each_8hpp_source.html">for_each.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__overlay.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__overlay.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -204,7 +204,7 @@
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the output iterator </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>For linestrings: the default clipping <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>, Liang-Barsky, is used. The algorithm is currently only implemented for 2D xy points. It could be generic for most ll cases, but not across the 180 meridian so that issue is still on the todo-list. </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2intersection_8hpp_source.html#l00427">427</a> of file <a class="el" href="algorithms_2intersection_8hpp_source.html">intersection.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2intersection_8hpp_source.html#l00428">428</a> of file <a class="el" href="algorithms_2intersection_8hpp_source.html">intersection.hpp</a>.</p>
</div>
</div><p>
@@ -242,7 +242,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if there are intersections, else FALSE </dd></dl>
-<p>Definition at line <a class="el" href="intersects_8hpp_source.html#l00040">40</a> of file <a class="el" href="intersects_8hpp_source.html">intersects.hpp</a>.</p>
+<p>Definition at line <a class="el" href="intersects_8hpp_source.html#l00042">42</a> of file <a class="el" href="intersects_8hpp_source.html">intersects.hpp</a>.</p>
</div>
</div><p>
@@ -289,7 +289,7 @@
Traverses through intersection points / geometries.
<p>
-<p>Definition at line <a class="el" href="copy__segments_8hpp_source.html#l00195">195</a> of file <a class="el" href="copy__segments_8hpp_source.html">copy_segments.hpp</a>.</p>
+<p>Definition at line <a class="el" href="copy__segments_8hpp_source.html#l00197">197</a> of file <a class="el" href="copy__segments_8hpp_source.html">copy_segments.hpp</a>.</p>
</div>
</div><p>
@@ -391,7 +391,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if it is trivial, else FALSE </dd></dl>
-<p>Definition at line <a class="el" href="get__intersection__points_8hpp_source.html#l00682">682</a> of file <a class="el" href="get__intersection__points_8hpp_source.html">get_intersection_points.hpp</a>.</p>
+<p>Definition at line <a class="el" href="get__intersection__points_8hpp_source.html#l00684">684</a> of file <a class="el" href="get__intersection__points_8hpp_source.html">get_intersection_points.hpp</a>.</p>
</div>
</div><p>
@@ -475,7 +475,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if it is trivial, else FALSE </dd></dl>
-<p>Definition at line <a class="el" href="self__intersection__points_8hpp_source.html#l00149">149</a> of file <a class="el" href="self__intersection__points_8hpp_source.html">self_intersection_points.hpp</a>.</p>
+<p>Definition at line <a class="el" href="self__intersection__points_8hpp_source.html#l00151">151</a> of file <a class="el" href="self__intersection__points_8hpp_source.html">self_intersection_points.hpp</a>.</p>
</div>
</div><p>
@@ -534,7 +534,7 @@
Traverses through intersection points / geometries.
<p>
-<p>Definition at line <a class="el" href="traverse_8hpp_source.html#l00302">302</a> of file <a class="el" href="traverse_8hpp_source.html">traverse.hpp</a>.</p>
+<p>Definition at line <a class="el" href="traverse_8hpp_source.html#l00304">304</a> of file <a class="el" href="traverse_8hpp_source.html">traverse.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__perimeter.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__perimeter.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -78,7 +78,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the perimeter </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2perimeter_8hpp_source.html#l00085">85</a> of file <a class="el" href="algorithms_2perimeter_8hpp_source.html">perimeter.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2perimeter_8hpp_source.html#l00083">83</a> of file <a class="el" href="algorithms_2perimeter_8hpp_source.html">perimeter.hpp</a>.</p>
</div>
</div><p>
@@ -120,7 +120,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the perimeter </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2perimeter_8hpp_source.html#l00115">115</a> of file <a class="el" href="algorithms_2perimeter_8hpp_source.html">perimeter.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2perimeter_8hpp_source.html#l00117">117</a> of file <a class="el" href="algorithms_2perimeter_8hpp_source.html">perimeter.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__sectionalize.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__sectionalize.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -118,7 +118,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2get__section_8hpp_source.html#l00085">85</a> of file <a class="el" href="algorithms_2get__section_8hpp_source.html">get_section.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2get__section_8hpp_source.html#l00083">83</a> of file <a class="el" href="algorithms_2get__section_8hpp_source.html">get_section.hpp</a>.</p>
</div>
</div><p>
@@ -165,7 +165,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00553">553</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00556">556</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__selected.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__selected.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -39,10 +39,10 @@
<h1>selection: check if a geometry is "selected" by a point</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">ggl::selected</a> (G const &geometry, P const &selection_point, T const &search_radius)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point , typename RadiusType > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9">ggl::selected</a> (Geometry const &geometry, Point const &selection_point, RadiusType const &search_radius)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Checks if one geometry is selected by a point lying within or in the neighborhood of that geometry<p>
@@ -50,28 +50,28 @@
<li>POINT: checks if points are CLOSE TO each other (< search_radius)</li><li>LINESTRING: checks if selection point is CLOSE TO linestring (< search_radius)</li><li>RING: checks if selection point is INSIDE the ring, search radius is ignored</li><li>POLYGON: checks if selection point is INSIDE the polygon, but not inside any of its holes </li></ul>
</dd></dl>
<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g9607e50fb982b6dd259eb0329512bca3"></a><!-- doxytag: member="ggl::selected" ref="g9607e50fb982b6dd259eb0329512bca3" args="(G const &geometry, P const &selection_point, T const &search_radius)" -->
+<a class="anchor" name="gee6b6b8f5c14c3a2b7c85c48ba492bc9"></a><!-- doxytag: member="ggl::selected" ref="gee6b6b8f5c14c3a2b7c85c48ba492bc9" args="(Geometry const &geometry, Point const &selection_point, RadiusType const &search_radius)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename P , typename T > </div>
+template<typename Geometry , typename Point , typename RadiusType > </div>
<table class="memname">
<tr>
<td class="memname">bool ggl::selected </td>
<td>(</td>
- <td class="paramtype">G const & </td>
+ <td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">P const & </td>
+ <td class="paramtype">Point const & </td>
<td class="paramname"> <em>selection_point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">T const & </td>
+ <td class="paramtype">RadiusType const & </td>
<td class="paramname"> <em>search_radius</em></td><td> </td>
</tr>
<tr>
@@ -88,8 +88,8 @@
<p>
<dl compact><dt><b>Template Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>G</em> </td><td>type of geometry to check </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>P</em> </td><td>type of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to check </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry</em> </td><td>type of geometry to check </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Point</em> </td><td>type of <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to check </td></tr>
<tr><td valign="top"></td><td valign="top"><em>T</em> </td><td>type of search radius </td></tr>
</table>
</dl>
@@ -102,7 +102,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is within or close to the other geometry </dd></dl>
-<p>Definition at line <a class="el" href="selected_8hpp_source.html#l00262">262</a> of file <a class="el" href="selected_8hpp_source.html">selected.hpp</a>.</p>
+<p>Definition at line <a class="el" href="selected_8hpp_source.html#l00260">260</a> of file <a class="el" href="selected_8hpp_source.html">selected.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -175,7 +175,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00284">284</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00286">286</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
</div>
</div><p>
@@ -242,7 +242,7 @@
}
</pre></div> </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00323">323</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00327">327</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
</div>
</div><p>
@@ -299,7 +299,7 @@
}
</pre></div> </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00352">352</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00357">357</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__svg.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__svg.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -87,7 +87,7 @@
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="07__graph__route__example_8cpp-example.html#a15">07_graph_route_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00256">256</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__svg_8hpp_source.html#l00239">239</a> of file <a class="el" href="write__svg_8hpp_source.html">write_svg.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -45,10 +45,10 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access< Geometry, Dimension ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point< G, P ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point< Geometry, Point ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear< G ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear< Geometry ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system< P ></a></td></tr>
@@ -81,12 +81,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1point__type.html">ggl::traits::point_type< G ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class indicating the type of contained points. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__access.html">ggl::traits::radius_access< G, T, D ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class to get/set radius of a circle/sphere/(ellipse). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__type.html">ggl::traits::radius_type< G ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class indicating the type (double,float,...) of the radius of a circle or a sphere. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1ring__type.html">ggl::traits::ring_type< G ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class to indicate ring-type of a polygon's exterior ring/interior rings. More...<br></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__transform.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__transform.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -108,7 +108,7 @@
XYZ p;
SPH sph1, sph2;
- <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(sph1, 12.5, 41.90, 1.0);
+ <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(sph1, 12.5, 41.90, 1.0);
<span class="comment">// Go from spherical to Cartesian-3D:</span>
<a class="code" href="group__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a>(sph1, p);
<span class="comment">// Go back from Cartesian 3D to spherical:</span>
@@ -179,7 +179,7 @@
</dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="06__transformation__example_8cpp-example.html#a2">06_transformation_example.cpp</a>, and <a class="el" href="07__graph__route__example_8cpp-example.html#a14">07_graph_route_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2transform_8hpp_source.html#l00258">258</a> of file <a class="el" href="algorithms_2transform_8hpp_source.html">transform.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2transform_8hpp_source.html#l00262">262</a> of file <a class="el" href="algorithms_2transform_8hpp_source.html">transform.hpp</a>.</p>
</div>
</div><p>
@@ -227,7 +227,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the transformation could be done </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2transform_8hpp_source.html#l00281">281</a> of file <a class="el" href="algorithms_2transform_8hpp_source.html">transform.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2transform_8hpp_source.html#l00288">288</a> of file <a class="el" href="algorithms_2transform_8hpp_source.html">transform.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__utility.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__utility.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -42,6 +42,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type< Geometry ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-function utility returning either type itself, or outer ring. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type< Point1, Point2, CalculationType ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility selecting the "calculation" type. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type< T1, T2 ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility selecting the most precise coordinate type of two geometries. More...<br></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -58,23 +58,33 @@
<li><a class="el" href="structggl_1_1cartesian__distance.html">ggl::cartesian_distance< T ></a>
<li><a class="el" href="structggl_1_1cartesian__tag.html">ggl::cartesian_tag</a>
<li><a class="el" href="structggl_1_1circular__iterator.html">ggl::circular_iterator< Iterator ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box< B ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< B ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< L ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">ggl::concept::AreaStrategy< Strategy ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_box.html">ggl::concept::Box< Geometry ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">ggl::concept::CentroidStrategy< Strategy ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< Geometry ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< Geometry ></a>
<li><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ggl::concept::ConstNsphere< S ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< X ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< P ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< R ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< S ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< L ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< Geometry ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< Geometry ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< Geometry ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< Geometry ></a>
+<li><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append.html">ggl::concept::detail::check_append< Geometry, Point, UseStd ></a>
+<li><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">ggl::concept::detail::check_append< Geometry, Point, false ></a>
+<li><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">ggl::concept::detail::check_append< Geometry, Point, true ></a>
+<li><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear.html">ggl::concept::detail::check_clear< Geometry, UseStd ></a>
+<li><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">ggl::concept::detail::check_clear< Geometry, false ></a>
+<li><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">ggl::concept::detail::check_clear< Geometry, true ></a>
+<li><a class="el" href="structggl_1_1concept_1_1detail_1_1checker.html">ggl::concept::detail::checker< Geometry, IsConst ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< Geometry ></a>
<li><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere< S ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point< X ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point< Geometry ></a>
<li><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy< Strategy ></a>
<li><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy< Strategy ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< P ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring< R ></a>
-<li><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment< S ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< Geometry ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring< Geometry ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment< Geometry ></a>
<li><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy< Strategy ></a>
+<li><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy< Strategy ></a>
<li><a class="el" href="structggl_1_1coordinate__system.html">ggl::coordinate_system< G ></a>
<li><a class="el" href="structggl_1_1coordinate__type.html">ggl::coordinate_type< G ></a>
<li><a class="el" href="structggl_1_1cs_1_1cartesian.html">ggl::cs::cartesian</a>
@@ -114,8 +124,6 @@
<li><a class="el" href="structggl_1_1multi__point__tag.html">ggl::multi_point_tag</a>
<li><a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon< P, V, A ></a>
<li><a class="el" href="structggl_1_1multi__polygon__tag.html">ggl::multi_polygon_tag</a>
-<li><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a>
-<li><a class="el" href="structggl_1_1nsphere__tag.html">ggl::nsphere_tag</a>
<li><a class="el" href="classggl_1_1point.html">ggl::point< T, D, C ></a>
<li><a class="el" href="structggl_1_1point__order.html">ggl::point_order< Geometry ></a>
<li><a class="el" href="structggl_1_1point__tag.html">ggl::point_tag</a>
@@ -128,7 +136,6 @@
<li><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
<li><a class="el" href="structggl_1_1polygon__tag.html">ggl::polygon_tag</a>
<li><a class="el" href="classggl_1_1radian.html">ggl::radian</a>
-<li><a class="el" href="structggl_1_1radius__type.html">ggl::radius_type< G ></a>
<li><a class="el" href="structggl_1_1replace__point__type.html">ggl::replace_point_type< Geometry, NewPointType ></a>
<li><a class="el" href="structggl_1_1reverse__dispatch.html">ggl::reverse_dispatch< Geometry1, Geometry2 ></a>
<li><a class="el" href="structggl_1_1ring__tag.html">ggl::ring_tag</a>
@@ -140,14 +147,15 @@
<li><a class="el" href="structggl_1_1segment__intersection__points.html">ggl::segment_intersection_points< P ></a>
<li><a class="el" href="structggl_1_1segment__iterator.html">ggl::segment_iterator< Base, Point ></a>
<li><a class="el" href="structggl_1_1segment__tag.html">ggl::segment_tag</a>
+<li><a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type< Point1, Point2, CalculationType ></a>
<li><a class="el" href="structggl_1_1select__coordinate__type.html">ggl::select_coordinate_type< T1, T2 ></a>
<li><a class="el" href="structggl_1_1select__most__precise.html">ggl::select_most_precise< T1, T2 ></a>
<li><a class="el" href="structggl_1_1single__tag.html">ggl::single_tag< Tag ></a>
<li><a class="el" href="structggl_1_1spherical__tag.html">ggl::spherical_tag</a>
-<li><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess< P ></a>
-<li><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PS, CalculationType ></a>
-<li><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< CentroidPointType, SegmentPointType, CalculationType ></a>
-<li><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">ggl::strategy::centroid::geolib1995< PC, PS ></a>
+<li><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">ggl::strategy::area::by_triangles< PointOfSegment, CalculationType ></a>
+<li><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType ></a>
+<li><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>
+<li><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">ggl::strategy::centroid::bashein_detmer< Point, PointOfSegment, CalculationType ></a>
<li><a class="el" href="structggl_1_1strategy_1_1compare_1_1euclidian.html">ggl::strategy::compare::euclidian< P, D ></a>
<li><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a>
<li><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a>
@@ -188,8 +196,9 @@
<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::scale_transformer< P1, P2, 3, 3 ></a>
<li><a class="el" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 ></a>
</ul>
-<li><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< P, PS ></a>
-<li><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< P, PS ></a>
+<li><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a>
+<li><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a>
+<li><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a>
<li><a class="el" href="structggl_1_1strategy__area.html">ggl::strategy_area< T, P ></a>
<li><a class="el" href="structggl_1_1strategy__centroid.html">ggl::strategy_centroid< T, P, PS ></a>
<li><a class="el" href="structggl_1_1strategy__compare.html">ggl::strategy_compare< T, P, D ></a>
@@ -212,8 +221,8 @@
<li><a class="el" href="structggl_1_1topological__dimension.html">ggl::topological_dimension< Geometry ></a>
<li><a class="el" href="structggl_1_1traits_1_1access.html">ggl::traits::access< Geometry, Dimension ></a>
<li><a class="el" href="structggl_1_1traits_1_1access_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_00_01_dimension_01_4.html">ggl::traits::access< ggl::detail::intersection::intersection_point< P >, Dimension ></a>
-<li><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point< G, P ></a>
-<li><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear< G ></a>
+<li><a class="el" href="structggl_1_1traits_1_1append__point.html">ggl::traits::append_point< Geometry, Point ></a>
+<li><a class="el" href="structggl_1_1traits_1_1clear.html">ggl::traits::clear< Geometry ></a>
<li><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">ggl::traits::coordinate_system< P ></a>
<li><a class="el" href="structggl_1_1traits_1_1coordinate__system_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::coordinate_system< ggl::detail::intersection::intersection_point< P > ></a>
<li><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">ggl::traits::coordinate_type< P ></a>
@@ -226,8 +235,6 @@
<li><a class="el" href="structggl_1_1traits_1_1interior__type.html">ggl::traits::interior_type< G ></a>
<li><a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order< G ></a>
<li><a class="el" href="structggl_1_1traits_1_1point__type.html">ggl::traits::point_type< G ></a>
-<li><a class="el" href="structggl_1_1traits_1_1radius__access.html">ggl::traits::radius_access< G, T, D ></a>
-<li><a class="el" href="structggl_1_1traits_1_1radius__type.html">ggl::traits::radius_type< G ></a>
<li><a class="el" href="structggl_1_1traits_1_1ring__type.html">ggl::traits::ring_type< G ></a>
<li><a class="el" href="structggl_1_1traits_1_1tag.html">ggl::traits::tag< Geometry ></a>
<li><a class="el" href="structggl_1_1traits_1_1tag_3_01ggl_1_1detail_1_1intersection_1_1intersection__point_3_01_p_01_4_01_4.html">ggl::traits::tag< ggl::detail::intersection::intersection_point< P > ></a>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/index.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/index.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -66,9 +66,9 @@
</pre></div><p>
Other often used algorithms are point-in-polygon: <div class="fragment"><pre class="fragment"> <a class="code" href="namespaceggl.html#c40046fcbfc818fa12cc1e73e26e260b">ring_2d</a> poly;
<span class="keywordtype">double</span> points[][2] = {{2.0, 1.3}, {4.1, 3.0}, {5.3, 2.6}, {2.9, 0.7}, {2.0, 1.3}};
- <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(poly, points);
+ <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(poly, points);
boost::tuple<double, double> p = boost::make_tuple(3.7, 2.0);
- std::cout << <span class="stringliteral">"Point p is in polygon? "</span> << (<a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a>(p, poly) ? <span class="stringliteral">"YES"</span> : <span class="stringliteral">"NO"</span>) << std::endl;
+ std::cout << <span class="stringliteral">"Point p is in polygon? "</span> << (<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>(p, poly) ? <span class="stringliteral">"YES"</span> : <span class="stringliteral">"NO"</span>) << std::endl;
</pre></div><p>
or area: <div class="fragment"><pre class="fragment"> std::cout << <span class="stringliteral">"Area: "</span> << <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>(poly) << std::endl;
</pre></div><p>
@@ -82,9 +82,9 @@
It is also possible to use non-Cartesian points. For example: points on a sphere. When then an algorithm such as distance is used the library "inspects" that it is handling spherical points and calculates the distance over the sphere, instead of applying the Pythagorean theorem.<p>
Finally an example from a totally different domain: developing window-based applications, for example using QtWidgets. We check if two rectangles overlap and if so, move the second one to another place: <div class="fragment"><pre class="fragment"> QRect r1(100, 200, 15, 15);
QRect r2(110, 210, 20, 20);
- <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c" title="Determines overlap between two geometries.">overlaps</a>(r1, r2))
+ <span class="keywordflow">if</span> (<a class="code" href="group__boolean__relations.html#g6b41a75ce56023fe9def2613d0a4603f" title="Determines overlap between two geometries.">overlaps</a>(r1, r2))
{
- <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">assign</a>(r2, 200, 300, 220, 320);
+ <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">assign</a>(r2, 200, 300, 220, 320);
}
</pre></div><p>
Many more examples are on the page <b>Examples</b> </div>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -101,12 +101,12 @@
<a name="l00080"></a>00080 {
<a name="l00081"></a>00081 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> interior_type<polygon_tag, P>::type& <span class="keyword">get</span>(P& polygon)
<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::interior_rings<P>::get</a>(polygon);
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">traits::interior_rings<P>::get</a>(polygon);
<a name="l00084"></a>00084 }
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">typename</span> interior_type<polygon_tag, P>::type& <span class="keyword">get</span>(<span class="keyword">const</span> P& polygon)
<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::interior_rings<P>::get</a>(polygon);
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">traits::interior_rings<P>::get</a>(polygon);
<a name="l00089"></a>00089 }
<a name="l00090"></a>00090 };
<a name="l00091"></a>00091
@@ -131,14 +131,14 @@
<a name="l00124"></a>00124 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
<a name="l00125"></a><a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">00125</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type<P>::type</a>& <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(P& <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)
<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <span class="keywordflow">return</span> core_dispatch::interior_rings<typename tag<P>::type, P><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(polygon);
+<a name="l00127"></a>00127 <span class="keywordflow">return</span> core_dispatch::interior_rings<typename tag<P>::type, P><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">::get</a>(polygon);
<a name="l00128"></a>00128 }
<a name="l00129"></a>00129
<a name="l00130"></a>00130
<a name="l00139"></a>00139 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
<a name="l00140"></a><a class="code" href="group__access.html#ga81ef3b07a844489714e682f12e43746">00140</a> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type<P>::type</a>& <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(<span class="keyword">const</span> P& <a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>)
<a name="l00141"></a>00141 {
-<a name="l00142"></a>00142 <span class="keywordflow">return</span> core_dispatch::interior_rings<typename tag<P>::type, P><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(polygon);
+<a name="l00142"></a>00142 <span class="keywordflow">return</span> core_dispatch::interior_rings<typename tag<P>::type, P><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">::get</a>(polygon);
<a name="l00143"></a>00143 }
<a name="l00144"></a>00144
<a name="l00145"></a>00145
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,10 +50,10 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename Iterator > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">ggl::intermediate</a> (const G &geometry, bool start_and_end, Iterator out)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Iterator > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3">ggl::intermediate</a> (Geometry const &geometry, bool start_and_end, Iterator out)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intermediate_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -58,14 +58,14 @@
<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
<a name="l00021"></a>00021
<a name="l00030"></a>00030 <span class="keyword">namespace </span>ggl
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a> {
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3" title="Calculate intermediate of a geometry.">intermediate</a> {
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
<a name="l00037"></a>00037 <span class="keyword">struct </span>calculate_coordinate
@@ -86,74 +86,83 @@
<a name="l00052"></a>00052 }
<a name="l00053"></a>00053 };
<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> Iterator>
+<a name="l00055"></a>00055 <span class="keyword">template</span><<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Iterator>
<a name="l00056"></a>00056 <span class="keyword">struct </span>range_intermediate
<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(R <span class="keyword">const</span>& range, <span class="keywordtype">bool</span> start_and_end, Iterator out)
-<a name="l00059"></a>00059 {
-<a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<R>::type point_type;
-<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<R>::type iterator_type;
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 iterator_type it = boost::begin(range);
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keywordflow">if</span> (start_and_end)
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 (*out++) = *it;
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 iterator_type prev = it++;
-<a name="l00071"></a>00071 <span class="keywordflow">for</span> (; it != boost::end(range); prev = it++)
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 point_type p;
-<a name="l00074"></a>00074 calculate_coordinate
-<a name="l00075"></a>00075 <
-<a name="l00076"></a>00076 point_type,
+<a name="l00058"></a>00058 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>& range,
+<a name="l00059"></a>00059 <span class="keywordtype">bool</span> start_and_end, Iterator out)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Range>::type point_type;
+<a name="l00062"></a>00062 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 iterator_type it = boost::begin(range);
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="keywordflow">if</span> (start_and_end)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 *out++ = *it;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 iterator_type prev = it++;
+<a name="l00072"></a>00072 <span class="keywordflow">for</span> (; it != boost::end(range); prev = it++)
+<a name="l00073"></a>00073 {
+<a name="l00074"></a>00074 point_type p;
+<a name="l00075"></a>00075 calculate_coordinate
+<a name="l00076"></a>00076 <
<a name="l00077"></a>00077 point_type,
-<a name="l00078"></a>00078 0,
-<a name="l00079"></a>00079 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<point_type>::type::value</a>
-<a name="l00080"></a>00080 >::apply(*prev, *it, p);
-<a name="l00081"></a>00081 *(out++) = p;
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="keywordflow">if</span> (start_and_end)
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 (*out++) = *prev;
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088 }
-<a name="l00089"></a>00089 };
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 }} <span class="comment">// namespace detail::intermediate</span>
-<a name="l00092"></a>00092 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00093"></a>00093 <span class="preprocessor"></span>
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00097"></a>00097 {
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator>
-<a name="l00100"></a>00100 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a> {};
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator>
-<a name="l00103"></a>00103 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a><ring_tag, G, Iterator>
-<a name="l00104"></a>00104 : detail::<a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a>::range_intermediate<G, Iterator> {};
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator>
-<a name="l00107"></a>00107 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a><linestring_tag, G, Iterator>
-<a name="l00108"></a>00108 : detail::<a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a>::range_intermediate<G, Iterator> {};
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 } <span class="comment">// namespace dispatch</span>
-<a name="l00111"></a>00111 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00112"></a>00112 <span class="preprocessor"></span>
-<a name="l00113"></a>00113
-<a name="l00118"></a>00118 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator>
-<a name="l00119"></a><a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">00119</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3" title="Calculate intermediate of a geometry.">intermediate</a>(<span class="keyword">const</span> G& geometry, <span class="keywordtype">bool</span> start_and_end, Iterator out)
-<a name="l00120"></a>00120 {
-<a name="l00121"></a>00121 dispatch::intermediate<typename tag<G>::type, G, Iterator>::apply(geometry, start_and_end, out);
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 } <span class="comment">// namespace ggl</span>
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 <span class="preprocessor">#endif // GGL_ALGORITHMS_INTERMEDIATE_HPP</span>
+<a name="l00078"></a>00078 point_type,
+<a name="l00079"></a>00079 0,
+<a name="l00080"></a>00080 <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<point_type>::type::value</a>
+<a name="l00081"></a>00081 >::apply(*prev, *it, p);
+<a name="l00082"></a>00082 *out++ = p;
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keywordflow">if</span> (start_and_end)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 *out++ = *prev;
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 };
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 }} <span class="comment">// namespace detail::intermediate</span>
+<a name="l00093"></a>00093 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00094"></a>00094 <span class="preprocessor"></span>
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator>
+<a name="l00101"></a>00101 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3" title="Calculate intermediate of a geometry.">intermediate</a> {};
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator>
+<a name="l00104"></a>00104 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3" title="Calculate intermediate of a geometry.">intermediate</a><ring_tag, G, Iterator>
+<a name="l00105"></a>00105 : detail::<a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3" title="Calculate intermediate of a geometry.">intermediate</a>::range_intermediate<G, Iterator> {};
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> Iterator>
+<a name="l00108"></a>00108 <span class="keyword">struct </span><a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3" title="Calculate intermediate of a geometry.">intermediate</a><linestring_tag, G, Iterator>
+<a name="l00109"></a>00109 : detail::<a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3" title="Calculate intermediate of a geometry.">intermediate</a>::range_intermediate<G, Iterator> {};
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 } <span class="comment">// namespace dispatch</span>
+<a name="l00112"></a>00112 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00113"></a>00113 <span class="preprocessor"></span>
+<a name="l00114"></a>00114
+<a name="l00119"></a>00119 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Iterator>
+<a name="l00120"></a><a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3">00120</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3" title="Calculate intermediate of a geometry.">intermediate</a>(Geometry <span class="keyword">const</span>& geometry,
+<a name="l00121"></a>00121 <span class="keywordtype">bool</span> start_and_end, Iterator out)
+<a name="l00122"></a>00122 {
+<a name="l00123"></a>00123 concept::check<const Geometry>();
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <a class="code" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3" title="Calculate intermediate of a geometry.">dispatch::intermediate</a>
+<a name="l00126"></a>00126 <
+<a name="l00127"></a>00127 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00128"></a>00128 Geometry,
+<a name="l00129"></a>00129 Iterator
+<a name="l00130"></a>00130 >::apply(geometry, start_and_end, out);
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 } <span class="comment">// namespace ggl</span>
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 <span class="preprocessor">#endif // GGL_ALGORITHMS_INTERMEDIATE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -158,7 +158,7 @@
<a name="l00128"></a>00128 {
<a name="l00129"></a>00129 *out = line_out;
<a name="l00130"></a>00130 ++out;
-<a name="l00131"></a>00131 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(line_out);
+<a name="l00131"></a>00131 <a class="code" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">ggl::clear</a>(line_out);
<a name="l00132"></a>00132 }
<a name="l00133"></a>00133 }
<a name="l00134"></a>00134 };
@@ -229,9 +229,9 @@
<a name="l00210"></a>00210 <span class="comment">// b. Add p1 only if it is the first point, then add p2</span>
<a name="l00211"></a>00211 <span class="keywordflow">if</span> (boost::empty(line_out))
<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(line_out, p1);
+<a name="l00213"></a>00213 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(line_out, p1);
<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(line_out, p2);
+<a name="l00215"></a>00215 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">ggl::append</a>(line_out, p2);
<a name="l00216"></a>00216
<a name="l00217"></a>00217 <span class="comment">// c. If c2 is clipped, finish the line</span>
<a name="l00218"></a>00218 <span class="keywordflow">if</span> (c2)
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersects_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,46 +51,50 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_ALGORITHMS_INTERSECTS_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_INTERSECTS_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="self__intersection__points_8hpp.html">ggl/algorithms/overlay/self_intersection_points.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="enrich__intersection__points_8hpp.html">ggl/algorithms/overlay/enrich_intersection_points.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>></span>
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="intersection__linestring_8hpp.html">ggl/algorithms/intersection_linestring.hpp</a>></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="self__intersection__points_8hpp.html">ggl/algorithms/overlay/self_intersection_points.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="adapt__turns_8hpp.html">ggl/algorithms/overlay/adapt_turns.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="enrich__intersection__points_8hpp.html">ggl/algorithms/overlay/enrich_intersection_points.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="traverse_8hpp.html">ggl/algorithms/overlay/traverse.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="keyword">namespace </span>ggl
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028
-<a name="l00039"></a>00039 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00040"></a><a class="code" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec">00040</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec" title="Determine if there is at least one intersection (crossing or self-tangency).">intersects</a>(Geometry <span class="keyword">const</span>& geometry)
-<a name="l00041"></a>00041 {
-<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type ncg_type;
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="keyword">typedef</span> std::vector<ggl::detail::intersection::intersection_point
-<a name="l00045"></a>00045 <<span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Geometry>::type</a>> > ip_vector;
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 ip_vector ips;
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 dispatch::self_intersection_points
-<a name="l00050"></a>00050 <
-<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg_type>::type</a>,
-<a name="l00052"></a>00052 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg_type>::type::value</a>,
-<a name="l00053"></a>00053 ncg_type,
-<a name="l00054"></a>00054 ip_vector
-<a name="l00055"></a>00055 >::apply(geometry, <span class="keyword">true</span>, ips);
-<a name="l00056"></a>00056 <span class="keywordflow">return</span> ips.size() > 0;
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 } <span class="comment">// ggl</span>
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="preprocessor">#endif //GGL_ALGORITHMS_INTERSECTS_HPP</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027
+<a name="l00028"></a>00028 <span class="keyword">namespace </span>ggl
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030
+<a name="l00041"></a>00041 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00042"></a><a class="code" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec">00042</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g5e7b5d7c8e010077237751f3a6b289ec" title="Determine if there is at least one intersection (crossing or self-tangency).">intersects</a>(Geometry <span class="keyword">const</span>& geometry)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 concept::check<const Geometry>();
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type ncg_type;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">typedef</span> std::vector<ggl::detail::intersection::intersection_point
+<a name="l00049"></a>00049 <<span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Geometry>::type</a>> > ip_vector;
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 ip_vector ips;
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 dispatch::self_intersection_points
+<a name="l00054"></a>00054 <
+<a name="l00055"></a>00055 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg_type>::type</a>,
+<a name="l00056"></a>00056 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg_type>::type::value</a>,
+<a name="l00057"></a>00057 ncg_type,
+<a name="l00058"></a>00058 ip_vector
+<a name="l00059"></a>00059 >::apply(geometry, <span class="keyword">true</span>, ips);
+<a name="l00060"></a>00060 <span class="keywordflow">return</span> ips.size() > 0;
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 } <span class="comment">// ggl</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#endif //GGL_ALGORITHMS_INTERSECTS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -60,7 +60,7 @@
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="point__order_8hpp.html">ggl/core/point_order.hpp</a>></span>
<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl
@@ -75,7 +75,7 @@
<a name="l00040"></a>00040 >
<a name="l00041"></a><a class="code" href="classggl_1_1linear__ring.html">00041</a> <span class="keyword">class </span><a class="code" href="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a> : <span class="keyword">public</span> V<P, A<P> >
<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<P></a>) );
+<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<P></a>) );
<a name="l00044"></a>00044 };
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -60,7 +60,7 @@
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>></span>
<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl
@@ -74,7 +74,7 @@
<a name="l00043"></a>00043 >
<a name="l00044"></a><a class="code" href="classggl_1_1linestring.html">00044</a> <span class="keyword">class </span><a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> : <span class="keyword">public</span> V<P, A<P> >
<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<P></a>) );
+<a name="l00046"></a>00046 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<P></a>) );
<a name="l00047"></a>00047 };
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -42,17 +42,17 @@
</div>
</div>
<div class="contents">
-<h1>ggl/core/concepts/linestring_concept.hpp File Reference</h1>
+<h1>ggl/geometries/concepts/linestring_concept.hpp File Reference</h1>
<p>
<a href="linestring__concept_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< L ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< L ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linestring__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -40,7 +40,7 @@
<li>File Members</li>
</ul>
</div>
-<h1>ggl/core/concepts/linestring_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<h1>ggl/geometries/concepts/linestring_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
@@ -49,69 +49,74 @@
<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009
-<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept_check.hpp></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/concepts.hpp></span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="check__clear_8hpp.html">ggl/geometries/concepts/detail/check_clear.hpp</a>></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="check__append_8hpp.html">ggl/geometries/concepts/detail/check_append.hpp</a>></span>
+<a name="l00025"></a>00025
<a name="l00026"></a>00026
-<a name="l00027"></a>00027
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031
-<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keyword">typename</span> L>
-<a name="l00037"></a><a class="code" href="structggl_1_1concept_1_1_linestring.html">00037</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a>
-<a name="l00038"></a>00038 {
-<a name="l00039"></a>00039 <span class="keyword">private</span> :
-<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<L>::type</a> P;
+<a name="l00029"></a>00029
+<a name="l00034"></a>00034 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00035"></a><a class="code" href="classggl_1_1concept_1_1_linestring.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<point_type></a>) );
+<a name="l00040"></a>00040 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<Geometry>) );
<a name="l00041"></a>00041
-<a name="l00042"></a>00042 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<P></a>) );
-<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<L>) );
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">public</span> :
<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="keyword">public</span> :
-<a name="l00047"></a><a class="code" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">00047</a> <a class="code" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693" title="BCCL macro to check the Linestring concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a>)
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="comment">// Check if it can be modified</span>
-<a name="l00051"></a>00051 L* ls;
-<a name="l00052"></a>00052 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(*ls);
-<a name="l00053"></a>00053 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(*ls, P());
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055 };
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057
-<a name="l00064"></a>00064 <span class="keyword">template</span> <<span class="keyword">typename</span> L>
-<a name="l00065"></a><a class="code" href="structggl_1_1concept_1_1_const_linestring.html">00065</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a>
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="keyword">private</span> :
-<a name="l00068"></a>00068 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<L>::type</a> P;
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P></a>) );
-<a name="l00071"></a>00071 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<L>) );
+<a name="l00045"></a><a class="code" href="classggl_1_1concept_1_1_linestring.html#0d06cf99f7693b3e76f5dd43dcd16983">00045</a> <a class="code" href="classggl_1_1concept_1_1_linestring.html#0d06cf99f7693b3e76f5dd43dcd16983">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a>)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="comment">// Check if it can be modified</span>
+<a name="l00048"></a>00048 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> use_std = <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std</a>
+<a name="l00049"></a>00049 <
+<a name="l00050"></a>00050 <span class="keyword">typename</span> boost::remove_const<Geometry>::type
+<a name="l00051"></a>00051 >::value;
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 Geometry* ls;
+<a name="l00054"></a>00054 <a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear.html">detail::check_clear<Geometry, use_std>::apply</a>(*ls);
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>* p;
+<a name="l00057"></a>00057 <a class="code" href="structggl_1_1concept_1_1detail_1_1check__append.html">detail::check_append<Geometry, point_type, use_std>::apply</a>(*ls, *p);
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 };
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00068"></a>00068 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00069"></a><a class="code" href="classggl_1_1concept_1_1_const_linestring.html">00069</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a>
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
<a name="l00072"></a>00072
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 <span class="keyword">public</span> :
-<a name="l00076"></a><a class="code" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">00076</a> <a class="code" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449" title="BCCL macro to check the ConstLinestring concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a>)
-<a name="l00077"></a>00077 {
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079 };
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 }} <span class="comment">// namespace ggl::concept</span>
-<a name="l00082"></a>00082
+<a name="l00073"></a>00073 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<point_type></a>) );
+<a name="l00074"></a>00074 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<Geometry>) );
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">public</span> :
+<a name="l00078"></a>00078
+<a name="l00079"></a><a class="code" href="classggl_1_1concept_1_1_const_linestring.html#6c05e3014fa9ec14c9ac8401bbc677ec">00079</a> <a class="code" href="classggl_1_1concept_1_1_const_linestring.html#6c05e3014fa9ec14c9ac8401bbc677ec">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a>)
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 };
<a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
+<a name="l00084"></a>00084 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_LINESTRING_CONCEPT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/make_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,86 +53,100 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="keyword">namespace </span>ggl
-<a name="l00015"></a>00015 {
-<a name="l00016"></a>00016
-<a name="l00027"></a>00027 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00028"></a><a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">00028</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2)
-<a name="l00029"></a>00029 {
-<a name="l00030"></a>00030 G geometry;
-<a name="l00031"></a>00031 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00032"></a>00032 <
-<a name="l00033"></a>00033 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00034"></a>00034 G,
-<a name="l00035"></a>00035 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
-<a name="l00036"></a>00036 >::apply(geometry, c1, c2);
-<a name="l00037"></a>00037 <span class="keywordflow">return</span> geometry;
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039
-<a name="l00045"></a>00045 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00046"></a><a class="code" href="group__access.html#g76b1eb0628944050f3f75472df289a1f">00046</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3)
-<a name="l00047"></a>00047 {
-<a name="l00048"></a>00048 G geometry;
-<a name="l00049"></a>00049 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00050"></a>00050 <
-<a name="l00051"></a>00051 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00052"></a>00052 G,
-<a name="l00053"></a>00053 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
-<a name="l00054"></a>00054 >::apply(geometry, c1, c2, c3);
-<a name="l00055"></a>00055 <span class="keywordflow">return</span> geometry;
-<a name="l00056"></a>00056 }
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00059"></a><a class="code" href="namespaceggl.html#ad2f7f3eab9b088dbfce7f3e47dcbe77">00059</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3, T <span class="keyword">const</span>& c4)
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 G geometry;
-<a name="l00062"></a>00062 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00063"></a>00063 <
-<a name="l00064"></a>00064 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00065"></a>00065 G,
-<a name="l00066"></a>00066 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
-<a name="l00067"></a>00067 >::apply(geometry, c1, c2, c3, c4);
-<a name="l00068"></a>00068 <span class="keywordflow">return</span> geometry;
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> R>
-<a name="l00074"></a><a class="code" href="namespaceggl.html#9750fc3edbf82cd85b5fb76be78db0ee">00074</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(R <span class="keyword">const</span>& range)
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 G geometry;
-<a name="l00077"></a>00077 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(geometry, range);
-<a name="l00078"></a>00078 <span class="keywordflow">return</span> geometry;
-<a name="l00079"></a>00079 }
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00029"></a>00029 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
+<a name="l00030"></a><a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">00030</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2)
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 concept::check<G>();
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 G geometry;
+<a name="l00035"></a>00035 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00036"></a>00036 <
+<a name="l00037"></a>00037 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
+<a name="l00038"></a>00038 G,
+<a name="l00039"></a>00039 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
+<a name="l00040"></a>00040 >::apply(geometry, c1, c2);
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> geometry;
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043
+<a name="l00049"></a>00049 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
+<a name="l00050"></a><a class="code" href="group__access.html#g76b1eb0628944050f3f75472df289a1f">00050</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3)
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 concept::check<G>();
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 G geometry;
+<a name="l00055"></a>00055 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00056"></a>00056 <
+<a name="l00057"></a>00057 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
+<a name="l00058"></a>00058 G,
+<a name="l00059"></a>00059 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
+<a name="l00060"></a>00060 >::apply(geometry, c1, c2, c3);
+<a name="l00061"></a>00061 <span class="keywordflow">return</span> geometry;
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
+<a name="l00065"></a><a class="code" href="namespaceggl.html#ad2f7f3eab9b088dbfce7f3e47dcbe77">00065</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(T <span class="keyword">const</span>& c1, T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3, T <span class="keyword">const</span>& c4)
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 concept::check<G>();
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 G geometry;
+<a name="l00070"></a>00070 <a class="code" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8" title="assign two values to a 2D point">dispatch::assign</a>
+<a name="l00071"></a>00071 <
+<a name="l00072"></a>00072 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
+<a name="l00073"></a>00073 G,
+<a name="l00074"></a>00074 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">ggl::dimension<G>::type::value</a>
+<a name="l00075"></a>00075 >::apply(geometry, c1, c2, c3, c4);
+<a name="l00076"></a>00076 <span class="keywordflow">return</span> geometry;
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
<a name="l00080"></a>00080
-<a name="l00081"></a>00081
-<a name="l00090"></a>00090 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00091"></a><a class="code" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">00091</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911" title="Create a box with inverse infinite coordinates.">make_inverse</a>()
-<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093 G geometry;
-<a name="l00094"></a>00094 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">dispatch::assign_inverse</a>
-<a name="l00095"></a>00095 <
-<a name="l00096"></a>00096 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00097"></a>00097 G
-<a name="l00098"></a>00098 >::apply(geometry);
-<a name="l00099"></a>00099 <span class="keywordflow">return</span> geometry;
-<a name="l00100"></a>00100 }
-<a name="l00101"></a>00101
-<a name="l00109"></a>00109 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00110"></a><a class="code" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071">00110</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071" title="Create a geometry with &quot;zero&quot; coordinates.">make_zero</a>()
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112 G geometry;
-<a name="l00113"></a>00113 <a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">dispatch::assign_zero</a>
-<a name="l00114"></a>00114 <
-<a name="l00115"></a>00115 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00116"></a>00116 G
-<a name="l00117"></a>00117 >::apply(geometry);
-<a name="l00118"></a>00118 <span class="keywordflow">return</span> geometry;
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 } <span class="comment">// namespace ggl</span>
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="preprocessor">#endif // GGL_ALGORITHMS_MAKE_HPP</span>
+<a name="l00081"></a>00081 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> R>
+<a name="l00082"></a><a class="code" href="namespaceggl.html#9750fc3edbf82cd85b5fb76be78db0ee">00082</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa" title="Make a geometry.">make</a>(R <span class="keyword">const</span>& range)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 concept::check<G>();
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 G geometry;
+<a name="l00087"></a>00087 <a class="code" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(geometry, range);
+<a name="l00088"></a>00088 <span class="keywordflow">return</span> geometry;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091
+<a name="l00100"></a>00100 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
+<a name="l00101"></a><a class="code" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">00101</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911" title="Create a box with inverse infinite coordinates.">make_inverse</a>()
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 concept::check<G>();
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 G geometry;
+<a name="l00106"></a>00106 <a class="code" href="group__access.html#g490821bd25a63cc584be1319375794f0" title="assign to a box inverse infinite">dispatch::assign_inverse</a>
+<a name="l00107"></a>00107 <
+<a name="l00108"></a>00108 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
+<a name="l00109"></a>00109 G
+<a name="l00110"></a>00110 >::apply(geometry);
+<a name="l00111"></a>00111 <span class="keywordflow">return</span> geometry;
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113
+<a name="l00121"></a>00121 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
+<a name="l00122"></a><a class="code" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071">00122</a> <span class="keyword">inline</span> G <a class="code" href="group__access.html#gb6c00a38f2e98ba4d83a04da43368071" title="Create a geometry with &quot;zero&quot; coordinates.">make_zero</a>()
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 concept::check<G>();
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 G geometry;
+<a name="l00127"></a>00127 <a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">dispatch::assign_zero</a>
+<a name="l00128"></a>00128 <
+<a name="l00129"></a>00129 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
+<a name="l00130"></a>00130 G
+<a name="l00131"></a>00131 >::apply(geometry);
+<a name="l00132"></a>00132 <span class="keywordflow">return</span> geometry;
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134
+<a name="l00135"></a>00135 } <span class="comment">// namespace ggl</span>
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="preprocessor">#endif // GGL_ALGORITHMS_MAKE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -354,7 +354,7 @@
<a name="l00349"></a>00349 : detail::rad_rotate_transformer
<a name="l00350"></a>00350 <
<a name="l00351"></a>00351 P1, P2
-<a name="l00352"></a>00352 >(detail::as_radian<DegreeOrRadian>::<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">get</a>(angle))
+<a name="l00352"></a>00352 >(detail::as_radian<DegreeOrRadian>::<a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">get</a>(angle))
<a name="l00353"></a>00353 {}
<a name="l00354"></a>00354
<a name="l00355"></a>00355 };
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2centroid_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -59,68 +59,113 @@
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a> {
+<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a> {
<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="keyword">template</span><<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00023"></a>00023 <span class="keyword">struct </span>centroid_multi_polygon
-<a name="l00024"></a>00024 {
-<a name="l00025"></a>00025 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiPolygon <span class="keyword">const</span>& multi, Point& c, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00026"></a>00026 {
-<a name="l00027"></a>00027 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<MultiPolygon>::type iterator;
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">typename</span> Strategy::state_type state;
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="keywordflow">for</span> (iterator it = boost::begin(multi); it != boost::end(multi); ++it)
-<a name="l00032"></a>00032 {
-<a name="l00033"></a>00033 <span class="comment">// TODO: make THIS the building block!</span>
-<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<MultiPolygon>::type polygon_type;
-<a name="l00035"></a>00035 polygon_type <span class="keyword">const</span>& poly = *it;
-<a name="l00036"></a>00036 <span class="keywordflow">if</span> (ring_ok(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), c))
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), strategy, state);
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00042"></a>00042 <
-<a name="l00043"></a>00043 <span class="keyword">typename</span> interior_type<polygon_type>::type
-<a name="l00044"></a>00044 >::type iterator_type;
+<a name="l00022"></a>00022 <span class="keyword">template</span>
+<a name="l00023"></a>00023 <
+<a name="l00024"></a>00024 <span class="keyword">typename</span> Multi,
+<a name="l00025"></a>00025 <span class="keyword">typename</span> Point,
+<a name="l00026"></a>00026 <span class="keyword">typename</span> Strategy
+<a name="l00027"></a>00027 >
+<a name="l00028"></a>00028 <span class="keyword">struct </span>centroid_multi_point
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Multi <span class="keyword">const</span>& multi, Point& <a class="code" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2" title="Calculate centroid using a specified strategy.">centroid</a>,
+<a name="l00031"></a>00031 Strategy <span class="keyword">const</span>& strategy, <span class="keyword">typename</span> Strategy::state_type& state)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <a class="code" href="group__access.html#g3b95c5faaa108785681e58099b48dc35" title="assign zero values to a box, point">assign_zero</a>(centroid);
+<a name="l00034"></a>00034 <span class="keywordtype">int</span> n = 0;
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<Multi>::type
+<a name="l00037"></a>00037 it = boost::begin(multi);
+<a name="l00038"></a>00038 it != boost::end(multi);
+<a name="l00039"></a>00039 ++it)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(centroid, *it);
+<a name="l00042"></a>00042 n++;
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044 <a class="code" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8" title="Divides each coordinate of a point by a value.">divide_value</a>(centroid, n);
<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00047"></a>00047 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00048"></a>00048 ++it)
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">loop</a>(*it, strategy, state);
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 }
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054 state.centroid(c);
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056 };
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 }} <span class="comment">// namespace detail::centroid</span>
-<a name="l00061"></a>00061 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span>
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00067"></a>00067 {
-<a name="l00068"></a>00068 <span class="keyword">template</span> <<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
-<a name="l00069"></a>00069 <span class="keyword">struct </span><a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a><multi_polygon_tag, MultiPolygon, Point, Strategy>
-<a name="l00070"></a>00070 : detail::<a class="code" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">centroid</a>::centroid_multi_polygon<MultiPolygon, Point, Strategy>
-<a name="l00071"></a>00071 {};
-<a name="l00072"></a>00072
+<a name="l00046"></a>00046 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00047"></a>00047 }
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">template</span>
+<a name="l00052"></a>00052 <
+<a name="l00053"></a>00053 <span class="keyword">typename</span> Multi,
+<a name="l00054"></a>00054 <span class="keyword">typename</span> Point,
+<a name="l00055"></a>00055 <span class="keyword">typename</span> Strategy,
+<a name="l00056"></a>00056 <span class="keyword">typename</span> Policy
+<a name="l00057"></a>00057 >
+<a name="l00058"></a>00058 <span class="keyword">struct </span>centroid_multi
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Multi <span class="keyword">const</span>& multi, Point& centroid,
+<a name="l00061"></a>00061 Strategy <span class="keyword">const</span>& strategy, <span class="keyword">typename</span> Strategy::state_type& state)
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<Multi>::type
+<a name="l00064"></a>00064 it = boost::begin(multi);
+<a name="l00065"></a>00065 it != boost::end(multi);
+<a name="l00066"></a>00066 ++it)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 Policy::apply(*it, centroid, strategy, state);
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 };
<a name="l00073"></a>00073
-<a name="l00074"></a>00074 } <span class="comment">// namespace dispatch</span>
-<a name="l00075"></a>00075 <span class="preprocessor">#endif</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span>
-<a name="l00077"></a>00077
-<a name="l00078"></a>00078 } <span class="comment">// namespace ggl</span>
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 }} <span class="comment">// namespace detail::centroid</span>
+<a name="l00077"></a>00077 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00078"></a>00078 <span class="preprocessor"></span>
<a name="l00079"></a>00079
<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CENTROID_HPP</span>
+<a name="l00081"></a>00081 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span> <<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00086"></a>00086 <span class="keyword">struct </span>centroid<multi_polygon_tag, 2, MultiPolygon, Point, Strategy>
+<a name="l00087"></a>00087 : detail::centroid::centroid_multi
+<a name="l00088"></a>00088 <
+<a name="l00089"></a>00089 MultiPolygon,
+<a name="l00090"></a>00090 Point,
+<a name="l00091"></a>00091 Strategy,
+<a name="l00092"></a>00092 detail::centroid::centroid_polygon
+<a name="l00093"></a>00093 <
+<a name="l00094"></a>00094 typename boost::range_value<MultiPolygon>::type,
+<a name="l00095"></a>00095 Point,
+<a name="l00096"></a>00096 Strategy
+<a name="l00097"></a>00097 >
+<a name="l00098"></a>00098 >
+<a name="l00099"></a>00099 {};
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 <span class="keyword">template</span>
+<a name="l00103"></a>00103 <
+<a name="l00104"></a>00104 std::size_t Dimensions,
+<a name="l00105"></a>00105 <span class="keyword">typename</span> MultiPoint,
+<a name="l00106"></a>00106 <span class="keyword">typename</span> Point,
+<a name="l00107"></a>00107 <span class="keyword">typename</span> Strategy
+<a name="l00108"></a>00108 >
+<a name="l00109"></a>00109 <span class="keyword">struct </span>centroid<multi_point_tag, Dimensions, MultiPoint, Point, Strategy>
+<a name="l00110"></a>00110 : detail::centroid::centroid_multi_point
+<a name="l00111"></a>00111 <
+<a name="l00112"></a>00112 MultiPoint,
+<a name="l00113"></a>00113 Point,
+<a name="l00114"></a>00114 Strategy
+<a name="l00115"></a>00115 >
+<a name="l00116"></a>00116 {};
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 } <span class="comment">// namespace dispatch</span>
+<a name="l00120"></a>00120 <span class="preprocessor">#endif</span>
+<a name="l00121"></a>00121 <span class="preprocessor"></span>
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 } <span class="comment">// namespace ggl</span>
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CENTROID_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -65,7 +65,7 @@
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a> {
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a> {
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="keyword">template</span> <<span class="keyword">typename</span> MultiPolygon>
<a name="l00029"></a>00029 <span class="keyword">struct </span>correct_multi_polygon
@@ -91,8 +91,8 @@
<a name="l00049"></a>00049 {
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00052"></a>00052 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a><multi_polygon_tag, Geometry>
-<a name="l00053"></a>00053 : detail::<a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>::correct_multi_polygon<Geometry>
+<a name="l00052"></a>00052 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a><multi_polygon_tag, Geometry>
+<a name="l00053"></a>00053 : detail::<a class="code" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a>::correct_multi_polygon<Geometry>
<a name="l00054"></a>00054 {};
<a name="l00055"></a>00055
<a name="l00056"></a>00056
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2envelope_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -48,8 +48,8 @@
<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_ENVELOPE_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ENVELOPE_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_ENVELOPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_ENVELOPE_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <vector></span>
<a name="l00013"></a>00013
@@ -64,80 +64,82 @@
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a> {
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a> {
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="keyword">template</span><<span class="keyword">typename</span> MultiLine<span class="keywordtype">string</span>, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
<a name="l00029"></a>00029 <span class="keyword">struct </span>envelope_multi_linestring
<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiLinestring <span class="keyword">const</span>& mp, Box& mbr, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00032"></a>00032 {
-<a name="l00033"></a>00033 <span class="keyword">typename</span> Strategy::state_type state(mbr);
-<a name="l00034"></a>00034 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<MultiLinestring>::type
-<a name="l00035"></a>00035 it = mp.begin();
-<a name="l00036"></a>00036 it != mp.end();
-<a name="l00037"></a>00037 ++it)
-<a name="l00038"></a>00038 {
-<a name="l00039"></a>00039 envelope_range_state(*it, strategy, state);
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041 }
-<a name="l00042"></a>00042 };
-<a name="l00043"></a>00043
+<a name="l00031"></a>00031 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiLinestring <span class="keyword">const</span>& mp, Box& mbr,
+<a name="l00032"></a>00032 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typename</span> Strategy::state_type state(mbr);
+<a name="l00035"></a>00035 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<MultiLinestring>::type
+<a name="l00036"></a>00036 it = mp.begin();
+<a name="l00037"></a>00037 it != mp.end();
+<a name="l00038"></a>00038 ++it)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 envelope_range_state(*it, strategy, state);
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 }
+<a name="l00043"></a>00043 };
<a name="l00044"></a>00044
-<a name="l00045"></a>00045 <span class="comment">// version for multi_polygon: outer linear_ring's of all polygons</span>
-<a name="l00046"></a>00046 <span class="keyword">template</span><<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
-<a name="l00047"></a>00047 <span class="keyword">struct </span>envelope_multi_polygon
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiPolygon <span class="keyword">const</span>& mp, Box& mbr, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 <span class="keyword">typename</span> Strategy::state_type state(mbr);
-<a name="l00052"></a>00052 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<MultiPolygon>::type
-<a name="l00053"></a>00053 it = mp.begin();
-<a name="l00054"></a>00054 it != mp.end();
-<a name="l00055"></a>00055 ++it)
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 envelope_range_state(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*it), strategy, state);
-<a name="l00058"></a>00058 }
-<a name="l00059"></a>00059 }
-<a name="l00060"></a>00060 };
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 }} <span class="comment">// namespace detail::envelope</span>
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="comment">// version for multi_polygon: outer linear_ring's of all polygons</span>
+<a name="l00047"></a>00047 <span class="keyword">template</span><<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00048"></a>00048 <span class="keyword">struct </span>envelope_multi_polygon
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiPolygon <span class="keyword">const</span>& mp, Box& mbr,
+<a name="l00051"></a>00051 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">typename</span> Strategy::state_type state(mbr);
+<a name="l00054"></a>00054 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<MultiPolygon>::type
+<a name="l00055"></a>00055 it = mp.begin();
+<a name="l00056"></a>00056 it != mp.end();
+<a name="l00057"></a>00057 ++it)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 envelope_range_state(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*it), strategy, state);
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 }
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span>
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00070"></a>00070 {
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <span class="keyword">template</span> <<span class="keyword">typename</span> M, <span class="keyword">typename</span> B, <span class="keyword">typename</span> S>
-<a name="l00073"></a>00073 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><multi_point_tag, box_tag, M, B, S>
-<a name="l00074"></a>00074 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_range<M, B, S>
-<a name="l00075"></a>00075 {};
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keyword">template</span> <<span class="keyword">typename</span> M, <span class="keyword">typename</span> B, <span class="keyword">typename</span> S>
-<a name="l00078"></a>00078 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><multi_linestring_tag, box_tag, M, B, S>
-<a name="l00079"></a>00079 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_multi_linestring<M, B, S>
-<a name="l00080"></a>00080 {};
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> M, <span class="keyword">typename</span> B, <span class="keyword">typename</span> S>
-<a name="l00084"></a>00084 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><multi_polygon_tag, box_tag, M, B, S>
-<a name="l00085"></a>00085 : detail::<a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_multi_polygon<M, B, S>
-<a name="l00086"></a>00086 {};
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 } <span class="comment">// namespace dispatch</span>
-<a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
-<a name="l00091"></a>00091 <span class="preprocessor"></span>
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093
+<a name="l00065"></a>00065 }} <span class="comment">// namespace detail::envelope</span>
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">template</span> <<span class="keyword">typename</span> Multi, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00075"></a>00075 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><multi_point_tag, box_tag, Multi, Box, Strategy>
+<a name="l00076"></a>00076 : detail::<a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_range<Multi, Box, Strategy>
+<a name="l00077"></a>00077 {};
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">template</span> <<span class="keyword">typename</span> Multi, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00080"></a>00080 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><multi_linestring_tag, box_tag, Multi, Box, Strategy>
+<a name="l00081"></a>00081 : detail::<a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_multi_linestring<Multi, Box, Strategy>
+<a name="l00082"></a>00082 {};
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span> <<span class="keyword">typename</span> Multi, <span class="keyword">typename</span> Box, <span class="keyword">typename</span> Strategy>
+<a name="l00086"></a>00086 <span class="keyword">struct </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a><multi_polygon_tag, box_tag, Multi, Box, Strategy>
+<a name="l00087"></a>00087 : detail::<a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>::envelope_multi_polygon<Multi, Box, Strategy>
+<a name="l00088"></a>00088 {};
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 } <span class="comment">// namespace dispatch</span>
+<a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span>
<a name="l00094"></a>00094
-<a name="l00095"></a>00095 } <span class="comment">// namespace ggl</span>
+<a name="l00095"></a>00095
<a name="l00096"></a>00096
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="preprocessor">#endif // GGL_MULTI_ENVELOPE_HPP</span>
+<a name="l00097"></a>00097 } <span class="comment">// namespace ggl</span>
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_ENVELOPE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2perimeter_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -67,16 +67,16 @@
<a name="l00025"></a>00025 <span class="keyword">struct </span><a class="code" href="group__perimeter.html#g02588697f4c401400c3007d3ff091df9" title="Calculate perimeter of a geometry.">perimeter</a><multi_polygon_tag, MultiPolygon, Strategy>
<a name="l00026"></a>00026 : detail::multi_sum
<a name="l00027"></a>00027 <
-<a name="l00028"></a>00028 typename length_result<MultiPolygon>::type,
-<a name="l00029"></a>00029 MultiPolygon,
+<a name="l00028"></a>00028 typename length_result<MultiPolygon>::type,
+<a name="l00029"></a>00029 MultiPolygon,
<a name="l00030"></a>00030 Strategy,
<a name="l00031"></a>00031 perimeter
<a name="l00032"></a>00032 <
<a name="l00033"></a>00033 polygon_tag,
-<a name="l00034"></a>00034 typename boost::range_value<MultiPolygon>::type,
+<a name="l00034"></a>00034 typename boost::range_value<MultiPolygon>::type,
<a name="l00035"></a>00035 Strategy
<a name="l00036"></a>00036 >
-<a name="l00037"></a>00037 >
+<a name="l00037"></a>00037 >
<a name="l00038"></a>00038 {};
<a name="l00039"></a>00039
<a name="l00040"></a>00040 } <span class="comment">// namespace dispatch</span>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2within_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -51,99 +51,77 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_WITHIN_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_WITHIN_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <vector></span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl
-<a name="l00018"></a>00018 {
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a> {
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> I, <span class="keyword">typename</span> S>
-<a name="l00025"></a>00025 <span class="keyword">inline</span> <span class="keywordtype">bool</span> point_in_multi_polygon(<span class="keyword">const</span> P& p, <span class="keyword">const</span> I& m, <span class="keyword">const</span> S& strategy)
-<a name="l00026"></a>00026 {
-<a name="l00027"></a>00027 <span class="keywordflow">for</span> (<span class="keyword">typename</span> I::const_iterator i = m.begin(); i != m.end(); i++)
-<a name="l00028"></a>00028 {
-<a name="l00029"></a>00029 <span class="comment">// Point within a multi-polygon: true if within one of the polygons</span>
-<a name="l00030"></a>00030 <span class="keywordflow">if</span> (point_in_polygon(p, *i, strategy))
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00033"></a>00033 }
-<a name="l00034"></a>00034 }
-<a name="l00035"></a>00035 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">template</span><<span class="keyword">typename</span> I, <span class="keyword">typename</span> C>
-<a name="l00040"></a>00040 <span class="keyword">inline</span> <span class="keywordtype">bool</span> multi_polygon_in_circle(<span class="keyword">const</span> I& m, <span class="keyword">const</span> C& c)
-<a name="l00041"></a>00041 {
-<a name="l00042"></a>00042 <span class="keywordflow">for</span> (<span class="keyword">typename</span> I::const_iterator i = m.begin(); i != m.end(); i++)
-<a name="l00043"></a>00043 {
-<a name="l00044"></a>00044 <span class="keywordflow">if</span> (! polygon_in_circle(*i, c))
-<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048 }
-<a name="l00049"></a>00049 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 }} <span class="comment">// namespace detail::within</span>
-<a name="l00053"></a>00053 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span>
-<a name="l00055"></a>00055 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="comment">/*</span>
-<a name="l00060"></a>00060 <span class="comment">template <typename M, typename B></span>
-<a name="l00061"></a>00061 <span class="comment">struct within<multi_polygon_tag, box_tag, M, B></span>
-<a name="l00062"></a>00062 <span class="comment">{</span>
-<a name="l00063"></a>00063 <span class="comment"> static inline bool apply(const M& m, const B& b)</span>
-<a name="l00064"></a>00064 <span class="comment"> {</span>
-<a name="l00065"></a>00065 <span class="comment"> return detail::within::multi_polygon_in_box(m, b);</span>
-<a name="l00066"></a>00066 <span class="comment"> }</span>
-<a name="l00067"></a>00067 <span class="comment">};</span>
-<a name="l00068"></a>00068 <span class="comment">*/</span>
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> M, <span class="keyword">typename</span> C>
-<a name="l00071"></a>00071 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><multi_polygon_tag, nsphere_tag, M, C>
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> M& m, <span class="keyword">const</span> C& c)
-<a name="l00074"></a>00074 {
-<a name="l00075"></a>00075 <span class="keywordflow">return</span> detail::within::multi_polygon_in_circle(m, c);
-<a name="l00076"></a>00076 }
-<a name="l00077"></a>00077 };
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> M>
-<a name="l00080"></a>00080 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">within</a><point_tag, multi_polygon_tag, P, M>
-<a name="l00081"></a>00081 {
-<a name="l00082"></a>00082 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> P& p, <span class="keyword">const</span> M& m, <span class="keyword">const</span> S& strategy)
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <span class="keywordflow">return</span> detail::within::point_in_multi_polygon(p, m, strategy);
-<a name="l00086"></a>00086 }
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(<span class="keyword">const</span> P& p, <span class="keyword">const</span> M& m)
-<a name="l00089"></a>00089 {
-<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<M>::type PM;
-<a name="l00091"></a>00091 <span class="keyword">typename</span> strategy_within<
-<a name="l00092"></a>00092 <span class="keyword">typename</span> cs_tag<P>::type, <span class="keyword">typename</span> cs_tag<PM>::type, P, PM
-<a name="l00093"></a>00093 >::type strategy;
-<a name="l00094"></a>00094 <span class="keywordflow">return</span> apply(p, m, strategy);
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 };
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 } <span class="comment">// namespace dispatch</span>
-<a name="l00100"></a>00100 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00101"></a>00101 <span class="preprocessor"></span>
-<a name="l00102"></a>00102 } <span class="comment">// namespace ggl</span>
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_WITHIN_HPP</span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
+<a name="l00020"></a>00020 {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a> {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026 <span class="keyword">template</span>
+<a name="l00027"></a>00027 <
+<a name="l00028"></a>00028 <span class="keyword">typename</span> Geometry,
+<a name="l00029"></a>00029 <span class="keyword">typename</span> MultiGeometry,
+<a name="l00030"></a>00030 <span class="keyword">typename</span> Strategy,
+<a name="l00031"></a>00031 <span class="keyword">typename</span> Policy
+<a name="l00032"></a>00032 >
+<a name="l00033"></a>00033 <span class="keyword">struct </span>geometry_in_multi
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(Geometry <span class="keyword">const</span>& geometry,
+<a name="l00036"></a>00036 MultiGeometry <span class="keyword">const</span>& multi,
+<a name="l00037"></a>00037 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<MultiGeometry>::type it
+<a name="l00040"></a>00040 = boost::begin(multi);
+<a name="l00041"></a>00041 it != boost::end(multi);
+<a name="l00042"></a>00042 ++it)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="comment">// Geometry within a multi: true if within one of them</span>
+<a name="l00045"></a>00045 <span class="keywordflow">if</span> (Policy::apply(geometry, *it, strategy))
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 };
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 }} <span class="comment">// namespace detail::within</span>
+<a name="l00055"></a>00055 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span>
+<a name="l00057"></a>00057 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00059"></a>00059 {
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Strategy>
+<a name="l00062"></a>00062 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a><point_tag, multi_polygon_tag, Point, MultiPolygon, Strategy>
+<a name="l00063"></a>00063 : detail::<a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a>::geometry_in_multi
+<a name="l00064"></a>00064 <
+<a name="l00065"></a>00065 Point,
+<a name="l00066"></a>00066 MultiPolygon,
+<a name="l00067"></a>00067 Strategy,
+<a name="l00068"></a>00068 detail::within::point_in_polygon
+<a name="l00069"></a>00069 <
+<a name="l00070"></a>00070 Point,
+<a name="l00071"></a>00071 typename boost::range_value<MultiPolygon>::type,
+<a name="l00072"></a>00072 Strategy
+<a name="l00073"></a>00073 >
+<a name="l00074"></a>00074 >
+<a name="l00075"></a>00075 {};
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 } <span class="comment">// namespace dispatch</span>
+<a name="l00078"></a>00078 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span>
+<a name="l00080"></a>00080 } <span class="comment">// namespace ggl</span>
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_WITHIN_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__linestring_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,47 +54,50 @@
<a name="l00012"></a>00012 <span class="preprocessor">#include <memory></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include <vector></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="linestring__concept_8hpp.html">ggl/core/concepts/linestring_concept.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
-<a name="l00019"></a>00019 {
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="linestring__concept_8hpp.html">ggl/geometries/concepts/linestring_concept.hpp</a>></span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="comment">// Class: multi_line</span>
-<a name="l00022"></a>00022 <span class="comment">// Purpose: groups lines belonging to each other, e.g. a broken highway</span>
-<a name="l00023"></a>00023 <span class="keyword">template</span>
-<a name="l00024"></a>00024 <
-<a name="l00025"></a>00025 <span class="keyword">typename</span> L,
-<a name="l00026"></a>00026 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V = std::vector,
-<a name="l00027"></a>00027 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A = std::allocator
-<a name="l00028"></a>00028 >
-<a name="l00029"></a><a class="code" href="structggl_1_1multi__linestring.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__linestring.html">multi_linestring</a> : <span class="keyword">public</span> V<L, A<L> >
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031 <a class="code" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">concept::Linestring<L></a>) );
-<a name="l00032"></a>00032 };
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keyword">template</span>
-<a name="l00039"></a>00039 <
-<a name="l00040"></a>00040 <span class="keyword">typename</span> L,
-<a name="l00041"></a>00041 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
-<a name="l00042"></a>00042 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
-<a name="l00043"></a>00043 >
-<a name="l00044"></a>00044 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>< <a class="code" href="structggl_1_1multi__linestring.html">multi_linestring</a><L, V, A> >
-<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__linestring__tag.html" title="OGC Multi linestring identifying tag.">multi_linestring_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
-<a name="l00047"></a>00047 };
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 } <span class="comment">// namespace traits</span>
-<a name="l00050"></a>00050 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00051"></a>00051 <span class="preprocessor"></span>
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 } <span class="comment">// namespace ggl</span>
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="preprocessor">#endif // GGL_MULTI_LINESTRING_HPP</span>
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="comment">// Class: multi_line</span>
+<a name="l00025"></a>00025 <span class="comment">// Purpose: groups lines belonging to each other, e.g. a broken highway</span>
+<a name="l00026"></a>00026 <span class="keyword">template</span>
+<a name="l00027"></a>00027 <
+<a name="l00028"></a>00028 <span class="keyword">typename</span> L,
+<a name="l00029"></a>00029 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V = std::vector,
+<a name="l00030"></a>00030 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A = std::allocator
+<a name="l00031"></a>00031 >
+<a name="l00032"></a><a class="code" href="structggl_1_1multi__linestring.html">00032</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__linestring.html">multi_linestring</a> : <span class="keyword">public</span> V<L, A<L> >
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <a class="code" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">concept::Linestring<L></a>) );
+<a name="l00035"></a>00035 };
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">template</span>
+<a name="l00042"></a>00042 <
+<a name="l00043"></a>00043 <span class="keyword">typename</span> L,
+<a name="l00044"></a>00044 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
+<a name="l00045"></a>00045 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
+<a name="l00046"></a>00046 >
+<a name="l00047"></a>00047 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>< <a class="code" href="structggl_1_1multi__linestring.html">multi_linestring</a><L, V, A> >
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__linestring__tag.html" title="OGC Multi linestring identifying tag.">multi_linestring_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 } <span class="comment">// namespace traits</span>
+<a name="l00053"></a>00053 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 } <span class="comment">// namespace ggl</span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="preprocessor">#endif // GGL_MULTI_LINESTRING_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__point_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,46 +54,49 @@
<a name="l00012"></a>00012 <span class="preprocessor">#include <memory></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include <vector></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
-<a name="l00019"></a>00019 {
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="comment">// Class: multi_point</span>
-<a name="l00022"></a>00022 <span class="comment">// Purpose: groups points belonging to each other, e.g. a constellation</span>
-<a name="l00023"></a>00023 <span class="keyword">template</span>
-<a name="l00024"></a>00024 <
-<a name="l00025"></a>00025 <span class="keyword">typename</span> P,
-<a name="l00026"></a>00026 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V = std::vector,
-<a name="l00027"></a>00027 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A = std::allocator
-<a name="l00028"></a>00028 >
-<a name="l00029"></a><a class="code" href="structggl_1_1multi__point.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__point.html">multi_point</a> : <span class="keyword">public</span> V<P, A<P> >
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031 <a class="code" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<P></a>) );
-<a name="l00032"></a>00032 };
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keyword">template</span>
-<a name="l00039"></a>00039 <
-<a name="l00040"></a>00040 <span class="keyword">typename</span> P,
-<a name="l00041"></a>00041 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
-<a name="l00042"></a>00042 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
-<a name="l00043"></a>00043 >
-<a name="l00044"></a>00044 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>< <a class="code" href="structggl_1_1multi__point.html">multi_point</a><P, V, A> >
-<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__point__tag.html" title="OGC Multi point identifying tag.">multi_point_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
-<a name="l00047"></a>00047 };
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 } <span class="comment">// namespace traits</span>
-<a name="l00050"></a>00050 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00051"></a>00051 <span class="preprocessor"></span>
-<a name="l00052"></a>00052 } <span class="comment">// namespace ggl</span>
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_MULTI_POINT_HPP</span>
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="comment">// Class: multi_point</span>
+<a name="l00025"></a>00025 <span class="comment">// Purpose: groups points belonging to each other, e.g. a constellation</span>
+<a name="l00026"></a>00026 <span class="keyword">template</span>
+<a name="l00027"></a>00027 <
+<a name="l00028"></a>00028 <span class="keyword">typename</span> P,
+<a name="l00029"></a>00029 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V = std::vector,
+<a name="l00030"></a>00030 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A = std::allocator
+<a name="l00031"></a>00031 >
+<a name="l00032"></a><a class="code" href="structggl_1_1multi__point.html">00032</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__point.html">multi_point</a> : <span class="keyword">public</span> V<P, A<P> >
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <a class="code" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<P></a>) );
+<a name="l00035"></a>00035 };
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="keyword">template</span>
+<a name="l00042"></a>00042 <
+<a name="l00043"></a>00043 <span class="keyword">typename</span> P,
+<a name="l00044"></a>00044 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
+<a name="l00045"></a>00045 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
+<a name="l00046"></a>00046 >
+<a name="l00047"></a>00047 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>< <a class="code" href="structggl_1_1multi__point.html">multi_point</a><P, V, A> >
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__point__tag.html" title="OGC Multi point identifying tag.">multi_point_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 } <span class="comment">// namespace traits</span>
+<a name="l00053"></a>00053 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00055"></a>00055 } <span class="comment">// namespace ggl</span>
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_MULTI_POINT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi__polygon_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,47 +54,50 @@
<a name="l00012"></a>00012 <span class="preprocessor">#include <memory></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include <vector></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="polygon__concept_8hpp.html">ggl/core/concepts/polygon_concept.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
+<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
-<a name="l00020"></a>00020 {
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="multi_2core_2tags_8hpp.html">ggl/multi/core/tags.hpp</a>></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="polygon__concept_8hpp.html">ggl/geometries/concepts/polygon_concept.hpp</a>></span>
<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="comment">// Class: multi_polygon</span>
-<a name="l00023"></a>00023 <span class="comment">// Purpose: groups polygons belonging to each other, e.g. Hawaii</span>
-<a name="l00024"></a>00024 <span class="keyword">template</span>
-<a name="l00025"></a>00025 <
-<a name="l00026"></a>00026 <span class="keyword">typename</span> P,
-<a name="l00027"></a>00027 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V = std::vector,
-<a name="l00028"></a>00028 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A = std::allocator
-<a name="l00029"></a>00029 >
-<a name="l00030"></a><a class="code" href="structggl_1_1multi__polygon.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__polygon.html">multi_polygon</a> : <span class="keyword">public</span> V<P, A<P> >
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <a class="code" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">concept::Polygon<P></a>) );
-<a name="l00033"></a>00033 };
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">template</span>
-<a name="l00040"></a>00040 <
-<a name="l00041"></a>00041 <span class="keyword">typename</span> P,
-<a name="l00042"></a>00042 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
-<a name="l00043"></a>00043 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
-<a name="l00044"></a>00044 >
-<a name="l00045"></a>00045 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>< <a class="code" href="structggl_1_1multi__polygon.html">multi_polygon</a><P, V, A> >
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__polygon__tag.html" title="OGC Multi polygon identifying tag.">multi_polygon_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
-<a name="l00048"></a>00048 };
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 } <span class="comment">// namespace traits</span>
-<a name="l00051"></a>00051 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span>
-<a name="l00053"></a>00053 } <span class="comment">// namespace ggl</span>
-<a name="l00054"></a>00054
-<a name="l00055"></a>00055 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_MULTI_POLYGON_HPP</span>
+<a name="l00022"></a>00022 <span class="keyword">namespace </span>ggl
+<a name="l00023"></a>00023 {
+<a name="l00024"></a>00024
+<a name="l00025"></a>00025 <span class="comment">// Class: multi_polygon</span>
+<a name="l00026"></a>00026 <span class="comment">// Purpose: groups polygons belonging to each other, e.g. Hawaii</span>
+<a name="l00027"></a>00027 <span class="keyword">template</span>
+<a name="l00028"></a>00028 <
+<a name="l00029"></a>00029 <span class="keyword">typename</span> P,
+<a name="l00030"></a>00030 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V = std::vector,
+<a name="l00031"></a>00031 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A = std::allocator
+<a name="l00032"></a>00032 >
+<a name="l00033"></a><a class="code" href="structggl_1_1multi__polygon.html">00033</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1multi__polygon.html">multi_polygon</a> : <span class="keyword">public</span> V<P, A<P> >
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <a class="code" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a>( (<a class="code" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">concept::Polygon<P></a>) );
+<a name="l00036"></a>00036 };
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">template</span>
+<a name="l00043"></a>00043 <
+<a name="l00044"></a>00044 <span class="keyword">typename</span> P,
+<a name="l00045"></a>00045 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
+<a name="l00046"></a>00046 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
+<a name="l00047"></a>00047 >
+<a name="l00048"></a>00048 <span class="keyword">struct </span><a class="code" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>< <a class="code" href="structggl_1_1multi__polygon.html">multi_polygon</a><P, V, A> >
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1multi__polygon__tag.html" title="OGC Multi polygon identifying tag.">multi_polygon_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 } <span class="comment">// namespace traits</span>
+<a name="l00054"></a>00054 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span>
+<a name="l00056"></a>00056 } <span class="comment">// namespace ggl</span>
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="preprocessor">#endif // GGL_MULTI_GEOMETRIES_MULTI_POLYGON_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -167,12 +167,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__polygon__tag.html">multi_polygon_tag</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">OGC Multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html">nsphere</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1nsphere__tag.html">nsphere_tag</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point.html">point</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Basic <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> class, having coordinates defined in a neutral way. More...<br></td></tr>
@@ -197,8 +191,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1radian.html">radian</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unit of plan angles: radians. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1radius__type.html">radius_type</a></td></tr>
-
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1replace__point__type.html">replace_point_type</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1reverse__dispatch.html">reverse_dispatch</a></td></tr>
@@ -227,6 +219,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1segment__tag.html">segment_tag</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__calculation__type.html">select_calculation_type</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility selecting the "calculation" type. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility selecting the most precise coordinate type of two geometries. More...<br></td></tr>
@@ -301,8 +296,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1box.html">box</a>< <a class="el" href="classggl_1_1point.html">point_3d</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">box_3d</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1nsphere.html">nsphere</a>< <a class="el" href="classggl_1_1point__xy.html">point_2d</a>, double > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">circle</a></td></tr>
-
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1linestring.html">linestring</a>< <a class="el" href="classggl_1_1point__xy.html">point_2d</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#bd8e114c665e6cc6ea48e2e716eeedc2">linestring_2d</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1linestring.html">linestring</a>< <a class="el" href="classggl_1_1point.html">point_3d</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3d956a540f1e8dda3d3d7bf8ca1d9ccf">linestring_3d</a></td></tr>
@@ -323,8 +316,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1segment.html">segment</a>< <a class="el" href="classggl_1_1point__xy.html">point_2d</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">segment_2d</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1nsphere.html">nsphere</a>< <a class="el" href="classggl_1_1point.html">point_3d</a>, double > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">sphere</a></td></tr>
-
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> { <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a> = 1,
<a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a> = 2,
@@ -343,10 +334,10 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">add_value</a> (Point &p, typename detail::param< Point >::type value)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a value to each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename RoP > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">append</a> (G &geometry, const RoP &range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename RoP > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909">append</a> (Geometry &geometry, RoP const &range_or_point, int ring_index=-1, int multi_index=0)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Appends one or more points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear-ring, <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Strategy > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Strategy::return_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">area</a> (Geometry const &geometry, Strategy const &strategy)</td></tr>
@@ -377,54 +368,54 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">assert_dimension_less_equal</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">assert_dimension, enables compile-time checking if coordinate dimensions are as expected <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename R > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge87a43e061a27e450e01f00c228ed472">assign</a> (G &geometry, R const &range)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">assign</a> (G &geometry, T const &c1, T const &c2, T const &c3, T const &c4)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign center + radius to a sphere <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">assign</a> (G &geometry, T const &c1, T const &c2, T const &c3)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> or the center + radius to a circle <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ge58b5c7b493d0112202dc139af200c73">assign</a> (G &geometry, T const &c1, T const &c2)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename R > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gbc56bc60ddc721443ab1e0460dd40bda">assign</a> (Geometry &geometry, R const &range)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign two values to a 2D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B , typename P > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">assign_box_corners</a> (B const &<a class="el" href="classggl_1_1box.html">box</a>, P &lower_left, P &lower_right, P &upper_left, P &upper_right)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign a range of points to a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g0e5cdc21c975ed9e04db5a2ad7175895">assign</a> (Geometry &geometry, T const &c1, T const &c2, T const &c3, T const &c4)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign center + radius to a sphere [for extension] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#ga5796281b722f07af188cc8714003751">assign</a> (Geometry &geometry, T const &c1, T const &c2, T const &c3)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign three values to a 3D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> [or the center + radius to a circle] <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename T > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g97f76fc38f2c63c5da2136247a31cdb8">assign</a> (Geometry &geometry, T const &c1, T const &c2)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign two values to a 2D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Box , typename Point > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed">assign_box_corners</a> (Box const &<a class="el" href="classggl_1_1box.html">box</a>, Point &lower_left, Point &lower_right, Point &upper_left, Point &upper_right)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign the 4 points of a 2D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">assign_inverse</a> (G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign the 4 points of a 2D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g490821bd25a63cc584be1319375794f0">assign_inverse</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> inverse infinite <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> inverse infinite <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t Corner, typename Box , typename Point > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156">assign_point_to_box</a> (Point const &<a class="el" href="classggl_1_1point.html">point</a>, Box &<a class="el" href="classggl_1_1box.html">box</a>)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> with the value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">assign_zero</a> (G &geometry)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">assign_zero</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">assign zero values to a <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Input , typename Output , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">buffer</a> (const Input &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215">buffer</a> (Input const &geometry_in, Output &geometry_out, T const &distance, T const &chord_length=-1)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gda8ccb0bcdd94cebe5b66374259c1fe2">centroid</a> (const G &geometry, P &c, S const &strategy)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gc7e9651663cd19868cae40c20c72afdc">centroid</a> (Geometry const &geometry, Point &c)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">centroid</a> (const G &geometry, P &c)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">centroid</a> (Geometry const &geometry, Point &c, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">clear</a> (G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate centroid using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">clear</a> (Geometry &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a>, linear ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (exterior+interiors) or multi*. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">close_to_zero</a> (T const &value)</td></tr>
@@ -453,8 +444,8 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">copy_segments</a> (Geometry const &geometry, SegmentIdentifier const &seg_id, int to_index, RangeOut &range_out)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traverses through intersection points / geometries. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a> (G &geometry)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">correct</a> (Geometry &geometry)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1">disjoint</a> (const Geometry1 &geometry1, const Geometry2 &geometry2)</td></tr>
@@ -478,9 +469,10 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Divides each coordinate of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> by a value. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename P1 , typename P2 > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>< P1 >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">dot_product</a> (P1 const &p1, P2 const &p2)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>< P1, P2 ><br class="typebreak">
+::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">dot_product</a> (P1 const &p1, P2 const &p2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the dot product of 2 points. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Computes the dot product of 2 points. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1dsv__manipulator.html">dsv_manipulator</a>< Geometry > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">dsv</a> (Geometry const &geometry, std::string const &coordinate_separator=", ", std::string const &point_open="(", std::string const &point_close=")", std::string const &point_separator=", ", std::string const &list_open="(", std::string const &list_close=")", std::string const &list_separator=", ")</td></tr>
@@ -489,14 +481,14 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">enrich_intersection_points</a> (IntersectionPoints &intersection_points, bool trivial)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">All intersection points are enriched with successor information. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename B > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g89671917cfb1753f65d4bcc2fc334bf9">envelope</a> (G const &geometry, B &mbr)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Box > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gd12dc40a65c8b7d39e77d6f802d1cb67">envelope</a> (Geometry const &geometry, Box &mbr)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename B , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">envelope</a> (G const &geometry, B &mbr, S const &strategy)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Box , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8">envelope</a> (Geometry const &geometry, Box &mbr, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate envelope of a geometry, using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">equals</a> (Geometry1 const &geometry1, Geometry2 const &geometry2)</td></tr>
@@ -535,7 +527,7 @@
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t D, typename G > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>< G >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f">get</a> (const G &geometry, detail::signature_getset_dimension *dummy=0)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> / <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">get a coordinate value of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t D, typename G > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>< G >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">get_as_radian</a> (const G &geometry)</td></tr>
@@ -548,10 +540,6 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">get_intersection_points</a> (Geometry1 const &geometry1, Geometry2 const &geometry2, IntersectionPoints &intersection_points)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate intersection points of two geometries. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t I, typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1radius__type.html">radius_type</a>< G >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">get_radius</a> (const G &geometry)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to get radius. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Section > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a">get_section</a> (Geometry const &geometry, Section const &<a class="el" href="structggl_1_1section.html">section</a>, typename <a class="el" href="structggl_1_1vertex__iterator.html">vertex_iterator</a>< Geometry, true >::type &begin, typename <a class="el" href="structggl_1_1vertex__iterator.html">vertex_iterator</a>< Geometry, true >::type &end)</td></tr>
@@ -564,10 +552,10 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1interior__type.html">interior_type</a>< P >::type & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">interior_rings</a> (P &<a class="el" href="classggl_1_1polygon.html">polygon</a>)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to get the interior rings of a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> (non const version). <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename Iterator > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">intermediate</a> (const G &geometry, bool start_and_end, Iterator out)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Iterator > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3">intermediate</a> (Geometry const &geometry, bool start_and_end, Iterator out)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate intermediate of a geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename GeometryOut , typename Geometry1 , typename Geometry2 , typename OutputIterator > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">intersection</a> (Geometry1 const &geometry1, Geometry2 const &geometry2, OutputIterator out)</td></tr>
@@ -603,29 +591,29 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Make a geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Output , typename Input , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">make_buffer</a> (const Input &geometry, T const &distance, T const &chord_length=-1)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Output </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__buffer.html#g52451d11ee1f91fdbfbee86ae2dee993">make_buffer</a> (Input const &geometry, T const &distance, T const &chord_length=-1)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename P , typename G , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#g8c284d8ca53c0ace8827431178438852">make_centroid</a> (const G &geometry, S const &strategy)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return buffer (= new geometry) around specified distance of geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Point , typename Geometry , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gb077a07483ee2fdd17d66e63b237aaa6">make_centroid</a> (Geometry const &geometry, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename P , typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">P </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">make_centroid</a> (const G &geometry)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Point , typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Point </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">make_centroid</a> (Geometry const &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return centroid. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename R , typename T > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">R </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">make_distance_result</a> (T const &value)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Object generator to create instance which can be compared. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B , typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g938cf2804a87e138cbf4b5b65314a3e4">make_envelope</a> (G const &geometry)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Box , typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#gb8343582b49458d16bca165b493f678d">make_envelope</a> (Geometry const &geometry)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B , typename G , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">B </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">make_envelope</a> (G const &geometry, S const &strategy)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Box , typename Geometry , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Box </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__envelope.html#g41b5f1545e745767f7afa6b1b889d279">make_envelope</a> (Geometry const &geometry, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate and return envelope of a geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename G > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">G </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">make_inverse</a> ()</td></tr>
@@ -665,10 +653,10 @@
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Base , typename Point > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">operator==</a> (<a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>< Base, Point > const &lhs, <a class="el" href="structggl_1_1segment__iterator.html">segment_iterator</a>< Base, Point > const &rhs)</td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">overlaps</a> (const B &b1, const B &b2)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g6b41a75ce56023fe9def2613d0a4603f">overlaps</a> (Geometry1 const &b1, Geometry2 const &b2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Determines overlap between two geometries. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Determines overlap between two geometries. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Strategy > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="structggl_1_1length__result.html">length_result</a>< Geometry >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__perimeter.html#g78c3f8a2c3eed80533521425079cdf55">perimeter</a> (Geometry const &geometry, Strategy const &strategy)</td></tr>
@@ -681,10 +669,10 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">sectionalize</a> (Geometry const &geometry, Sections &<a class="el" href="structggl_1_1sections.html">sections</a>)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Split a geometry into monotonic <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">selected</a> (G const &geometry, P const &selection_point, T const &search_radius)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point , typename RadiusType > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9">selected</a> (Geometry const &geometry, Point const &selection_point, RadiusType const &search_radius)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t I, std::size_t D, typename G > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">set</a> (G &geometry, const typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>< G >::type &value, detail::signature_getset_index_dimension *dummy=0)</td></tr>
@@ -697,10 +685,6 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">set_from_radian</a> (G &geometry, const typename <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>< G >::type &radians)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">assign coordinate value (which is in <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>) to a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t I, typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">set_radius</a> (G &geometry, const typename <a class="el" href="structggl_1_1radius__type.html">radius_type</a>< G >::type &radius)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to set the radius of a circle / sphere / (ellipse). <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g953e1055914400f9ad3191adc5b42270">simplify</a> (Geometry const &geometry, Geometry &out, double max_distance)</td></tr>
@@ -741,14 +725,14 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">traverse</a> (Geometry1 const &geometry1, Geometry2 const &geometry2, int direction, IntersectionPoints &intersection_points, bool trivial, OutputIterator out)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traverses through intersection points / geometries. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G1 , typename G2 , typename S > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g3051574eadb5ef8ae92ef210665a7332">within</a> (G1 const &geometry1, G2 const &geometry2, S const &strategy)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 , typename Strategy > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g052af0474ab2dafcb875ce64a9361611">within</a> (Geometry1 const &geometry1, Geometry2 const &geometry2, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G1 , typename G2 > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">within</a> (G1 const &geometry1, G2 const &geometry2)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check using a <a class="el" href="namespaceggl_1_1strategy.html">strategy</a>. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d">within</a> (Geometry1 const &geometry1, Geometry2 const &geometry2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within check. <br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0df0bc9b23e7d20e4596c25071039f0a">max_corner</a> = 1</td></tr>
@@ -859,23 +843,6 @@
</div>
</div><p>
-<a class="anchor" name="311770c599e6440d3890b7ff4c651af6"></a><!-- doxytag: member="ggl::circle" ref="311770c599e6440d3890b7ff4c651af6" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="classggl_1_1nsphere.html">nsphere</a><<a class="el" href="classggl_1_1point__xy.html">point_2d</a>, double> <a class="el" href="classggl_1_1nsphere.html">ggl::circle</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="cartesian2d_8hpp_source.html#l00025">25</a> of file <a class="el" href="cartesian2d_8hpp_source.html">cartesian2d.hpp</a>.</p>
-
-</div>
-</div><p>
<a class="anchor" name="e7ead8472c5368638be291071e4e2a38"></a><!-- doxytag: member="ggl::point_3d" ref="e7ead8472c5368638be291071e4e2a38" args="" -->
<div class="memitem">
<div class="memproto">
@@ -961,23 +928,6 @@
</div>
</div><p>
-<a class="anchor" name="86293a2a12226b524f011818d22fbcaa"></a><!-- doxytag: member="ggl::sphere" ref="86293a2a12226b524f011818d22fbcaa" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef <a class="el" href="classggl_1_1nsphere.html">nsphere</a><<a class="el" href="classggl_1_1point.html">point_3d</a>, double> <a class="el" href="classggl_1_1nsphere.html">ggl::sphere</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="cartesian3d_8hpp_source.html#l00024">24</a> of file <a class="el" href="cartesian3d_8hpp_source.html">cartesian3d.hpp</a>.</p>
-
-</div>
-</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="9a0f9a02ea40ca3ceab32afc4b08bf4d"></a><!-- doxytag: member="ggl::order_selector" ref="9a0f9a02ea40ca3ceab32afc4b08bf4d" args="" -->
<div class="memitem">
@@ -1030,40 +980,40 @@
</div>
</div><p>
-<a class="anchor" name="a658e33964ece2cc6e48c622595ad271"></a><!-- doxytag: member="ggl::assign_box_corners" ref="a658e33964ece2cc6e48c622595ad271" args="(B const &box, P &lower_left, P &lower_right, P &upper_left, P &upper_right)" -->
+<a class="anchor" name="9ddc8c5f7803a48d3ce186f89072c9ed"></a><!-- doxytag: member="ggl::assign_box_corners" ref="9ddc8c5f7803a48d3ce186f89072c9ed" args="(Box const &box, Point &lower_left, Point &lower_right, Point &upper_left, Point &upper_right)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename B , typename P > </div>
+template<typename Box , typename Point > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::assign_box_corners </td>
<td>(</td>
- <td class="paramtype">B const & </td>
+ <td class="paramtype">Box const & </td>
<td class="paramname"> <em>box</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">P & </td>
+ <td class="paramtype">Point & </td>
<td class="paramname"> <em>lower_left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">P & </td>
+ <td class="paramtype">Point & </td>
<td class="paramname"> <em>lower_right</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">P & </td>
+ <td class="paramtype">Point & </td>
<td class="paramname"> <em>upper_left</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">P & </td>
+ <td class="paramtype">Point & </td>
<td class="paramname"> <em>upper_right</em></td><td> </td>
</tr>
<tr>
@@ -1080,7 +1030,7 @@
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The order can be crucial. Most logical is LOWER, UPPER and sub-order LEFT, RIGHT </dd></dl>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00473">473</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00431">431</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
@@ -1120,20 +1070,20 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00489">489</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
+<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00452">452</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="de63f8bac74d1e2a56c2d2712eceb8af"></a><!-- doxytag: member="ggl::correct" ref="de63f8bac74d1e2a56c2d2712eceb8af" args="(G &geometry)" -->
+<a class="anchor" name="f5be8c0fed6b4db5244f20aaf6e97763"></a><!-- doxytag: member="ggl::correct" ref="f5be8c0fed6b4db5244f20aaf6e97763" args="(Geometry &geometry)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G > </div>
+template<typename Geometry > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::correct </td>
<td>(</td>
- <td class="paramtype">G & </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>geometry</em> </td>
<td> ) </td>
<td></td>
@@ -1145,7 +1095,7 @@
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="03__polygon__example_8cpp-example.html#a2">03_polygon_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2correct_8hpp_source.html#l00182">182</a> of file <a class="el" href="algorithms_2correct_8hpp_source.html">correct.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2correct_8hpp_source.html#l00183">183</a> of file <a class="el" href="algorithms_2correct_8hpp_source.html">correct.hpp</a>.</p>
</div>
</div><p>
@@ -1190,7 +1140,7 @@
<p>
-<p>Definition at line <a class="el" href="make_8hpp_source.html#l00059">59</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00065">65</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
</div>
</div><p>
@@ -1214,7 +1164,7 @@
<p>
-<p>Definition at line <a class="el" href="make_8hpp_source.html#l00074">74</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
+<p>Definition at line <a class="el" href="make_8hpp_source.html#l00082">82</a> of file <a class="el" href="make_8hpp_source.html">make.hpp</a>.</p>
</div>
</div><p>
@@ -1499,7 +1449,7 @@
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="01__point__example_8cpp-example.html#a3">01_point_example.cpp</a>, <a class="el" href="02__linestring__example_8cpp-example.html#a5">02_linestring_example.cpp</a>, <a class="el" href="03__polygon__example_8cpp-example.html#a3">03_polygon_example.cpp</a>, <a class="el" href="06__transformation__example_8cpp-example.html#a3">06_transformation_example.cpp</a>, <a class="el" href="c01__custom__point__example_8cpp-example.html#a4">c01_custom_point_example.cpp</a>, <a class="el" href="c02__custom__box__example_8cpp-example.html#a4">c02_custom_box_example.cpp</a>, <a class="el" href="c04__a__custom__triangle__example_8cpp-example.html#a1">c04_a_custom_triangle_example.cpp</a>, <a class="el" href="c04__b__custom__triangle__example_8cpp-example.html#a3">c04_b_custom_triangle_example.cpp</a>, <a class="el" href="x01__qt__example_8cpp-example.html#a4">x01_qt_example.cpp</a>, <a class="el" href="x03__a__soci__example_8cpp-example.html#a0">x03_a_soci_example.cpp</a>, and <a class="el" href="x03__b__s
oci__example_8cpp-example.html#a1">x03_b_soci_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00375">375</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
+<p>Definition at line <a class="el" href="write__dsv_8hpp_source.html#l00369">369</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -46,58 +46,75 @@
<div class="contents">
<h1>ggl::concept Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a></td></tr>
+
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_box.html">Box</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_area_strategy.html">AreaStrategy</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_box.html">Box</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_centroid_strategy.html">CentroidStrategy</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for area. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_box.html">ConstBox</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_box.html" title="Checks box concept.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_linestring.html" title="Checks linestring concept.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_nsphere.html">ConstNsphere</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_point.html">ConstPoint</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ConstRing</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ConstSegment</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_linestring.html">Linestring</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">Nsphere</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point.html">Point</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks nsphere <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_point.html">Point</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_polygon.html">Polygon</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_polygon.html">Polygon</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_ring.html">Ring</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_segment.html">Segment</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">WithinStrategy</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon). More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68">check</a> ()</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. <br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept_1_1detail.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li>Namespace Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append.html">check_append</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">check_append< Geometry, Point, false ></a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">check_append< Geometry, Point, true ></a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear.html">check_clear</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">check_clear< Geometry, false ></a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">check_clear< Geometry, true ></a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1checker.html">checker</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry. More...<br></td></tr>
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -59,8 +59,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a></td></tr>
-
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1compare.html">compare</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a></td></tr>
@@ -69,6 +67,8 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1side.html">side</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1centroid.html">centroid</a></td></tr>
+
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1not__implemented.html">not_implemented</a></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1area.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -47,12 +47,12 @@
<h1>ggl::strategy::area Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">by_spherical_excess</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Area calculation by spherical excess. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__triangles.html">by_triangles</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Strategy functor for <a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a> calculation on <a class="el" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> points. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">huiller</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Area calculation by spherical excess / Huiller's formula. More...<br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1centroid.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,9 +50,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1bashein__detmer.html">bashein_detmer</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Centroid calculation using algorith Bashein / Detmer. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1centroid_1_1geolib1995.html">geolib1995</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Centroid calculation. More...<br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1within.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -47,9 +47,12 @@
<h1>ggl::strategy::within Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">franklin</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">crossings_multiply</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using cross counting. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using cross counting,. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">franklin</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using cross counting. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">winding</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule. More...<br></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -94,12 +94,6 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1point__type.html">point_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class indicating the type of contained points. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__access.html">radius_access</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class to get/set radius of a circle/sphere/(ellipse). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__type.html">radius_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class indicating the type (double,float,...) of the radius of a circle or a sphere. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1ring__type.html">ring_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class to indicate ring-type of a polygon's exterior ring/interior rings. More...<br></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -84,7 +84,7 @@
<li>add_value()
: <a class="el" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">ggl</a>
<li>append()
-: <a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">ggl</a>
+: <a class="el" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909">ggl</a>
<li>area()
: <a class="el" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">ggl</a>
<li>as_range()
@@ -98,15 +98,15 @@
<li>assert_dimension_less_equal()
: <a class="el" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">ggl</a>
<li>assign()
-: <a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">ggl</a>
+: <a class="el" href="group__access.html#g0e5cdc21c975ed9e04db5a2ad7175895">ggl</a>
<li>assign_box_corners()
-: <a class="el" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">ggl</a>
+: <a class="el" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed">ggl</a>
<li>assign_inverse()
-: <a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">ggl</a>
+: <a class="el" href="group__access.html#g490821bd25a63cc584be1319375794f0">ggl</a>
<li>assign_point_to_box()
: <a class="el" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156">ggl</a>
<li>assign_zero()
-: <a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">ggl</a>
+: <a class="el" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">ggl</a>
</ul>
<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
<li>box_2d
@@ -114,15 +114,15 @@
<li>box_3d
: <a class="el" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">ggl</a>
<li>buffer()
-: <a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">ggl</a>
+: <a class="el" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215">ggl</a>
</ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>centroid()
-: <a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">ggl</a>
-<li>circle
-: <a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">ggl</a>
+: <a class="el" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">ggl</a>
+<li>check()
+: <a class="el" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68">ggl::concept</a>
<li>clear()
-: <a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl</a>
+: <a class="el" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">ggl</a>
<li>clockwise
: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">ggl</a>
<li>close_to_zero()
@@ -140,7 +140,7 @@
<li>copy_segments()
: <a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl</a>
<li>correct()
-: <a class="el" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">ggl</a>
+: <a class="el" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">ggl</a>
<li>counterclockwise
: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">ggl</a>
</ul>
@@ -156,7 +156,7 @@
<li>divide_value()
: <a class="el" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">ggl</a>
<li>dot_product()
-: <a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">ggl</a>
+: <a class="el" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">ggl</a>
<li>dsv()
: <a class="el" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">ggl</a>
</ul>
@@ -164,7 +164,7 @@
<li>enrich_intersection_points()
: <a class="el" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">ggl</a>
<li>envelope()
-: <a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">ggl</a>
+: <a class="el" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8">ggl</a>
<li>equals()
: <a class="el" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34">ggl::math</a>
, <a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">ggl</a>
@@ -185,9 +185,7 @@
<li>get_as_radian()
: <a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">ggl</a>
<li>get_intersection_points()
-: <a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">ggl</a>
-<li>get_radius()
-: <a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl</a>
+: <a class="el" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">ggl</a>
<li>get_section()
: <a class="el" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a">ggl</a>
</ul>
@@ -199,7 +197,7 @@
<li>interior_rings()
: <a class="el" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">ggl</a>
<li>intermediate()
-: <a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">ggl</a>
+: <a class="el" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3">ggl</a>
<li>intersection()
: <a class="el" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">ggl</a>
<li>intersects()
@@ -219,13 +217,13 @@
<li>make()
: <a class="el" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">ggl</a>
<li>make_buffer()
-: <a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">ggl</a>
+: <a class="el" href="group__buffer.html#g52451d11ee1f91fdbfbee86ae2dee993">ggl</a>
<li>make_centroid()
-: <a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">ggl</a>
+: <a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">ggl</a>
<li>make_distance_result()
: <a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">ggl</a>
<li>make_envelope()
-: <a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">ggl</a>
+: <a class="el" href="group__envelope.html#g41b5f1545e745767f7afa6b1b889d279">ggl</a>
<li>make_inverse()
: <a class="el" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">ggl</a>
<li>make_segment_iterator()
@@ -259,7 +257,7 @@
<li>order_undetermined
: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">ggl</a>
<li>overlaps()
-: <a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">ggl</a>
+: <a class="el" href="group__boolean__relations.html#g6b41a75ce56023fe9def2613d0a4603f">ggl</a>
</ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>perimeter()
@@ -289,19 +287,15 @@
<li>segment_2d
: <a class="el" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">ggl</a>
<li>selected()
-: <a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">ggl</a>
+: <a class="el" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9">ggl</a>
<li>set()
: <a class="el" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a">ggl</a>
<li>set_from_radian()
: <a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">ggl</a>
-<li>set_radius()
-: <a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl</a>
<li>simplify()
-: <a class="el" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">ggl</a>
+: <a class="el" href="group__simplify.html#g953e1055914400f9ad3191adc5b42270">ggl</a>
<li>simplify_inserter()
: <a class="el" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a">ggl</a>
-<li>sphere
-: <a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">ggl</a>
<li>sqr()
: <a class="el" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337">ggl::math</a>
<li>subtract_point()
@@ -321,7 +315,7 @@
</ul>
<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
<li>within()
-: <a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">ggl</a>
+: <a class="el" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d">ggl</a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -83,7 +83,7 @@
<li>add_value()
: <a class="el" href="group__arithmetic.html#gf403c3bcfc0b66a4f708b6ea2890cadb">ggl</a>
<li>append()
-: <a class="el" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c">ggl</a>
+: <a class="el" href="group__access.html#ge6ff0cb391fb5a3c3a312defe15b4909">ggl</a>
<li>area()
: <a class="el" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d">ggl</a>
<li>as_range()
@@ -97,25 +97,27 @@
<li>assert_dimension_less_equal()
: <a class="el" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">ggl</a>
<li>assign()
-: <a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">ggl</a>
+: <a class="el" href="group__access.html#g0e5cdc21c975ed9e04db5a2ad7175895">ggl</a>
<li>assign_box_corners()
-: <a class="el" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">ggl</a>
+: <a class="el" href="namespaceggl.html#9ddc8c5f7803a48d3ce186f89072c9ed">ggl</a>
<li>assign_inverse()
-: <a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">ggl</a>
+: <a class="el" href="group__access.html#g490821bd25a63cc584be1319375794f0">ggl</a>
<li>assign_point_to_box()
: <a class="el" href="namespaceggl.html#a79ece7bbc75c938c5a01eadd2522156">ggl</a>
<li>assign_zero()
-: <a class="el" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">ggl</a>
+: <a class="el" href="group__access.html#g3b95c5faaa108785681e58099b48dc35">ggl</a>
</ul>
<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
<li>buffer()
-: <a class="el" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">ggl</a>
+: <a class="el" href="group__buffer.html#gae86b71768d59d010ab689c6597b2215">ggl</a>
</ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>centroid()
-: <a class="el" href="group__centroid.html#g2b743cdd7177313b561780ba87c633cd">ggl</a>
+: <a class="el" href="group__centroid.html#gba3c6357cc1112519a4909cdbb4733e2">ggl</a>
+<li>check()
+: <a class="el" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68">ggl::concept</a>
<li>clear()
-: <a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl</a>
+: <a class="el" href="group__access.html#g6834d3a54e36ad3c0b56065aaaf27771">ggl</a>
<li>close_to_zero()
: <a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">ggl</a>
<li>combine()
@@ -131,7 +133,7 @@
<li>copy_segments()
: <a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl</a>
<li>correct()
-: <a class="el" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">ggl</a>
+: <a class="el" href="namespaceggl.html#f5be8c0fed6b4db5244f20aaf6e97763">ggl</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>disjoint()
@@ -143,7 +145,7 @@
<li>divide_value()
: <a class="el" href="group__arithmetic.html#g8eb0c9ae709c0b9a9e9de8cfd32f7ee8">ggl</a>
<li>dot_product()
-: <a class="el" href="group__arithmetic.html#gb4e975a3003134e51c2764f9b6701556">ggl</a>
+: <a class="el" href="group__arithmetic.html#gdbe9df76626ecc2871dbffa8cfe7f0e4">ggl</a>
<li>dsv()
: <a class="el" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">ggl</a>
</ul>
@@ -151,7 +153,7 @@
<li>enrich_intersection_points()
: <a class="el" href="group__overlay.html#g379db9c2e9741b685302a21f86ea24f3">ggl</a>
<li>envelope()
-: <a class="el" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">ggl</a>
+: <a class="el" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8">ggl</a>
<li>equals()
: <a class="el" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34">ggl::math</a>
, <a class="el" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5">ggl</a>
@@ -172,9 +174,7 @@
<li>get_as_radian()
: <a class="el" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">ggl</a>
<li>get_intersection_points()
-: <a class="el" href="group__overlay.html#g402420dc15139d3893450978f30920b9">ggl</a>
-<li>get_radius()
-: <a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl</a>
+: <a class="el" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9">ggl</a>
<li>get_section()
: <a class="el" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a">ggl</a>
</ul>
@@ -186,7 +186,7 @@
<li>interior_rings()
: <a class="el" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758">ggl</a>
<li>intermediate()
-: <a class="el" href="group__intermediate.html#gf847d50ccb579a7d771988c1971eb0b3">ggl</a>
+: <a class="el" href="group__intermediate.html#gb420c51753b4bdda7f1cde1f4ec53ed3">ggl</a>
<li>intersection()
: <a class="el" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5">ggl</a>
<li>intersects()
@@ -202,13 +202,13 @@
<li>make()
: <a class="el" href="group__access.html#g7a12c7eaa14250c82f9424114df0c9aa">ggl</a>
<li>make_buffer()
-: <a class="el" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">ggl</a>
+: <a class="el" href="group__buffer.html#g52451d11ee1f91fdbfbee86ae2dee993">ggl</a>
<li>make_centroid()
-: <a class="el" href="group__centroid.html#gcb8d61ecb3cb509353728f50d9ae03b4">ggl</a>
+: <a class="el" href="group__centroid.html#ga7146045002e56e5471f8da7dd30609c">ggl</a>
<li>make_distance_result()
: <a class="el" href="group__distance.html#g9bf8e81819c5cdbff3111e148ead0331">ggl</a>
<li>make_envelope()
-: <a class="el" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">ggl</a>
+: <a class="el" href="group__envelope.html#g41b5f1545e745767f7afa6b1b889d279">ggl</a>
<li>make_inverse()
: <a class="el" href="group__access.html#g31f890be4e38cb7382e3db9ba3f6d911">ggl</a>
<li>make_segment_iterator()
@@ -234,7 +234,7 @@
<li>operator==()
: <a class="el" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">ggl</a>
<li>overlaps()
-: <a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">ggl</a>
+: <a class="el" href="group__boolean__relations.html#g6b41a75ce56023fe9def2613d0a4603f">ggl</a>
</ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>perimeter()
@@ -244,15 +244,13 @@
<li>sectionalize()
: <a class="el" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1">ggl</a>
<li>selected()
-: <a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">ggl</a>
+: <a class="el" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9">ggl</a>
<li>set()
: <a class="el" href="group__access.html#g6ced3f6383c5e664984c54a36a1d78a2">ggl</a>
<li>set_from_radian()
: <a class="el" href="group__access.html#g9fcd126a3429823c1b684e0bae01c491">ggl</a>
-<li>set_radius()
-: <a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl</a>
<li>simplify()
-: <a class="el" href="group__simplify.html#g953e1055914400f9ad3191adc5b42270">ggl</a>
+: <a class="el" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">ggl</a>
<li>simplify_inserter()
: <a class="el" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a">ggl</a>
<li>sqr()
@@ -272,7 +270,7 @@
</ul>
<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
<li>within()
-: <a class="el" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc">ggl</a>
+: <a class="el" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d">ggl</a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -59,8 +59,6 @@
: <a class="el" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">ggl</a>
<li>box_3d
: <a class="el" href="namespaceggl.html#246b6f132ae46d37ab627fe899ca1122">ggl</a>
-<li>circle
-: <a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">ggl</a>
<li>linestring_2d
: <a class="el" href="namespaceggl.html#bd8e114c665e6cc6ea48e2e716eeedc2">ggl</a>
<li>linestring_3d
@@ -79,8 +77,6 @@
: <a class="el" href="namespaceggl.html#fd5b225988bbf3d618978942a9e61b18">ggl</a>
<li>segment_2d
: <a class="el" href="namespaceggl.html#51ce3d75ac1988b5ed73cb3598da522b">ggl</a>
-<li>sphere
-: <a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">ggl</a>
</ul>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaces.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaces.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -45,6 +45,7 @@
<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="namespaceggl.html">ggl</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceggl_1_1concept_1_1detail.html">ggl::concept::detail</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="namespaceggl_1_1cs.html">ggl::cs</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="namespaceggl_1_1math.html">ggl::math</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="namespaceggl_1_1policies.html">ggl::policies</a></td><td class="indexvalue"></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/geometries/nsphere.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1nsphere.html">ggl::nsphere< P, T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Class <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>: defines a circle or a sphere: a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> with radius. More...<br></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,181 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/geometries/nsphere.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_NSPHERE_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_NSPHERE_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <cstddef></span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="assign_8hpp.html">ggl/algorithms/assign.hpp</a>></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl
-<a name="l00020"></a>00020 {
-<a name="l00021"></a>00021
-<a name="l00034"></a>00034 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> T>
-<a name="l00035"></a><a class="code" href="classggl_1_1nsphere.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a>
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<P></a>) );
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">public</span>:
-<a name="l00040"></a>00040
-<a name="l00041"></a><a class="code" href="classggl_1_1nsphere.html#9027e4f6129198cd158727edda7ee4eb">00041</a> <span class="keyword">typedef</span> T <a class="code" href="structggl_1_1radius__type.html">radius_type</a>;
-<a name="l00042"></a><a class="code" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">00042</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P>::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
-<a name="l00043"></a>00043
-<a name="l00044"></a><a class="code" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">00044</a> <a class="code" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">nsphere</a>()
-<a name="l00045"></a>00045 : m_radius(0)
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 detail::assign::assign_value(m_center, <a class="code" href="classggl_1_1nsphere.html#a3595c7d5427261600efdc0e37ded8bb">coordinate_type</a>());
-<a name="l00048"></a>00048 }
-<a name="l00049"></a>00049
-<a name="l00050"></a><a class="code" href="classggl_1_1nsphere.html#61e86fe7d652555d72d024fdf1903ee6">00050</a> <a class="code" href="classggl_1_1nsphere.html#43ce9d06cc8e93f8be4e886e6f468fd6">nsphere</a>(P <span class="keyword">const</span>& <a class="code" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">center</a>, T <span class="keyword">const</span>& <a class="code" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">radius</a>)
-<a name="l00051"></a>00051 : m_radius(radius)
-<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(center, m_center);
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055
-<a name="l00056"></a><a class="code" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">00056</a> <span class="keyword">inline</span> P <span class="keyword">const</span>& <a class="code" href="classggl_1_1nsphere.html#3f6b59190ffcbc30cbcac55073915674">center</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_center; }
-<a name="l00057"></a><a class="code" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">00057</a> <span class="keyword">inline</span> T <span class="keyword">const</span>& <a class="code" href="classggl_1_1nsphere.html#45501ded4a12c89b95598ca131fc1caa">radius</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_radius; }
-<a name="l00058"></a>00058
-<a name="l00059"></a><a class="code" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">00059</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1nsphere.html#7cedc453e69b1cd38276d4b906cc29f5">radius</a>(T <span class="keyword">const</span>& r) { m_radius = r; }
-<a name="l00060"></a><a class="code" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">00060</a> <span class="keyword">inline</span> P& <a class="code" href="classggl_1_1nsphere.html#8fd5bf72f746c27b7ca1514dc08813ac">center</a>() { <span class="keywordflow">return</span> m_center; }
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062 <span class="keyword">private</span>:
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 P m_center;
-<a name="l00065"></a>00065 T m_radius;
-<a name="l00066"></a>00066 };
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 <span class="comment">// Traits specializations for n-sphere above</span>
-<a name="l00069"></a>00069 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
-<a name="l00071"></a>00071 {
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> RadiusType>
-<a name="l00074"></a>00074 <span class="keyword">struct </span>tag< nsphere<Point, RadiusType> >
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keyword">typedef</span> nsphere_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
-<a name="l00077"></a>00077 };
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> RadiusType>
-<a name="l00080"></a>00080 <span class="keyword">struct </span>point_type<nsphere<Point, RadiusType> >
-<a name="l00081"></a>00081 {
-<a name="l00082"></a>00082 <span class="keyword">typedef</span> Point type;
-<a name="l00083"></a>00083 };
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> RadiusType>
-<a name="l00086"></a>00086 <span class="keyword">struct </span>radius_type<nsphere<Point, RadiusType> >
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="keyword">typedef</span> RadiusType type;
-<a name="l00089"></a>00089 };
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> CoordinateType, std::<span class="keywordtype">size_t</span> Dimension>
-<a name="l00092"></a>00092 <span class="keyword">struct </span>access<nsphere<Point, CoordinateType>, Dimension>
-<a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 <span class="keyword">typedef</span> nsphere<Point, CoordinateType> nsphere_type;
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keyword">inline</span> CoordinateType <span class="keyword">get</span>(nsphere_type <span class="keyword">const</span>& s)
-<a name="l00097"></a>00097 {
-<a name="l00098"></a>00098 <span class="keywordflow">return</span> ggl::get<Dimension>(s.center());
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(nsphere_type& s, CoordinateType <span class="keyword">const</span>& value)
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103 ggl::set<Dimension>(s.center(), value);
-<a name="l00104"></a>00104 }
-<a name="l00105"></a>00105 };
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> RadiusType>
-<a name="l00108"></a>00108 <span class="keyword">struct </span>radius_access<nsphere<Point, RadiusType>, RadiusType, 0>
-<a name="l00109"></a>00109 {
-<a name="l00110"></a>00110 <span class="keyword">typedef</span> nsphere<Point, RadiusType> nsphere_type;
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="keyword">static</span> <span class="keyword">inline</span> RadiusType <span class="keyword">get</span>(nsphere_type <span class="keyword">const</span>& s)
-<a name="l00113"></a>00113 {
-<a name="l00114"></a>00114 <span class="keywordflow">return</span> s.radius();
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(nsphere_type& s, RadiusType <span class="keyword">const</span>& value)
-<a name="l00118"></a>00118 {
-<a name="l00119"></a>00119 s.radius(value);
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121 };
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 } <span class="comment">// namespace traits</span>
-<a name="l00124"></a>00124 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00125"></a>00125 <span class="preprocessor"></span>
-<a name="l00126"></a>00126 } <span class="comment">// namespace ggl</span>
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="preprocessor">#endif // GGL_GEOMETRIES_NSPHERE_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -42,7 +42,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl/core/concepts/nsphere_concept.hpp File Reference</h1>
+<h1>ggl/geometries/concepts/nsphere_concept.hpp File Reference</h1>
<p>
<a href="nsphere__concept_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
@@ -57,7 +57,7 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_nsphere.html">ggl::concept::Nsphere< S ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks nsphere <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Nsphere< S >::dimension_checker< D, N ></b></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -40,7 +40,7 @@
<li>File Members</li>
</ul>
</div>
-<h1>ggl/core/concepts/nsphere_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<h1>ggl/geometries/concepts/nsphere_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
@@ -55,7 +55,7 @@
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="radius_8hpp.html">ggl/core/radius.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <ggl/core/radius.hpp></span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
<a name="l00019"></a>00019
@@ -64,33 +64,33 @@
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">private</span> :
<a name="l00030"></a>00030 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<S>::type</a> P;
-<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type<S>::type</a> R;
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> radius_type<S>::type R;
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N>
<a name="l00035"></a>00035 <span class="keyword">struct </span>dimension_checker
<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<S>::type</a> T;
<a name="l00040"></a>00040 <span class="keyword">const</span> S* s = 0;
<a name="l00041"></a>00041 T coord(ggl::get<D>(*s));
<a name="l00042"></a>00042 (void)<span class="keyword">sizeof</span>(coord); <span class="comment">// To avoid "unused variable" warnings</span>
-<a name="l00043"></a>00043 dimension_checker<D + 1, N>::check();
+<a name="l00043"></a>00043 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">dimension_checker<D + 1, N>::check</a>();
<a name="l00044"></a>00044 }
<a name="l00045"></a>00045 };
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> N>
<a name="l00048"></a>00048 <span class="keyword">struct </span>dimension_checker<N, N>
<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00050"></a>00050 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>() {}
<a name="l00051"></a>00051 };
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">public</span> :
<a name="l00055"></a><a class="code" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11">00055</a> <a class="code" href="structggl_1_1concept_1_1_const_nsphere.html#cf6dfbdf9c9bceab4e3b481b95f1fb11" title="BCCL macro to check the ConstNsphere concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_nsphere.html" title="Checks Nsphere concept (const version).">ConstNsphere</a>)
<a name="l00056"></a>00056 {
<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<S>::value</a>;
-<a name="l00058"></a>00058 dimension_checker<0, N>::check();
-<a name="l00059"></a>00059 dimension_checker<0, N>::check();
+<a name="l00058"></a>00058 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">dimension_checker<0, N>::check</a>();
+<a name="l00059"></a>00059 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">dimension_checker<0, N>::check</a>();
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="comment">// Check radius access</span>
<a name="l00062"></a>00062 <span class="keyword">const</span> S* s = 0;
@@ -107,31 +107,31 @@
<a name="l00077"></a>00077 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_nsphere.html" title="Checks Nsphere concept (const version).">concept::ConstNsphere<S></a>) );
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<S>::type</a> P;
-<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type<S>::type</a> R;
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> radius_type<S>::type R;
<a name="l00081"></a>00081
<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N>
<a name="l00084"></a>00084 <span class="keyword">struct </span>dimension_checker
<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
<a name="l00087"></a>00087 {
<a name="l00088"></a>00088 S* s;
<a name="l00089"></a>00089 ggl::set<D>(*s, ggl::get<D>(*s));
-<a name="l00090"></a>00090 dimension_checker<D + 1, N>::check();
+<a name="l00090"></a>00090 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">dimension_checker<D + 1, N>::check</a>();
<a name="l00091"></a>00091 }
<a name="l00092"></a>00092 };
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> N>
<a name="l00095"></a>00095 <span class="keyword">struct </span>dimension_checker<N, N>
<a name="l00096"></a>00096 {
-<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
+<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>() {}
<a name="l00098"></a>00098 };
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="keyword">public</span> :
<a name="l00102"></a><a class="code" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4">00102</a> <a class="code" href="structggl_1_1concept_1_1_nsphere.html#f7a6ea630944b84202eed0a9de90cff4" title="BCCL macro to check the Nsphere concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_nsphere.html" title="Checks nsphere concept, using Boost Concept Check Library and metafunctions.">Nsphere</a>)
<a name="l00103"></a>00103 {
<a name="l00104"></a>00104 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<S>::value</a>;
-<a name="l00105"></a>00105 dimension_checker<0, N>::check();
-<a name="l00106"></a>00106 dimension_checker<0, N>::check();
+<a name="l00105"></a>00105 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">dimension_checker<0, N>::check</a>();
+<a name="l00106"></a>00106 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">dimension_checker<0, N>::check</a>();
<a name="l00107"></a>00107
<a name="l00108"></a>00108 <span class="comment">// Check radius access</span>
<a name="l00109"></a>00109 S* s = 0;
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ogc.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ogc.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,8 +53,9 @@
<li>Oracle Spatial</li><li>SQL Server 2008</li><li>PostGreSQL</li><li>MySQL</li><li>MonetDB</li></ul>
<p>
Besides this the Generic Geometry Library provides the following additional classes:<ul>
-<li><a class="el" href="classggl_1_1box.html">box</a>: Box, used for selections and for envelopes (bounding boxes)</li><li><a class="el" href="classggl_1_1nsphere.html">n-sphere</a>, meaning circle" and "sphere". Circle is convenient for selections</li><li><a class="el" href="classggl_1_1segment.html">segment</a>: Segment, helper class, used for e.g. intersections</li></ul>
-<h2><a class="anchor" name="Algorithms">
+<li><a class="el" href="classggl_1_1box.html">box</a>: Box, used for selections and for envelopes (bounding boxes)</li><li><a class="el" href="classggl_1_1segment.html">segment</a>: Segment, helper class, used for e.g. intersections</li></ul>
+<p>
+Finally geometry types can be added as extensions. This is e.g. done with an "n-sphere" meaning circle" and "sphere". Circle is convenient for selections.<h2><a class="anchor" name="Algorithms">
Algorithms</a></h2>
The Generic Geometry Library implements the following OGC algorithms, which are applicable to most or all geometries<ul>
<li><b>area:</b> Returns the area of surface-geometries</li><li><b>as_text:</b> Represents the geometry as a Well Known Text (named "wkt")</li><li><b>centroid:</b> Returns a point geometry: the centroid on surface-geometries</li><li><b>convex_hull:</b> Returns true if the geometry is simple (doesn't intersect itself)</li><li><b>coordinate_dimension:</b> Returns the number of geometry coordinate values</li><li><b>distance:</b> Returns the distance between two geometries</li><li><b>envelope:</b> Returns the bounding box of a geometry</li><li><b>intersection:</b> Returns a geometry containing the intersection between two geometries (currently only with boxes)</li><li><b>length:</b> Returns the length of curve-type geometries</li><li><b>num_points:</b> Returns the number of points</li><li><b>topological_dimension:</b> Returns the topological dimension</li><li><b>within:</b> Returns true if one geometry falls completely within another geometry</li></ul>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,10 +50,10 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename B > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">ggl::overlaps</a> (const B &b1, const B &b2)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry1 , typename Geometry2 > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__boolean__relations.html#g6b41a75ce56023fe9def2613d0a4603f">ggl::overlaps</a> (Geometry1 const &b1, Geometry2 const &b2)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Determines overlap between two geometries. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Determines overlap between two geometries. <br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/overlaps_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,25 +53,29 @@
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
<a name="l00013"></a>00013
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="keyword">namespace </span>ggl
-<a name="l00016"></a>00016 {
-<a name="l00017"></a>00017
-<a name="l00035"></a>00035 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
-<a name="l00036"></a><a class="code" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c">00036</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#ga306028410cb737d8533dc9efa310a1c" title="Determines overlap between two geometries.">overlaps</a>(<span class="keyword">const</span> B& b1, <span class="keyword">const</span> B& b2)
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 <span class="keywordflow">return</span> !(
-<a name="l00039"></a>00039 get<max_corner, 0>(b1) <= get<min_corner, 0>(b2) ||
-<a name="l00040"></a>00040 get<min_corner, 0>(b1) >= get<max_corner, 0>(b2) ||
-<a name="l00041"></a>00041 get<max_corner, 1>(b1) <= get<min_corner, 1>(b2) ||
-<a name="l00042"></a>00042 get<min_corner, 1>(b1) >= get<max_corner, 1>(b2)
-<a name="l00043"></a>00043 );
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 } <span class="comment">// namespace ggl</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017 {
+<a name="l00018"></a>00018
+<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry1, <span class="keyword">typename</span> Geometry2>
+<a name="l00037"></a><a class="code" href="group__boolean__relations.html#g6b41a75ce56023fe9def2613d0a4603f">00037</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__boolean__relations.html#g6b41a75ce56023fe9def2613d0a4603f" title="Determines overlap between two geometries.">overlaps</a>(Geometry1 <span class="keyword">const</span>& b1, Geometry2 <span class="keyword">const</span>& b2)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 concept::check<const Geometry1>();
+<a name="l00040"></a>00040 concept::check<const Geometry2>();
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keywordflow">return</span> !(
+<a name="l00043"></a>00043 get<max_corner, 0>(b1) <= get<min_corner, 0>(b2) ||
+<a name="l00044"></a>00044 get<min_corner, 0>(b1) >= get<max_corner, 0>(b2) ||
+<a name="l00045"></a>00045 get<max_corner, 1>(b1) <= get<min_corner, 1>(b2) ||
+<a name="l00046"></a>00046 get<min_corner, 1>(b1) >= get<max_corner, 1>(b2)
+<a name="l00047"></a>00047 );
<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAPS_HPP</span>
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 } <span class="comment">// namespace ggl</span>
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAPS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -42,29 +42,25 @@
</div>
</div>
<div class="contents">
-<h1>ggl/core/concepts/point_concept.hpp File Reference</h1>
+<h1>ggl/geometries/concepts/point_concept.hpp File Reference</h1>
<p>
<a href="point__concept_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< X ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstPoint< X >::dimension_checker< P, I, Count ></b></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstPoint< Geometry >::dimension_checker< P, Dimension, DimensionCount ></b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstPoint< X >::dimension_checker< P, Count, Count ></b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstPoint< Geometry >::dimension_checker< P, DimensionCount, DimensionCount ></b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point< X ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_point.html">ggl::concept::Point< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Point< X >::dimension_checker< P, I, Count ></b></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Point< Geometry >::dimension_checker< P, Dimension, DimensionCount ></b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Point< X >::dimension_checker< P, Count, Count ></b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Point< Geometry >::dimension_checker< P, DimensionCount, DimensionCount ></b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -40,7 +40,7 @@
<li>File Members</li>
</ul>
</div>
-<h1>ggl/core/concepts/point_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library Point concept</span>
+<h1>ggl/geometries/concepts/point_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library Point concept</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
@@ -48,8 +48,8 @@
<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_POINT_CONCEPT_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_POINT_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_POINT_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_POINT_CONCEPT_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <cstddef></span>
<a name="l00013"></a>00013
@@ -62,81 +62,83 @@
<a name="l00020"></a>00020
<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
<a name="l00028"></a>00028
-<a name="l00060"></a>00060 <span class="keyword">template</span> <<span class="keyword">typename</span> X>
-<a name="l00061"></a><a class="code" href="structggl_1_1concept_1_1_point.html">00061</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a>
+<a name="l00060"></a>00060 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00061"></a><a class="code" href="classggl_1_1concept_1_1_point.html">00061</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a>
<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063 <span class="keyword">private</span>:
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<X>::type</a> ctype;
-<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<X>::type</a> csystem;
-<a name="l00067"></a>00067
-<a name="l00068"></a>00068 <span class="keyword">enum</span> { ccount = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<X>::value</a> };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Geometry>::type</a> ctype;
+<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<Geometry>::type</a> csystem;
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="keyword">enum</span> { ccount = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<Geometry>::value</a> };
+<a name="l00068"></a>00068
<a name="l00069"></a>00069
-<a name="l00071"></a>00071 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> Count>
-<a name="l00072"></a>00072 <span class="keyword">struct </span>dimension_checker
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 P* p;
-<a name="l00077"></a>00077 ggl::set<I>(*p, ggl::get<I>(*p));
-<a name="l00078"></a>00078 dimension_checker<P, I+1, Count>::check();
-<a name="l00079"></a>00079 }
-<a name="l00080"></a>00080 };
+<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00071"></a>00071 <span class="keyword">struct </span>dimension_checker
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 P* p;
+<a name="l00076"></a>00076 ggl::set<Dimension>(*p, ggl::get<Dimension>(*p));
+<a name="l00077"></a>00077 dimension_checker<P, Dimension+1, DimensionCount>::apply();
+<a name="l00078"></a>00078 }
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
<a name="l00081"></a>00081
-<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Count>
-<a name="l00084"></a>00084 <span class="keyword">struct </span>dimension_checker<P, Count, Count>
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
-<a name="l00087"></a>00087 };
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">public</span>:
-<a name="l00090"></a>00090
-<a name="l00092"></a><a class="code" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">00092</a> <a class="code" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b" title="BCCL macro to check the Point concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a>)
-<a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 dimension_checker<X, 0, ccount>::check();
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096 };
+<a name="l00082"></a>00082 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00083"></a>00083 <span class="keyword">struct </span>dimension_checker<P, DimensionCount, DimensionCount>
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00086"></a>00086 };
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 <span class="keyword">public</span>:
+<a name="l00089"></a>00089
+<a name="l00091"></a><a class="code" href="classggl_1_1concept_1_1_point.html#8ae568fc76ff4be8561ab232179d954e">00091</a> <a class="code" href="classggl_1_1concept_1_1_point.html#8ae568fc76ff4be8561ab232179d954e" title="BCCL macro to apply the Point concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">Point</a>)
+<a name="l00092"></a>00092 {
+<a name="l00093"></a>00093 dimension_checker<Geometry, 0, ccount>::apply();
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095 };
+<a name="l00096"></a>00096
<a name="l00097"></a>00097
-<a name="l00098"></a>00098
-<a name="l00105"></a>00105 <span class="keyword">template</span> <<span class="keyword">typename</span> X>
-<a name="l00106"></a><a class="code" href="structggl_1_1concept_1_1_const_point.html">00106</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a>
-<a name="l00107"></a>00107 {
-<a name="l00108"></a>00108 <span class="keyword">private</span>:
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<X>::type</a> ctype;
-<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<X>::type</a> csystem;
+<a name="l00104"></a>00104 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00105"></a><a class="code" href="classggl_1_1concept_1_1_const_point.html">00105</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a>
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Geometry>::type</a> ctype;
+<a name="l00109"></a>00109 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<Geometry>::type</a> csystem;
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="keyword">enum</span> { ccount = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<Geometry>::value</a> };
<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <span class="keyword">enum</span> { ccount = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<X>::value</a> };
-<a name="l00114"></a>00114
-<a name="l00116"></a>00116 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> I, std::<span class="keywordtype">size_t</span> Count>
-<a name="l00117"></a>00117 <span class="keyword">struct </span>dimension_checker
-<a name="l00118"></a>00118 {
-<a name="l00119"></a>00119 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
-<a name="l00120"></a>00120 {
-<a name="l00121"></a>00121 <span class="keyword">const</span> P* p = 0;
-<a name="l00122"></a>00122 ctype coord(ggl::get<I>(*p));
-<a name="l00123"></a>00123 boost::ignore_unused_variable_warning(coord);
-<a name="l00124"></a>00124 dimension_checker<P, I+1, Count>::check();
-<a name="l00125"></a>00125 }
-<a name="l00126"></a>00126 };
-<a name="l00127"></a>00127
-<a name="l00129"></a>00129 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Count>
-<a name="l00130"></a>00130 <span class="keyword">struct </span>dimension_checker<P, Count, Count>
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
-<a name="l00133"></a>00133 };
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00115"></a>00115 <span class="keyword">struct </span>dimension_checker
+<a name="l00116"></a>00116 {
+<a name="l00117"></a>00117 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keyword">const</span> P* p = 0;
+<a name="l00120"></a>00120 ctype coord(ggl::get<Dimension>(*p));
+<a name="l00121"></a>00121 boost::ignore_unused_variable_warning(coord);
+<a name="l00122"></a>00122 dimension_checker<P, Dimension+1, DimensionCount>::apply();
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124 };
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <span class="keyword">template</span> <<span class="keyword">typename</span> P, std::<span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00128"></a>00128 <span class="keyword">struct </span>dimension_checker<P, DimensionCount, DimensionCount>
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00131"></a>00131 };
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keyword">public</span>:
<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="keyword">public</span>:
-<a name="l00136"></a>00136
-<a name="l00138"></a><a class="code" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">00138</a> <a class="code" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a" title="BCCL macro to check the ConstPoint concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a>)
-<a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 dimension_checker<X, 0, ccount>::check();
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142 };
+<a name="l00136"></a><a class="code" href="classggl_1_1concept_1_1_const_point.html#cdb425c10cbeeb3ad1e484f63d800e81">00136</a> <a class="code" href="classggl_1_1concept_1_1_const_point.html#cdb425c10cbeeb3ad1e484f63d800e81" title="BCCL macro to apply the ConstPoint concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a>)
+<a name="l00137"></a>00137 {
+<a name="l00138"></a>00138 dimension_checker<Geometry, 0, ccount>::apply();
+<a name="l00139"></a>00139 }
+<a name="l00140"></a>00140 };
+<a name="l00141"></a>00141
+<a name="l00142"></a>00142 }} <span class="comment">// namespace ggl::concept</span>
<a name="l00143"></a>00143
-<a name="l00144"></a>00144 }} <span class="comment">// namespace ggl::concept</span>
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_POINT_CONCEPT_HPP</span>
+<a name="l00144"></a>00144 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_POINT_CONCEPT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/point_in_poly_crossings_multiply.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using cross counting,. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::crossings_multiply< Point, PointOfSegment, CalculationType >::flags</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__crossings__multiply_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/point_in_poly_crossings_multiply.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 2009, Geodan, Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_POINT_IN_POLY_CROSSINGS_MULTIPLY_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_POINT_IN_POLY_CROSSINGS_MULTIPLY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include <<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="select__calculation__type_8hpp.html">ggl/util/select_calculation_type.hpp</a>></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 {
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a> {
+<a name="l00020"></a>00020
+<a name="l00027"></a>00027 <span class="keyword">template</span>
+<a name="l00028"></a>00028 <
+<a name="l00029"></a>00029 <span class="keyword">typename</span> Point,
+<a name="l00030"></a>00030 <span class="keyword">typename</span> PointOfSegment = Point,
+<a name="l00031"></a>00031 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00032"></a>00032 >
+<a name="l00033"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html">00033</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html" title="Within detection using cross counting,.">crossings_multiply</a>
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__calculation__type.html" title="Utility selecting the &quot;calculation&quot; type.">select_calculation_type</a>
+<a name="l00036"></a>00036 <
+<a name="l00037"></a>00037 Point,
+<a name="l00038"></a>00038 PointOfSegment,
+<a name="l00039"></a>00039 CalculationType
+<a name="l00040"></a>00040 >::type calculation_type;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">class </span>flags
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 <span class="keywordtype">bool</span> inside_flag;
+<a name="l00045"></a>00045 <span class="keywordtype">bool</span> first;
+<a name="l00046"></a>00046 <span class="keywordtype">bool</span> yflag0;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">public</span> :
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html" title="Within detection using cross counting,.">crossings_multiply</a>;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">inline</span> flags()
+<a name="l00053"></a>00053 : inside_flag(<span class="keyword">false</span>)
+<a name="l00054"></a>00054 , first(<span class="keyword">true</span>)
+<a name="l00055"></a>00055 , yflag0(<span class="keyword">false</span>)
+<a name="l00056"></a>00056 {}
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keyword">public</span> :
+<a name="l00060"></a>00060
+<a name="l00061"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#6482df62b2e25a93ca704fd04c8b811f">00061</a> <span class="keyword">typedef</span> Point <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00062"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">00062</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#504d328948460685cb7cdaeadb36a4e2">segment_point_type</a>;
+<a name="l00063"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">00063</a> <span class="keyword">typedef</span> flags <a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#7c676d88046afd8fd3507e12a80e038c">state_type</a>;
+<a name="l00064"></a>00064
+<a name="l00065"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">00065</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#80f199c6a3034df498d70d331362953f">apply</a>(Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>,
+<a name="l00066"></a>00066 PointOfSegment <span class="keyword">const</span>& seg1, PointOfSegment <span class="keyword">const</span>& seg2,
+<a name="l00067"></a>00067 flags& state)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 calculation_type <span class="keyword">const</span> tx = get<0>(point);
+<a name="l00070"></a>00070 calculation_type <span class="keyword">const</span> ty = get<1>(point);
+<a name="l00071"></a>00071 calculation_type <span class="keyword">const</span> x0 = get<0>(seg1);
+<a name="l00072"></a>00072 calculation_type <span class="keyword">const</span> y0 = get<1>(seg1);
+<a name="l00073"></a>00073 calculation_type <span class="keyword">const</span> x1 = get<0>(seg2);
+<a name="l00074"></a>00074 calculation_type <span class="keyword">const</span> y1 = get<1>(seg2);
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 <span class="keywordflow">if</span> (state.first)
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 state.first = <span class="keyword">false</span>;
+<a name="l00079"></a>00079 state.yflag0 = y0 >= ty;
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="keywordtype">bool</span> yflag1 = y1 >= ty;
+<a name="l00084"></a>00084 <span class="keywordflow">if</span> (state.yflag0 != yflag1)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> ( ((y1-ty) * (x0-x1) >= (x1-tx) * (y0-y1)) == yflag1 )
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 state.inside_flag = ! state.inside_flag;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091 state.yflag0 = yflag1;
+<a name="l00092"></a>00092 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00095"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">00095</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1crossings__multiply.html#f24bc7f772e47cf8d0b0dee182152b96">result</a>(flags <span class="keyword">const</span>& state)
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keywordflow">return</span> state.inside_flag;
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 }} <span class="comment">// namespace strategy::within</span>
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 } <span class="comment">// namespace ggl</span>
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="preprocessor">#ifdef ORIGINAL_CODE</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span>
+<a name="l00111"></a>00111 See http:<span class="comment">//tog.acm.org/resources/GraphicsGems/gemsiv/ptpoly_haines/ptinpoly.c</span>
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113 <span class="comment">/* ======= Crossings Multiply algorithm =================================== */</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="comment">/*</span>
+<a name="l00116"></a>00116 <span class="comment"> * This version is usually somewhat faster than the original published in</span>
+<a name="l00117"></a>00117 <span class="comment"> * Graphics Gems IV; by turning the division for testing the X axis crossing</span>
+<a name="l00118"></a>00118 <span class="comment"> * into a tricky multiplication test this part of the test became faster,</span>
+<a name="l00119"></a>00119 <span class="comment"> * which had the additional effect of making the test for "both to left or</span>
+<a name="l00120"></a>00120 <span class="comment"> * both to right" a bit slower for triangles than simply computing the</span>
+<a name="l00121"></a>00121 <span class="comment"> * intersection each time. The main increase is in triangle testing speed,</span>
+<a name="l00122"></a>00122 <span class="comment"> * which was about 15% faster; all other polygon complexities were pretty much</span>
+<a name="l00123"></a>00123 <span class="comment"> * the same as before. On machines where division is very expensive (not the</span>
+<a name="l00124"></a>00124 <span class="comment"> * case on the HP 9000 series on which I tested) this test should be much</span>
+<a name="l00125"></a>00125 <span class="comment"> * faster overall than the old code. Your mileage may (in fact, will) vary,</span>
+<a name="l00126"></a>00126 <span class="comment"> * depending on the machine and the test data, but in general I believe this</span>
+<a name="l00127"></a>00127 <span class="comment"> * code is both shorter and faster. This test was inspired by unpublished</span>
+<a name="l00128"></a>00128 <span class="comment"> * Graphics Gems submitted by Joseph Samosky and Mark Haigh-Hutchinson.</span>
+<a name="l00129"></a>00129 <span class="comment"> * Related work by Samosky is in:</span>
+<a name="l00130"></a>00130 <span class="comment"> *</span>
+<a name="l00131"></a>00131 <span class="comment"> * Samosky, Joseph, "SectionView: A system for interactively specifying and</span>
+<a name="l00132"></a>00132 <span class="comment"> * visualizing sections through three-dimensional medical image data",</span>
+<a name="l00133"></a>00133 <span class="comment"> * M.S. Thesis, Department of Electrical Engineering and Computer Science,</span>
+<a name="l00134"></a>00134 <span class="comment"> * Massachusetts Institute of Technology, 1993.</span>
+<a name="l00135"></a>00135 <span class="comment"> *</span>
+<a name="l00136"></a>00136 <span class="comment"> */</span>
+<a name="l00137"></a>00137
+<a name="l00138"></a>00138 <span class="comment">/* Shoot a test ray along +X axis. The strategy is to compare vertex Y values</span>
+<a name="l00139"></a>00139 <span class="comment"> * to the testing point's Y and quickly discard edges which are entirely to one</span>
+<a name="l00140"></a>00140 <span class="comment"> * side of the test ray. Note that CONVEX and WINDING code can be added as</span>
+<a name="l00141"></a>00141 <span class="comment"> * for the CrossingsTest() code; it is left out here for clarity.</span>
+<a name="l00142"></a>00142 <span class="comment"> *</span>
+<a name="l00143"></a>00143 <span class="comment"> * Input 2D polygon _pgon_ with _numverts_ number of vertices and test point</span>
+<a name="l00144"></a>00144 <span class="comment"> * _point_, returns 1 if inside, 0 if outside.</span>
+<a name="l00145"></a>00145 <span class="comment"> */</span>
+<a name="l00146"></a>00146 <span class="keywordtype">int</span> CrossingsMultiplyTest( pgon, numverts, point )
+<a name="l00147"></a>00147 double pgon[][2] ;
+<a name="l00148"></a>00148 <span class="keywordtype">int</span> numverts ;
+<a name="l00149"></a>00149 <span class="keywordtype">double</span> point[2] ;
+<a name="l00150"></a>00150 {
+<a name="l00151"></a>00151 <span class="keyword">register</span> <span class="keywordtype">int</span> j, yflag0, yflag1, inside_flag ;
+<a name="l00152"></a>00152 <span class="keyword">register</span> <span class="keywordtype">double</span> ty, tx, *vtx0, *vtx1 ;
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 tx = point[X] ;
+<a name="l00155"></a>00155 ty = point[Y] ;
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 vtx0 = pgon[numverts-1] ;
+<a name="l00158"></a>00158 <span class="comment">/* get test bit for above/below X axis */</span>
+<a name="l00159"></a>00159 yflag0 = ( vtx0[Y] >= ty ) ;
+<a name="l00160"></a>00160 vtx1 = pgon[0] ;
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 inside_flag = 0 ;
+<a name="l00163"></a>00163 <span class="keywordflow">for</span> ( j = numverts+1 ; --j ; ) {
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 yflag1 = ( vtx1[Y] >= ty ) ;
+<a name="l00166"></a>00166 <span class="comment">/* Check if endpoints straddle (are on opposite sides) of X axis</span>
+<a name="l00167"></a>00167 <span class="comment"> * (i.e. the Y's differ); if so, +X ray could intersect this edge.</span>
+<a name="l00168"></a>00168 <span class="comment"> * The old test also checked whether the endpoints are both to the</span>
+<a name="l00169"></a>00169 <span class="comment"> * right or to the left of the test point. However, given the faster</span>
+<a name="l00170"></a>00170 <span class="comment"> * intersection point computation used below, this test was found to</span>
+<a name="l00171"></a>00171 <span class="comment"> * be a break-even proposition for most polygons and a loser for</span>
+<a name="l00172"></a>00172 <span class="comment"> * triangles (where 50% or more of the edges which survive this test</span>
+<a name="l00173"></a>00173 <span class="comment"> * will cross quadrants and so have to have the X intersection computed</span>
+<a name="l00174"></a>00174 <span class="comment"> * anyway). I credit Joseph Samosky with inspiring me to try dropping</span>
+<a name="l00175"></a>00175 <span class="comment"> * the "both left or both right" part of my code.</span>
+<a name="l00176"></a>00176 <span class="comment"> */</span>
+<a name="l00177"></a>00177 <span class="keywordflow">if</span> ( yflag0 != yflag1 ) {
+<a name="l00178"></a>00178 <span class="comment">/* Check intersection of pgon segment with +X ray.</span>
+<a name="l00179"></a>00179 <span class="comment"> * Note if >= point's X; if so, the ray hits it.</span>
+<a name="l00180"></a>00180 <span class="comment"> * The division operation is avoided for the ">=" test by checking</span>
+<a name="l00181"></a>00181 <span class="comment"> * the sign of the first vertex wrto the test point; idea inspired</span>
+<a name="l00182"></a>00182 <span class="comment"> * by Joseph Samosky's and Mark Haigh-Hutchinson's different</span>
+<a name="l00183"></a>00183 <span class="comment"> * polygon inclusion tests.</span>
+<a name="l00184"></a>00184 <span class="comment"> */</span>
+<a name="l00185"></a>00185 <span class="keywordflow">if</span> ( ((vtx1[Y]-ty) * (vtx0[X]-vtx1[X]) >=
+<a name="l00186"></a>00186 (vtx1[X]-tx) * (vtx0[Y]-vtx1[Y])) == yflag1 ) {
+<a name="l00187"></a>00187 inside_flag = !inside_flag ;
+<a name="l00188"></a>00188 }
+<a name="l00189"></a>00189 }
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="comment">/* Move to the next pair of vertices, retaining info as possible. */</span>
+<a name="l00192"></a>00192 yflag0 = yflag1 ;
+<a name="l00193"></a>00193 vtx0 = vtx1 ;
+<a name="l00194"></a>00194 vtx1 += 2 ;
+<a name="l00195"></a>00195 }
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197 <span class="keywordflow">return</span>( inside_flag ) ;
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199 <span class="preprocessor">#endif</span>
+<a name="l00200"></a>00200 <span class="preprocessor"></span>
+<a name="l00201"></a>00201
+<a name="l00202"></a>00202 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_POINT_IN_POLY_CROSSINGS_MULTIPLY_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/cartesian/point_in_poly_franklin.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using cross counting. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::franklin< Point, PointOfSegment, CalculationType >::crossings</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__franklin_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/cartesian/point_in_poly_franklin.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_CARTESIAN_POINT_IN_POLY_FRANKLIN_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_CARTESIAN_POINT_IN_POLY_FRANKLIN_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="coordinate__type_8hpp.html">ggl/core/coordinate_type.hpp</a>></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="select__calculation__type_8hpp.html">ggl/util/select_calculation_type.hpp</a>></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>ggl
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 {
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a> {
+<a name="l00021"></a>00021
+<a name="l00032"></a>00032 <span class="keyword">template</span>
+<a name="l00033"></a>00033 <
+<a name="l00034"></a>00034 <span class="keyword">typename</span> Point,
+<a name="l00035"></a>00035 <span class="keyword">typename</span> PointOfSegment = Point,
+<a name="l00036"></a>00036 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00037"></a>00037 >
+<a name="l00038"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html">00038</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html" title="Within detection using cross counting.">franklin</a>
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__calculation__type.html" title="Utility selecting the &quot;calculation&quot; type.">select_calculation_type</a>
+<a name="l00041"></a>00041 <
+<a name="l00042"></a>00042 Point,
+<a name="l00043"></a>00043 PointOfSegment,
+<a name="l00044"></a>00044 CalculationType
+<a name="l00045"></a>00045 >::type calculation_type;
+<a name="l00046"></a>00046
+<a name="l00048"></a>00048 <span class="keyword">class </span>crossings
+<a name="l00049"></a>00049 {
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> crosses;
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">public</span> :
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html" title="Within detection using cross counting.">franklin</a>;
+<a name="l00055"></a>00055 <span class="keyword">inline</span> crossings()
+<a name="l00056"></a>00056 : crosses(<span class="keyword">false</span>)
+<a name="l00057"></a>00057 {}
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">public</span> :
+<a name="l00061"></a>00061
+<a name="l00062"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#cc0727d9dab9cc7dc5f53c1503ecbc30">00062</a> <span class="keyword">typedef</span> Point <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00063"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">00063</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#603efd6a0b874edba04ffe851eab4d1c">segment_point_type</a>;
+<a name="l00064"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">00064</a> <span class="keyword">typedef</span> crossings <a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#aaf6013cc8941519815cb2c95e80a00c">state_type</a>;
+<a name="l00065"></a>00065
+<a name="l00066"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">00066</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#4b1eb62bc13831e4670bf2ab4daa9745">apply</a>(Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>,
+<a name="l00067"></a>00067 PointOfSegment <span class="keyword">const</span>& seg1, PointOfSegment <span class="keyword">const</span>& seg2,
+<a name="l00068"></a>00068 crossings& state)
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 calculation_type <span class="keyword">const</span>& px = get<0>(point);
+<a name="l00071"></a>00071 calculation_type <span class="keyword">const</span>& py = get<1>(point);
+<a name="l00072"></a>00072 calculation_type <span class="keyword">const</span>& x1 = get<0>(seg1);
+<a name="l00073"></a>00073 calculation_type <span class="keyword">const</span>& y1 = get<1>(seg1);
+<a name="l00074"></a>00074 calculation_type <span class="keyword">const</span>& x2 = get<0>(seg2);
+<a name="l00075"></a>00075 calculation_type <span class="keyword">const</span>& y2 = get<1>(seg2);
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keywordflow">if</span> (
+<a name="l00078"></a>00078 ( (y2 <= py && py < y1) || (y1 <= py && py < y2) )
+<a name="l00079"></a>00079 && (px < (x1 - x2) * (py - y2) / (y1 - y2) + x2)
+<a name="l00080"></a>00080 )
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 state.crosses = ! state.crosses;
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00085"></a>00085 }
+<a name="l00086"></a>00086
+<a name="l00087"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">00087</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1franklin.html#12841ed2bf091c12e34ed2acd5185bd4">result</a>(crossings <span class="keyword">const</span>& state)
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 <span class="keywordflow">return</span> state.crosses;
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 }} <span class="comment">// namespace strategy::within</span>
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 } <span class="comment">// namespace ggl</span>
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_POINT_IN_POLY_FRANKLIN_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/agnostic/point_in_poly_winding.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html">ggl::strategy::within::winding< Point, PointOfSegment, CalculationType ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Within detection using <a class="el" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a> rule. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::within::winding< Point, PointOfSegment, CalculationType >::counter</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1within.html">ggl::strategy::within</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__in__poly__winding_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/agnostic/point_in_poly_winding.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
+<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00008"></a>00008
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGY_AGNOSTIC_POINT_IN_POLY_WINDING_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_AGNOSTIC_POINT_IN_POLY_WINDING_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="select__calculation__type_8hpp.html">ggl/util/select_calculation_type.hpp</a>></span>
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
+<a name="l00021"></a>00021 {
+<a name="l00022"></a>00022
+<a name="l00023"></a><a class="code" href="namespaceggl_1_1strategy_1_1within.html">00023</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">within</a> {
+<a name="l00024"></a>00024
+<a name="l00034"></a>00034 <span class="keyword">template</span>
+<a name="l00035"></a>00035 <
+<a name="l00036"></a>00036 <span class="keyword">typename</span> Point,
+<a name="l00037"></a>00037 <span class="keyword">typename</span> PointOfSegment = Point,
+<a name="l00038"></a>00038 <span class="keyword">typename</span> CalculationType = <span class="keywordtype">void</span>
+<a name="l00039"></a>00039 >
+<a name="l00040"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html">00040</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a>
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__calculation__type.html" title="Utility selecting the &quot;calculation&quot; type.">select_calculation_type</a>
+<a name="l00043"></a>00043 <
+<a name="l00044"></a>00044 Point,
+<a name="l00045"></a>00045 PointOfSegment,
+<a name="l00046"></a>00046 CalculationType
+<a name="l00047"></a>00047 >::type calculation_type;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__side.html" title="Traits class binding a side determination strategy to a coordinate system.">strategy_side</a>
+<a name="l00051"></a>00051 <
+<a name="l00052"></a>00052 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<Point>::type</a>,
+<a name="l00053"></a>00053 Point,
+<a name="l00054"></a>00054 PointOfSegment
+<a name="l00055"></a>00055 >::type <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy_side_type</a>;
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057
+<a name="l00059"></a>00059 <span class="keyword">class </span>counter
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keywordtype">int</span> count;
+<a name="l00062"></a>00062 <span class="keywordtype">bool</span> touches;
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">inline</span> <span class="keywordtype">bool</span> within_no_touch()<span class="keyword"> const</span>
+<a name="l00065"></a>00065 <span class="keyword"> </span>{
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> ! touches && count != 0;
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068 <span class="keyword">public</span> :
+<a name="l00069"></a>00069 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html" title="Within detection using winding rule.">winding</a>;
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="keyword">inline</span> counter()
+<a name="l00072"></a>00072 : count(0)
+<a name="l00073"></a>00073 , touches(<span class="keyword">false</span>)
+<a name="l00074"></a>00074 {}
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076 };
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D>
+<a name="l00080"></a>00080 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_touch(Point <span class="keyword">const</span>& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>,
+<a name="l00081"></a>00081 PointOfSegment <span class="keyword">const</span>& seg1, PointOfSegment <span class="keyword">const</span>& seg2,
+<a name="l00082"></a>00082 counter& state)
+<a name="l00083"></a>00083 {
+<a name="l00084"></a>00084 calculation_type <span class="keyword">const</span> p = get<D>(point);
+<a name="l00085"></a>00085 calculation_type <span class="keyword">const</span> s1 = get<D>(seg1);
+<a name="l00086"></a>00086 calculation_type <span class="keyword">const</span> s2 = get<D>(seg2);
+<a name="l00087"></a>00087 <span class="keywordflow">if</span> ((s1 <= p && s2 >= p) || (s2 <= p && s1 >= p))
+<a name="l00088"></a>00088 {
+<a name="l00089"></a>00089 state.touches = <span class="keyword">true</span>;
+<a name="l00090"></a>00090 }
+<a name="l00091"></a>00091 <span class="keywordflow">return</span> 0;
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> D>
+<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> check_segment(Point <span class="keyword">const</span>& point,
+<a name="l00097"></a>00097 PointOfSegment <span class="keyword">const</span>& seg1, PointOfSegment <span class="keyword">const</span>& seg2,
+<a name="l00098"></a>00098 counter& state)
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 calculation_type <span class="keyword">const</span> p = get<D>(point);
+<a name="l00101"></a>00101 calculation_type <span class="keyword">const</span> s1 = get<D>(seg1);
+<a name="l00102"></a>00102 calculation_type <span class="keyword">const</span> s2 = get<D>(seg2);
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="comment">// Check if one of segment endpoints is at same level of point</span>
+<a name="l00105"></a>00105 <span class="keywordtype">bool</span> eq1 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(s1, p);
+<a name="l00106"></a>00106 <span class="keywordtype">bool</span> eq2 = <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(s2, p);
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keywordflow">if</span> (eq1 && eq2)
+<a name="l00109"></a>00109 {
+<a name="l00110"></a>00110 <span class="comment">// Both equal p -> segment is horizontal (or vertical for D=0)</span>
+<a name="l00111"></a>00111 <span class="comment">// The only thing which has to be done is check if point is ON segment</span>
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> check_touch<1 - D>(point, seg1, seg2,state);
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="keywordflow">return</span>
+<a name="l00116"></a>00116 eq1 ? (s2 > p ? 1 : -1) <span class="comment">// Point on level s1, UP/DOWN depending on s2</span>
+<a name="l00117"></a>00117 : eq2 ? (s1 > p ? -1 : 1) <span class="comment">// idem</span>
+<a name="l00118"></a>00118 : s1 < p && s2 > p ? 2 <span class="comment">// Point between s1 -> s2 --> UP</span>
+<a name="l00119"></a>00119 : s2 < p && s1 > p ? -2 <span class="comment">// Point between s2 -> s1 --> DOWN</span>
+<a name="l00120"></a>00120 : 0;
+<a name="l00121"></a>00121 }
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keyword">public</span> :
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="comment">// Typedefs and static methods to fulfill the concept</span>
+<a name="l00129"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#496cb869cb747a80d470ebac9c892eaf">00129</a> <span class="keyword">typedef</span> Point <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00130"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">00130</a> <span class="keyword">typedef</span> PointOfSegment <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#2e557a6a08f8f5b3c27a1d63ff6f6b9b">segment_point_type</a>;
+<a name="l00131"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">00131</a> <span class="keyword">typedef</span> counter <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#fd7b5eac646626cf446823a10bb5ba95">state_type</a>;
+<a name="l00132"></a>00132
+<a name="l00133"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">00133</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#ec33313d619c08e25278a2eb22f20354">apply</a>(Point <span class="keyword">const</span>& point,
+<a name="l00134"></a>00134 PointOfSegment <span class="keyword">const</span>& s1, PointOfSegment <span class="keyword">const</span>& s2,
+<a name="l00135"></a>00135 counter& state)
+<a name="l00136"></a>00136 {
+<a name="l00137"></a>00137 <span class="keywordtype">int</span> count = check_segment<1>(point, s1, s2, state);
+<a name="l00138"></a>00138 <span class="keywordflow">if</span> (count != 0)
+<a name="l00139"></a>00139 {
+<a name="l00140"></a>00140 <span class="keywordtype">int</span> side = strategy_side_type::side(s1, s2, point);
+<a name="l00141"></a>00141 <span class="keywordflow">if</span> (side == 0)
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="comment">// Point is lying on segment</span>
+<a name="l00144"></a>00144 state.touches = <span class="keyword">true</span>;
+<a name="l00145"></a>00145 state.count = 0;
+<a name="l00146"></a>00146 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00147"></a>00147 }
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 <span class="comment">// Side is NEG for right, POS for left.</span>
+<a name="l00150"></a>00150 <span class="comment">// The count is -2 for down, 2 for up (or -1/1)</span>
+<a name="l00151"></a>00151 <span class="comment">// Side positive thus means UP and LEFTSIDE or DOWN and RIGHTSIDE</span>
+<a name="l00152"></a>00152 <span class="comment">// See accompagnying figure (TODO)</span>
+<a name="l00153"></a>00153 <span class="keywordflow">if</span> (side * count > 0)
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 state.count += count;
+<a name="l00156"></a>00156 }
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159 <span class="keywordflow">return</span> ! state.touches;
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161
+<a name="l00162"></a><a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">00162</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1within_1_1winding.html#2164ea81b8578fb39f9a79090fcedbc4">result</a>(counter <span class="keyword">const</span>& state)
+<a name="l00163"></a>00163 {
+<a name="l00164"></a>00164 <span class="keywordflow">return</span> state.within_no_touch();
+<a name="l00165"></a>00165 }
+<a name="l00166"></a>00166 };
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168 }} <span class="comment">// namespace strategy::within</span>
+<a name="l00169"></a>00169
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00172"></a>00172 <span class="preprocessor"></span>
+<a name="l00173"></a>00173 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment>
+<a name="l00174"></a>00174 <span class="keyword">struct </span>strategy_within<cartesian_tag, cartesian_tag, Point, PointOfSegment>
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 <span class="keyword">typedef</span> strategy::within::winding<Point, PointOfSegment> <a class="code" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">type</a>;
+<a name="l00177"></a>00177 };
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OfSegment>
+<a name="l00180"></a>00180 <span class="keyword">struct </span>strategy_within<geographic_tag, geographic_tag, Point, PointOfSegment>
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> strategy::within::winding<Point, PointOfSegment> <a class="code" href="structggl_1_1strategy__within.html#91c77dd02ec4c0826d7b4debc7aa6599">type</a>;
+<a name="l00183"></a>00183 };
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="preprocessor">#endif</span>
+<a name="l00186"></a>00186 <span class="preprocessor"></span>
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 } <span class="comment">// namespace ggl</span>
+<a name="l00189"></a>00189
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_POINT_IN_POLY_WINDING_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -60,7 +60,7 @@
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="linear__ring_8hpp.html">ggl/geometries/linear_ring.hpp</a>></span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl
@@ -77,7 +77,7 @@
<a name="l00050"></a>00050 >
<a name="l00051"></a><a class="code" href="classggl_1_1polygon.html">00051</a> <span class="keyword">class </span><a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>
<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<Point></a>) );
+<a name="l00053"></a>00053 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<Point></a>) );
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">public</span>:
<a name="l00056"></a>00056
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -42,17 +42,21 @@
</div>
</div>
<div class="contents">
-<h1>ggl/core/concepts/polygon_concept.hpp File Reference</h1>
+<h1>ggl/geometries/concepts/polygon_concept.hpp File Reference</h1>
<p>
<a href="polygon__concept_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< P ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< P ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstPolygon< Geometry >::checker</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< Geometry ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Polygon< Geometry >::checker</b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -40,7 +40,7 @@
<li>File Members</li>
</ul>
</div>
-<h1>ggl/core/concepts/polygon_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<h1>ggl/geometries/concepts/polygon_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
@@ -48,106 +48,112 @@
<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_POLYGON_CONCEPT_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_POLYGON_CONCEPT_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/concept_check.hpp></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/concepts.hpp></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="ring__concept_8hpp.html">ggl/core/concepts/ring_concept.hpp</a>></span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="ring__concept_8hpp.html">ggl/geometries/concepts/ring_concept.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00025"></a>00025
<a name="l00026"></a>00026
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00033"></a>00033 <span class="keyword">struct </span>PolygonChecker
-<a name="l00034"></a>00034 {
-<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<P>::type PNT;
-<a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P>::type R;
-<a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keyword">typename</span> interior_type<P>::type I;
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<I>) );
+<a name="l00031"></a>00031 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00032"></a><a class="code" href="classggl_1_1concept_1_1_polygon.html">00032</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a>
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<Geometry>::type</a> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a>;
+<a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type<Geometry>::type</a> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a>;
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<point_type></a>) );
+<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_ring.html" title="Checks (linear) ring concept.">concept::Ring<ring_type></a>) );
<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keywordtype">void</span> constraints()
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 P* poly;
-<a name="l00044"></a>00044 R& e = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
-<a name="l00045"></a>00045 <span class="keyword">const</span> R& ce = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 I& i = <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
-<a name="l00048"></a>00048 <span class="keyword">const</span> I& ci = <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 boost::ignore_unused_variable_warning(e);
-<a name="l00051"></a>00051 boost::ignore_unused_variable_warning(ce);
-<a name="l00052"></a>00052 boost::ignore_unused_variable_warning(i);
-<a name="l00053"></a>00053 boost::ignore_unused_variable_warning(ci);
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055 };
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 } <span class="comment">// namespace detail</span>
-<a name="l00058"></a>00058 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00059"></a>00059 <span class="preprocessor"></span>
-<a name="l00064"></a>00064 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00065"></a><a class="code" href="structggl_1_1concept_1_1_polygon.html">00065</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> : detail::PolygonChecker<P>
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="keyword">private</span>:
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<P>::type</a> PNT;
-<a name="l00070"></a>00070 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<P>::type</a> R;
-<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type<P>::type</a> I;
-<a name="l00072"></a>00072
-<a name="l00073"></a>00073 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<PNT></a>) );
-<a name="l00074"></a>00074 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">concept::Ring<R></a>) );
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="keyword">public</span>:
-<a name="l00077"></a>00077
-<a name="l00079"></a><a class="code" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">00079</a> <a class="code" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278" title="BCCL macro to check the Polygon concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a>)
-<a name="l00080"></a>00080 {
-<a name="l00081"></a>00081 <span class="comment">// Check if it can be modified</span>
-<a name="l00082"></a>00082 P* poly;
-<a name="l00083"></a>00083 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(*poly);
-<a name="l00084"></a>00084 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(*poly, PNT());
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 this->constraints();
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088 };
+<a name="l00041"></a>00041 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<interior_type>) );
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">struct </span>checker
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply()
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 Geometry* poly;
+<a name="l00048"></a>00048 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a>& e = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
+<a name="l00049"></a>00049 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a> <span class="keyword">const</span>& ce = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a>& i = <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
+<a name="l00052"></a>00052 <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a> <span class="keyword">const</span>& ci = <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 boost::ignore_unused_variable_warning(e);
+<a name="l00055"></a>00055 boost::ignore_unused_variable_warning(ce);
+<a name="l00056"></a>00056 boost::ignore_unused_variable_warning(i);
+<a name="l00057"></a>00057 boost::ignore_unused_variable_warning(ci);
+<a name="l00058"></a>00058 boost::ignore_unused_variable_warning(poly);
+<a name="l00059"></a>00059 }
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 };
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keyword">public</span>:
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00066"></a><a class="code" href="classggl_1_1concept_1_1_polygon.html#7540fca7a0a925f5d598dd300c1f78cf">00066</a> <a class="code" href="classggl_1_1concept_1_1_polygon.html#7540fca7a0a925f5d598dd300c1f78cf">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_polygon.html" title="Checks polygon concept.">Polygon</a>)
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 <span class="comment">// Check if it can be modified</span>
+<a name="l00069"></a>00069 <span class="comment">// TODO</span>
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="comment">//Geometry* poly;</span>
+<a name="l00072"></a>00072 <span class="comment">//clear(*poly);</span>
+<a name="l00073"></a>00073 <span class="comment">//append(*poly, point_type());</span>
+<a name="l00074"></a>00074
+<a name="l00075"></a>00075 checker::apply();
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077 };
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00086"></a>00086 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00087"></a><a class="code" href="classggl_1_1concept_1_1_const_polygon.html">00087</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a>
+<a name="l00088"></a>00088 {
<a name="l00089"></a>00089
-<a name="l00090"></a>00090
-<a name="l00097"></a>00097 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00098"></a><a class="code" href="structggl_1_1concept_1_1_const_polygon.html">00098</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> : detail::PolygonChecker<P>
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 <span class="keyword">private</span>:
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<P>::type</a> PNT;
-<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<P>::type</a> R;
-<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type<P>::type</a> I;
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<PNT></a>) );
-<a name="l00107"></a>00107 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">concept::ConstRing<R></a>) );
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="keyword">public</span>:
-<a name="l00110"></a>00110
-<a name="l00112"></a><a class="code" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">00112</a> <a class="code" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca" title="BCCL macro to check the ConstPolygon concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a>)
-<a name="l00113"></a>00113 {
-<a name="l00114"></a>00114 this->constraints();
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116 };
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118 }} <span class="comment">// namespace ggl::concept</span>
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_POLYGON_CONCEPT_HPP</span>
+<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type<Geometry>::type</a> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a>;
+<a name="l00092"></a>00092 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type<Geometry>::type</a> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a>;
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<point_type></a>) );
+<a name="l00095"></a>00095 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">concept::ConstRing<ring_type></a>) );
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<interior_type>) );
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keyword">struct </span>checker
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply()
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 Geometry* poly;
+<a name="l00104"></a>00104 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a> <span class="keyword">const</span>& ce = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(*poly);
+<a name="l00105"></a>00105 <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">interior_type</a> <span class="keyword">const</span>& ci = <a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(*poly);
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 boost::ignore_unused_variable_warning(ce);
+<a name="l00108"></a>00108 boost::ignore_unused_variable_warning(ci);
+<a name="l00109"></a>00109 boost::ignore_unused_variable_warning(poly);
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111 };
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="keyword">public</span>:
+<a name="l00115"></a>00115
+<a name="l00116"></a><a class="code" href="classggl_1_1concept_1_1_const_polygon.html#f06cb4ef8d7d95972d95dcb90cdb4d3c">00116</a> <a class="code" href="classggl_1_1concept_1_1_const_polygon.html#f06cb4ef8d7d95972d95dcb90cdb4d3c">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a>)
+<a name="l00117"></a>00117 {
+<a name="l00118"></a>00118 checker::apply();
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120 };
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_POLYGON_CONCEPT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -122,7 +122,7 @@
<a name="l00089"></a><a class="code" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5">00089</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<G>::type</a> <a class="code" href="group__access.html#g8923ef58b174aa129ba64465cbcf95b5" title="get a coordinate value of a point, result is in RADIAN">get_as_radian</a>(<span class="keyword">const</span> G& geometry)
<a name="l00090"></a>00090 {
<a name="l00091"></a>00091 <span class="keywordflow">return</span> detail::radian_access<D, G,
-<a name="l00092"></a>00092 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<G>::type</a>><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(geometry);
+<a name="l00092"></a>00092 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<G>::type</a>><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point">::get</a>(geometry);
<a name="l00093"></a>00093 }
<a name="l00094"></a>00094
<a name="l00095"></a>00095
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/core/radius.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1radius__type.html">ggl::radius_type< G ></a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__access.html">ggl::traits::radius_access< G, T, D ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class to get/set radius of a circle/sphere/(ellipse). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1radius__type.html">ggl::traits::radius_type< G ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class indicating the type (double,float,...) of the radius of a circle or a sphere. More...<br></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t I, typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">radius_type< G >::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl::get_radius</a> (const G &geometry)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to get radius. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t I, typename G > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl::set_radius</a> (G &geometry, const typename radius_type< G >::type &radius)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Function to set the radius of a circle / sphere / (ellipse). <br></td></tr>
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radius_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/core/radius.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009
-<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_RADIUS_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_RADIUS_HPP</span>
-<a name="l00012"></a>00012 <span class="preprocessor"></span>
-<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <cstddef></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>></span>
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">namespace </span>ggl {
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>traits {
-<a name="l00026"></a>00026
-<a name="l00044"></a>00044 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D>
-<a name="l00045"></a><a class="code" href="structggl_1_1traits_1_1radius__access.html">00045</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1radius__access.html" title="Traits class to get/set radius of a circle/sphere/(ellipse).">radius_access</a> {};
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047
-<a name="l00057"></a>00057 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00058"></a><a class="code" href="structggl_1_1traits_1_1radius__type.html">00058</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1radius__type.html" title="Traits class indicating the type (double,float,...) of the radius of a circle or...">radius_type</a> {};
-<a name="l00059"></a>00059
-<a name="l00060"></a>00060 } <span class="comment">// namespace traits</span>
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
-<a name="l00065"></a>00065 {
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G>
-<a name="l00068"></a>00068 <span class="keyword">struct </span><a class="code" href="structggl_1_1radius__type.html">radius_type</a>
-<a name="l00069"></a>00069 {
-<a name="l00070"></a>00070 <span class="comment">//typedef core_dispatch_specialization_required type;</span>
-<a name="l00071"></a>00071 };
-<a name="l00072"></a>00072
-<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D>
-<a name="l00077"></a>00077 <span class="keyword">struct </span>radius_access
-<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 <span class="comment">//static inline T get(const G& ) {}</span>
-<a name="l00080"></a>00080 <span class="comment">//static inline void set(G& g, const T& value) {}</span>
-<a name="l00081"></a>00081 };
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00084"></a>00084 <span class="keyword">struct </span>radius_type<nsphere_tag, S>
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keyword">typedef</span> <span class="keyword">typename</span> traits::radius_type<S>::type type;
-<a name="l00087"></a>00087 };
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D>
-<a name="l00090"></a>00090 <span class="keyword">struct </span>radius_access<nsphere_tag, S, T, D>
-<a name="l00091"></a>00091 {
-<a name="l00092"></a>00092 BOOST_STATIC_ASSERT((D == 0));
-<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keyword">inline</span> T <span class="keyword">get</span>(<span class="keyword">const</span> S& s)
-<a name="l00094"></a>00094 {
-<a name="l00095"></a>00095 <span class="keywordflow">return</span> <a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">traits::radius_access<S, T, D>::get</a>(s);
-<a name="l00096"></a>00096 }
-<a name="l00097"></a>00097 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(S& s, <span class="keyword">const</span> T& radius)
-<a name="l00098"></a>00098 {
-<a name="l00099"></a>00099 <a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">traits::radius_access<S, T, D>::set</a>(s, radius);
-<a name="l00100"></a>00100 }
-<a name="l00101"></a>00101 };
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 } <span class="comment">// namespace core_dispatch</span>
-<a name="l00104"></a>00104 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00105"></a>00105 <span class="preprocessor"></span>
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00108"></a><a class="code" href="structggl_1_1radius__type.html">00108</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1radius__type.html">radius_type</a>
-<a name="l00109"></a>00109 {
-<a name="l00110"></a><a class="code" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">00110</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type <a class="code" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a>;
-<a name="l00111"></a><a class="code" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">00111</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> core_dispatch::radius_type<typename tag<G>::type, <a class="code" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a>><a class="code" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">::type</a> <a class="code" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a>;
-<a name="l00112"></a>00112 };
-<a name="l00113"></a>00113
-<a name="l00122"></a>00122 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> I, <span class="keyword">typename</span> G>
-<a name="l00123"></a><a class="code" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">00123</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type<G>::type</a> <a class="code" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172" title="Function to get radius.">get_radius</a>(<span class="keyword">const</span> G& geometry)
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type rconst;
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <span class="keywordflow">return</span> core_dispatch::radius_access<typename tag<G>::type, rconst,
-<a name="l00128"></a>00128 <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type<G>::type</a>, I><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(geometry);
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130
-<a name="l00139"></a>00139 <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> I, <span class="keyword">typename</span> G>
-<a name="l00140"></a><a class="code" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">00140</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79" title="Function to set the radius of a circle / sphere / (ellipse).">set_radius</a>(G& geometry, <span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type<G>::type</a>& radius)
-<a name="l00141"></a>00141 {
-<a name="l00142"></a>00142 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<G>::type rconst;
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 core_dispatch::radius_access<typename tag<G>::type, G,
-<a name="l00145"></a>00145 <span class="keyword">typename</span> <a class="code" href="structggl_1_1radius__type.html">radius_type<G>::type</a>, I><a class="code" href="group__access.html#g411ad2eab588e3fa0f0a3d35c79cbb4a" title="assign coordinate value to a point / sphere">::set</a>(geometry, radius);
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 } <span class="comment">// namespace ggl</span>
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151
-<a name="l00152"></a>00152 <span class="preprocessor">#endif // GGL_RADIUS_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/replace__point__type_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -69,76 +69,69 @@
<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="polygon_8hpp.html">ggl/geometries/polygon.hpp</a>></span>
<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="box_8hpp.html">ggl/geometries/box.hpp</a>></span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include <<a class="code" href="nsphere_8hpp.html">ggl/geometries/nsphere.hpp</a>></span>
+<a name="l00030"></a>00030
<a name="l00031"></a>00031
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="keyword">namespace </span>ggl {
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00039"></a>00039 <span class="keyword">struct </span>replace_point_type {};
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00042"></a>00042 <span class="keyword">struct </span>replace_point_type<point_tag, Geometry, NewPointType>
-<a name="l00043"></a>00043 {
-<a name="l00044"></a>00044 <span class="keyword">typedef</span> NewPointType type;
-<a name="l00045"></a>00045 };
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00048"></a>00048 <span class="keyword">struct </span>replace_point_type<linestring_tag, Geometry, NewPointType>
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keyword">typedef</span> linestring<NewPointType> type;
-<a name="l00051"></a>00051 };
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00054"></a>00054 <span class="keyword">struct </span>replace_point_type<segment_tag, Geometry, NewPointType>
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keyword">typedef</span> segment<NewPointType> type;
-<a name="l00057"></a>00057 };
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00060"></a>00060 <span class="keyword">struct </span>replace_point_type<ring_tag, Geometry, NewPointType>
-<a name="l00061"></a>00061 {
-<a name="l00062"></a>00062 <span class="keyword">typedef</span> linear_ring<NewPointType> type;
-<a name="l00063"></a>00063 };
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00066"></a>00066 <span class="keyword">struct </span>replace_point_type<box_tag, Geometry, NewPointType>
-<a name="l00067"></a>00067 {
-<a name="l00068"></a>00068 <span class="keyword">typedef</span> box<NewPointType> type;
-<a name="l00069"></a>00069 };
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00072"></a>00072 <span class="keyword">struct </span>replace_point_type<polygon_tag, Geometry, NewPointType>
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 <span class="keyword">typedef</span> polygon<NewPointType> type;
-<a name="l00075"></a>00075 };
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>ggl {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
+<a name="l00038"></a>00038 <span class="keyword">struct </span>replace_point_type {};
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
+<a name="l00041"></a>00041 <span class="keyword">struct </span>replace_point_type<point_tag, Geometry, NewPointType>
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> NewPointType type;
+<a name="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
+<a name="l00047"></a>00047 <span class="keyword">struct </span>replace_point_type<linestring_tag, Geometry, NewPointType>
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> linestring<NewPointType> type;
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
+<a name="l00053"></a>00053 <span class="keyword">struct </span>replace_point_type<segment_tag, Geometry, NewPointType>
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">typedef</span> segment<NewPointType> type;
+<a name="l00056"></a>00056 };
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
+<a name="l00059"></a>00059 <span class="keyword">struct </span>replace_point_type<ring_tag, Geometry, NewPointType>
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">typedef</span> linear_ring<NewPointType> type;
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
+<a name="l00065"></a>00065 <span class="keyword">struct </span>replace_point_type<box_tag, Geometry, NewPointType>
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keyword">typedef</span> box<NewPointType> type;
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
+<a name="l00071"></a>00071 <span class="keyword">struct </span>replace_point_type<polygon_tag, Geometry, NewPointType>
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">typedef</span> polygon<NewPointType> type;
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075
<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00078"></a>00078 <span class="keyword">struct </span>replace_point_type<nsphere_tag, Geometry, NewPointType>
-<a name="l00079"></a>00079 {
-<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type<Geometry>::type</a> coortype;
-<a name="l00081"></a>00081 <span class="keyword">typedef</span> nsphere<NewPointType, coortype> type;
-<a name="l00082"></a>00082 };
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 } <span class="comment">// namespace core_dispatch</span>
-<a name="l00085"></a>00085 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00086"></a>00086 <span class="preprocessor"></span>
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
-<a name="l00089"></a><a class="code" href="structggl_1_1replace__point__type.html">00089</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1replace__point__type.html">replace_point_type</a> : core_dispatch::<a class="code" href="structggl_1_1replace__point__type.html">replace_point_type</a>
-<a name="l00090"></a>00090 <
-<a name="l00091"></a>00091 typename tag<Geometry>::type,
-<a name="l00092"></a>00092 typename boost::remove_const<Geometry>::type,
-<a name="l00093"></a>00093 NewPointType
-<a name="l00094"></a>00094 >
-<a name="l00095"></a>00095 {};
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 } <span class="comment">// namespace ggl</span>
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="preprocessor">#endif // GGL_CORE_REPLACE_POINT_TYPE_HPP</span>
+<a name="l00077"></a>00077 } <span class="comment">// namespace core_dispatch</span>
+<a name="l00078"></a>00078 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span>
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> NewPo<span class="keywordtype">int</span>Type>
+<a name="l00082"></a><a class="code" href="structggl_1_1replace__point__type.html">00082</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1replace__point__type.html">replace_point_type</a> : core_dispatch::<a class="code" href="structggl_1_1replace__point__type.html">replace_point_type</a>
+<a name="l00083"></a>00083 <
+<a name="l00084"></a>00084 typename tag<Geometry>::type,
+<a name="l00085"></a>00085 typename boost::remove_const<Geometry>::type,
+<a name="l00086"></a>00086 NewPointType
+<a name="l00087"></a>00087 >
+<a name="l00088"></a>00088 {};
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 } <span class="comment">// namespace ggl</span>
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="preprocessor">#endif // GGL_CORE_REPLACE_POINT_TYPE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -42,17 +42,17 @@
</div>
</div>
<div class="contents">
-<h1>ggl/core/concepts/ring_concept.hpp File Reference</h1>
+<h1>ggl/geometries/concepts/ring_concept.hpp File Reference</h1>
<p>
<a href="ring__concept_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< R ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring< R ></a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_ring.html">ggl::concept::Ring< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/ring__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -40,7 +40,7 @@
<li>File Members</li>
</ul>
</div>
-<h1>ggl/core/concepts/ring_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<h1>ggl/geometries/concepts/ring_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
@@ -49,68 +49,74 @@
<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009
-<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_RING_CONCEPT_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_RING_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_RING_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_RING_CONCEPT_HPP</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept_check.hpp></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/concepts.hpp></span>
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="core_2point__type_8hpp.html">ggl/core/point_type.hpp</a>></span>
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="append_8hpp.html">ggl/algorithms/append.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="check__clear_8hpp.html">ggl/geometries/concepts/detail/check_clear.hpp</a>></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="check__append_8hpp.html">ggl/geometries/concepts/detail/check_append.hpp</a>></span>
+<a name="l00025"></a>00025
<a name="l00026"></a>00026
-<a name="l00027"></a>00027
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031
-<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keyword">typename</span> R>
-<a name="l00037"></a><a class="code" href="structggl_1_1concept_1_1_ring.html">00037</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a>
-<a name="l00038"></a>00038 {
-<a name="l00039"></a>00039 <span class="keyword">private</span> :
-<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<R>::type</a> P;
+<a name="l00029"></a>00029
+<a name="l00034"></a>00034 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00035"></a><a class="code" href="classggl_1_1concept_1_1_ring.html">00035</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_ring.html" title="Checks (linear) ring concept.">Ring</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<point_type></a>) );
+<a name="l00040"></a>00040 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<Geometry>) );
<a name="l00041"></a>00041
-<a name="l00042"></a>00042 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<P></a>) );
-<a name="l00043"></a>00043 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<R>) );
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">public</span> :
<a name="l00044"></a>00044
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="keyword">public</span> :
-<a name="l00048"></a><a class="code" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">00048</a> <a class="code" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69" title="BCCL macro to check the Ring concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a>)
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="comment">// Check if it can be modified</span>
-<a name="l00051"></a>00051 R* ls;
-<a name="l00052"></a>00052 <a class="code" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f" title="Clears a linestring, linear ring or polygon (exterior+interiors) or multi*.">clear</a>(*ls);
-<a name="l00053"></a>00053 <a class="code" href="group__access.html#g8cfdebdb885a95bacb1305744f0d0d7c" title="Appends one or more points to a linestring, linear-ring, polygon, multi.">append</a>(*ls, P());
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055 };
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057
-<a name="l00064"></a>00064 <span class="keyword">template</span> <<span class="keyword">typename</span> R>
-<a name="l00065"></a><a class="code" href="structggl_1_1concept_1_1_const_ring.html">00065</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">ConstRing</a>
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="keyword">private</span> :
-<a name="l00068"></a>00068 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<R>::type</a> P;
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P></a>) );
-<a name="l00071"></a>00071 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<R>) );
+<a name="l00045"></a><a class="code" href="classggl_1_1concept_1_1_ring.html#677c8fe0efef95edf50da6001d551c86">00045</a> <a class="code" href="classggl_1_1concept_1_1_ring.html#677c8fe0efef95edf50da6001d551c86">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_ring.html" title="Checks (linear) ring concept.">Ring</a>)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="comment">// Check if it can be modified</span>
+<a name="l00048"></a>00048 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> use_std = <a class="code" href="structggl_1_1traits_1_1use__std.html" title="Traits class, optional, indicating that the std-library should be used.">traits::use_std</a>
+<a name="l00049"></a>00049 <
+<a name="l00050"></a>00050 <span class="keyword">typename</span> boost::remove_const<Geometry>::type
+<a name="l00051"></a>00051 >::value;
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 Geometry* ring;
+<a name="l00054"></a>00054 <a class="code" href="structggl_1_1concept_1_1detail_1_1check__clear.html">detail::check_clear<Geometry, use_std>::apply</a>(*ring);
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>* p;
+<a name="l00057"></a>00057 <a class="code" href="structggl_1_1concept_1_1detail_1_1check__append.html">detail::check_append<Geometry, point_type, use_std>::apply</a>(*ring, *p);
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 };
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061
+<a name="l00068"></a>00068 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00069"></a><a class="code" href="classggl_1_1concept_1_1_const_ring.html">00069</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">ConstRing</a>
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
<a name="l00072"></a>00072
-<a name="l00073"></a>00073 <span class="keyword">public</span> :
-<a name="l00075"></a><a class="code" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">00075</a> <a class="code" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2" title="BCCL macro to check the ConstLinearRing concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">ConstRing</a>)
-<a name="l00076"></a>00076 {
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 };
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 }} <span class="comment">// namespace ggl::concept</span>
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_RING_CONCEPT_HPP</span>
+<a name="l00073"></a>00073 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<point_type></a>) );
+<a name="l00074"></a>00074 BOOST_CONCEPT_ASSERT( (boost::RandomAccessRangeConcept<Geometry>) );
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">public</span> :
+<a name="l00078"></a>00078
+<a name="l00079"></a><a class="code" href="classggl_1_1concept_1_1_const_ring.html#a9f230560b046e65e8074cf94c8995ae">00079</a> <a class="code" href="classggl_1_1concept_1_1_const_ring.html#a9f230560b046e65e8074cf94c8995ae">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_const_ring.html" title="Checks (linear) ring concept (const version).">ConstRing</a>)
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 };
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_RING_CONCEPT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -57,7 +57,7 @@
<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/type_traits/is_const.hpp></span>
<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="keyword">namespace </span>ggl
<a name="l00021"></a>00021 {
@@ -69,8 +69,8 @@
<a name="l00040"></a>00040 <span class="keyword">typename</span> boost::mpl::if_
<a name="l00041"></a>00041 <
<a name="l00042"></a>00042 boost::is_const<ConstOrNonConstPoint>,
-<a name="l00043"></a>00043 <a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<ConstOrNonConstPoint></a>,
-<a name="l00044"></a>00044 <a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<ConstOrNonConstPoint></a>
+<a name="l00043"></a>00043 <a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<ConstOrNonConstPoint></a>,
+<a name="l00044"></a>00044 <a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<ConstOrNonConstPoint></a>
<a name="l00045"></a>00045 >
<a name="l00046"></a>00046 ) );
<a name="l00047"></a>00047
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -42,26 +42,24 @@
</div>
</div>
<div class="contents">
-<h1>ggl/core/concepts/segment_concept.hpp File Reference</h1>
+<h1>ggl/geometries/concepts/segment_concept.hpp File Reference</h1>
<p>
<a href="segment__concept_8hpp_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< S ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstSegment< S >::dimension_checker< C, D, N ></b></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version). More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstSegment< Geometry >::dimension_checker< Index, Dimension, DimensionCount ></b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstSegment< S >::dimension_checker< C, N, N ></b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::ConstSegment< Geometry >::dimension_checker< Index, DimensionCount, DimensionCount ></b></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment< S ></a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_segment.html">ggl::concept::Segment< Geometry ></a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Segment< S >::dimension_checker< C, D, N ></b></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. More...<br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Segment< Geometry >::dimension_checker< Index, Dimension, DimensionCount ></b></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Segment< S >::dimension_checker< C, N, N ></b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::Segment< Geometry >::dimension_checker< Index, DimensionCount, DimensionCount ></b></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -40,7 +40,7 @@
<li>File Members</li>
</ul>
</div>
-<h1>ggl/core/concepts/segment_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<h1>ggl/geometries/concepts/segment_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
@@ -49,13 +49,13 @@
<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009
-<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_GEOMETRIES_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRIES_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept_check.hpp></span>
<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/geometries/concepts/point_concept.hpp</a>></span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
@@ -67,84 +67,84 @@
<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
<a name="l00026"></a>00026
<a name="l00027"></a>00027
-<a name="l00032"></a>00032 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00033"></a><a class="code" href="structggl_1_1concept_1_1_segment.html">00033</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a>
+<a name="l00032"></a>00032 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00033"></a><a class="code" href="classggl_1_1concept_1_1_segment.html">00033</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a>
<a name="l00034"></a>00034 {
-<a name="l00035"></a>00035 <span class="keyword">private</span> :
-<a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<S>::type</a> P;
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">concept::Point<P></a>) );
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_point.html" title="Checks point concept.">concept::Point<point_type></a>) );
+<a name="l00038"></a>00038
<a name="l00039"></a>00039
-<a name="l00040"></a>00040
-<a name="l00042"></a>00042 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N>
-<a name="l00043"></a>00043 <span class="keyword">struct </span>dimension_checker
+<a name="l00040"></a>00040 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Index, <span class="keywordtype">size_t</span> Dimension, <span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00041"></a>00041 <span class="keyword">struct </span>dimension_checker
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 S* s;
-<a name="l00048"></a>00048 ggl::set<C, D>(*s, ggl::get<C, D>(*s));
-<a name="l00049"></a>00049 dimension_checker<C, D + 1, N>::check();
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051 };
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> N>
-<a name="l00054"></a>00054 <span class="keyword">struct </span>dimension_checker<C, N, N>
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
-<a name="l00057"></a>00057 };
+<a name="l00045"></a>00045 Geometry* s;
+<a name="l00046"></a>00046 ggl::set<Index, Dimension>(*s, ggl::get<Index, Dimension>(*s));
+<a name="l00047"></a>00047 dimension_checker<Index, Dimension + 1, DimensionCount>::apply();
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Index, <span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00052"></a>00052 <span class="keyword">struct </span>dimension_checker<Index, DimensionCount, DimensionCount>
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00055"></a>00055 };
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">public</span> :
<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="keyword">public</span> :
-<a name="l00061"></a><a class="code" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">00061</a> <a class="code" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749" title="BCCL macro to check the Segment concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a>)
-<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<P>::value</a>;
-<a name="l00064"></a>00064 dimension_checker<0, 0, N>::check();
-<a name="l00065"></a>00065 dimension_checker<1, 0, N>::check();
-<a name="l00066"></a>00066 }
-<a name="l00067"></a>00067 };
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069
-<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00077"></a><a class="code" href="structggl_1_1concept_1_1_const_segment.html">00077</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a>
-<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 <span class="keyword">private</span> :
-<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<S>::type</a> P;
-<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<S>::type</a> T;
+<a name="l00059"></a><a class="code" href="classggl_1_1concept_1_1_segment.html#06e37d7f85929c034fc42e6c930440ff">00059</a> <a class="code" href="classggl_1_1concept_1_1_segment.html#06e37d7f85929c034fc42e6c930440ff">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_segment.html" title="Checks segment concept.">Segment</a>)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> n = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<point_type>::type::value</a>;
+<a name="l00062"></a>00062 dimension_checker<0, 0, n>::apply();
+<a name="l00063"></a>00063 dimension_checker<1, 0, n>::apply();
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067
+<a name="l00074"></a>00074 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00075"></a><a class="code" href="classggl_1_1concept_1_1_const_segment.html">00075</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a>
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type<Geometry>::type</a> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00078"></a>00078 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<Geometry>::type</a> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a>;
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 BOOST_CONCEPT_ASSERT( (<a class="code" href="classggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<point_type></a>) );
+<a name="l00081"></a>00081
<a name="l00082"></a>00082
-<a name="l00083"></a>00083 BOOST_CONCEPT_ASSERT( (<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">concept::ConstPoint<P></a>) );
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085
-<a name="l00087"></a>00087 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> D, <span class="keywordtype">size_t</span> N>
-<a name="l00088"></a>00088 <span class="keyword">struct </span>dimension_checker
-<a name="l00089"></a>00089 {
-<a name="l00090"></a>00090 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
-<a name="l00091"></a>00091 {
-<a name="l00092"></a>00092 <span class="keyword">const</span> S* s = 0;
-<a name="l00093"></a>00093 T coord(ggl::get<C, D>(*s));
-<a name="l00094"></a>00094 boost::ignore_unused_variable_warning(coord);
-<a name="l00095"></a>00095 dimension_checker<C, D + 1, N>::check();
-<a name="l00096"></a>00096 }
-<a name="l00097"></a>00097 };
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> C, <span class="keywordtype">size_t</span> N>
-<a name="l00100"></a>00100 <span class="keyword">struct </span>dimension_checker<C, N, N>
-<a name="l00101"></a>00101 {
-<a name="l00102"></a>00102 <span class="keyword">static</span> <span class="keywordtype">void</span> check() {}
-<a name="l00103"></a>00103 };
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keyword">public</span> :
-<a name="l00107"></a><a class="code" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">00107</a> <a class="code" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce" title="BCCL macro to check the ConstSegment concept.">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a>)
-<a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> N = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<P>::value</a>;
-<a name="l00110"></a>00110 dimension_checker<0, 0, N>::check();
-<a name="l00111"></a>00111 dimension_checker<1, 0, N>::check();
-<a name="l00112"></a>00112 }
-<a name="l00113"></a>00113 };
+<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Index, <span class="keywordtype">size_t</span> Dimension, <span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00084"></a>00084 <span class="keyword">struct </span>dimension_checker
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keyword">static</span> <span class="keywordtype">void</span> apply()
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keyword">const</span> Geometry* s = 0;
+<a name="l00089"></a>00089 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type</a> coord(ggl::get<Index, Dimension>(*s));
+<a name="l00090"></a>00090 boost::ignore_unused_variable_warning(coord);
+<a name="l00091"></a>00091 dimension_checker<Index, Dimension + 1, DimensionCount>::apply();
+<a name="l00092"></a>00092 }
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">template</span> <<span class="keywordtype">size_t</span> Index, <span class="keywordtype">size_t</span> DimensionCount>
+<a name="l00096"></a>00096 <span class="keyword">struct </span>dimension_checker<Index, DimensionCount, DimensionCount>
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 <span class="keyword">static</span> <span class="keywordtype">void</span> apply() {}
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keyword">public</span> :
+<a name="l00102"></a>00102
+<a name="l00103"></a><a class="code" href="classggl_1_1concept_1_1_const_segment.html#5c373393cd5b2420fa38c81526f8863c">00103</a> <a class="code" href="classggl_1_1concept_1_1_const_segment.html#5c373393cd5b2420fa38c81526f8863c">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a>)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> n = <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<point_type>::type::value</a>;
+<a name="l00106"></a>00106 dimension_checker<0, 0, n>::apply();
+<a name="l00107"></a>00107 dimension_checker<1, 0, n>::apply();
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109 };
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00113"></a>00113
<a name="l00114"></a>00114
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116 }} <span class="comment">// namespace ggl::concept</span>
-<a name="l00117"></a>00117
-<a name="l00118"></a>00118
-<a name="l00119"></a>00119 <span class="preprocessor">#endif // GGL_CORE_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
+<a name="l00115"></a>00115 <span class="preprocessor">#endif // GGL_GEOMETRIES_CONCEPTS_SEGMENT_CONCEPT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/util/select_calculation_type.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type< Point1, Point2, CalculationType ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility selecting the "calculation" type. More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/select__calculation__type_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/util/select_calculation_type.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 2009, Geodan, Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_UTIL_SELECT_CALCULATION_TYPE_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_SELECT_CALCULATION_TYPE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/mpl/if.hpp></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/type_traits.hpp></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
+<a name="l00016"></a>00016
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl
+<a name="l00022"></a>00022 {
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024
+<a name="l00034"></a>00034 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>1, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>2, <span class="keyword">typename</span> CalculationType>
+<a name="l00035"></a><a class="code" href="structggl_1_1select__calculation__type.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1select__calculation__type.html" title="Utility selecting the &quot;calculation&quot; type.">select_calculation_type</a>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keyword">typename</span>
+<a name="l00038"></a>00038 boost::mpl::if_c
+<a name="l00039"></a>00039 <
+<a name="l00040"></a>00040 boost::is_void<CalculationType>::type::value,
+<a name="l00041"></a>00041 <span class="keyword">typename</span> <a class="code" href="structggl_1_1select__coordinate__type.html" title="Utility selecting the most precise coordinate type of two geometries.">select_coordinate_type</a>
+<a name="l00042"></a>00042 <
+<a name="l00043"></a>00043 Point1,
+<a name="l00044"></a>00044 Point2
+<a name="l00045"></a>00045 ><a class="code" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">::type</a>,
+<a name="l00046"></a>00046 CalculationType
+<a name="l00047"></a><a class="code" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">00047</a> ><a class="code" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">::type</a> <a class="code" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a>;
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 } <span class="comment">// namespace ggl</span>
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="preprocessor">#endif // GGL_UTIL_SELECT_CALCULATION_TYPE_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,10 +50,10 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename P , typename T > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">ggl::selected</a> (G const &geometry, P const &selection_point, T const &search_radius)</td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Point , typename RadiusType > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9">ggl::selected</a> (Geometry const &geometry, Point const &selection_point, RadiusType const &search_radius)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if one geometry is selected by a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> lying within or in the neighborhood of that geometry. <br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/selected_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,21 +54,21 @@
<a name="l00012"></a>00012 <span class="preprocessor">#include <cmath></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include <cstddef></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept/requires.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="core_2topological__dimension_8hpp.html">ggl/core/topological_dimension.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="algorithms_2within_8hpp.html">ggl/algorithms/within.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="core_2topological__dimension_8hpp.html">ggl/core/topological_dimension.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00038"></a>00038 <span class="keyword">namespace </span>ggl
<a name="l00039"></a>00039 {
<a name="l00040"></a>00040
<a name="l00044"></a>00044 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a> {
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a> {
<a name="l00046"></a>00046
<a name="l00052"></a>00052 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
<a name="l00053"></a>00053 <span class="keyword">struct </span>differences_loop
@@ -230,58 +230,61 @@
<a name="l00209"></a>00209 {
<a name="l00210"></a>00210 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(G <span class="keyword">const</span>& geometry, P <span class="keyword">const</span>& selection_point, T <span class="keyword">const</span>& search_radius)
<a name="l00211"></a>00211 {
-<a name="l00212"></a>00212 <span class="comment">// Note the reversion, point-in-poly -> first point, then poly</span>
-<a name="l00213"></a>00213 <span class="comment">// Selected-at-point -> first geometry, then point</span>
-<a name="l00214"></a>00214 <span class="keywordflow">return</span> dispatch::within<point_tag, Tag, P, G>::apply(selection_point, geometry);
-<a name="l00215"></a>00215 }
-<a name="l00216"></a>00216 };
-<a name="l00217"></a>00217
-<a name="l00218"></a>00218 }} <span class="comment">// namespace detail::selected</span>
-<a name="l00219"></a>00219 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00220"></a>00220 <span class="preprocessor"></span>
-<a name="l00221"></a>00221
-<a name="l00222"></a>00222 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00223"></a>00223 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00224"></a>00224 {
-<a name="l00225"></a>00225
-<a name="l00229"></a>00229 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T>
-<a name="l00230"></a>00230 <span class="keyword">struct </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>
-<a name="l00231"></a>00231 {
-<a name="l00232"></a>00232 };
-<a name="l00233"></a>00233
-<a name="l00234"></a>00234 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> T>
-<a name="l00235"></a>00235 <span class="keyword">struct </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a><point_tag, P1, 0, P2, T> : detail::<a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::close_to_point<P1, P2, T> { };
+<a name="l00212"></a>00212 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(selection_point, geometry);
+<a name="l00213"></a>00213 }
+<a name="l00214"></a>00214 };
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 }} <span class="comment">// namespace detail::selected</span>
+<a name="l00217"></a>00217 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00218"></a>00218 <span class="preprocessor"></span>
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00221"></a>00221 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00222"></a>00222 {
+<a name="l00223"></a>00223
+<a name="l00227"></a>00227 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, std::<span class="keywordtype">size_t</span> D, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T>
+<a name="l00228"></a>00228 <span class="keyword">struct </span><a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>
+<a name="l00229"></a>00229 {
+<a name="l00230"></a>00230 };
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> T>
+<a name="l00233"></a>00233 <span class="keyword">struct </span><a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a><point_tag, P1, 0, P2, T> : detail::<a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::close_to_point<P1, P2, T> { };
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 <span class="comment">// SEGMENT, TODO HERE (close_to_segment)</span>
<a name="l00236"></a>00236
-<a name="l00237"></a>00237 <span class="comment">// SEGMENT, TODO HERE (close_to_segment)</span>
-<a name="l00238"></a>00238
-<a name="l00239"></a>00239 <span class="keyword">template</span> <<span class="keyword">typename</span> L, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T>
-<a name="l00240"></a>00240 <span class="keyword">struct </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a><linestring_tag, L, 1, P, T> : detail::<a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::close_to_range<L, P, T> { };
-<a name="l00241"></a>00241
-<a name="l00242"></a>00242 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T>
-<a name="l00243"></a>00243 <span class="keyword">struct </span><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a><Tag, G, 2, P, T> : detail::<a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::use_within<Tag, G, P, T> { };
-<a name="l00244"></a>00244
-<a name="l00245"></a>00245 } <span class="comment">// namespace dispatch</span>
-<a name="l00246"></a>00246 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00247"></a>00247 <span class="preprocessor"></span>
-<a name="l00248"></a>00248
-<a name="l00261"></a>00261 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T>
-<a name="l00262"></a><a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3">00262</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>(G <span class="keyword">const</span>& geometry, P <span class="keyword">const</span>& selection_point, T <span class="keyword">const</span>& search_radius)
+<a name="l00237"></a>00237 <span class="keyword">template</span> <<span class="keyword">typename</span> L, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T>
+<a name="l00238"></a>00238 <span class="keyword">struct </span><a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a><linestring_tag, L, 1, P, T> : detail::<a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::close_to_range<L, P, T> { };
+<a name="l00239"></a>00239
+<a name="l00240"></a>00240 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> P, <span class="keyword">typename</span> T>
+<a name="l00241"></a>00241 <span class="keyword">struct </span><a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a><Tag, G, 2, P, T> : detail::<a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>::use_within<Tag, G, P, T> { };
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 } <span class="comment">// namespace dispatch</span>
+<a name="l00244"></a>00244 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00245"></a>00245 <span class="preprocessor"></span>
+<a name="l00246"></a>00246
+<a name="l00259"></a>00259 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> RadiusType>
+<a name="l00260"></a><a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9">00260</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">selected</a>(Geometry <span class="keyword">const</span>& geometry,
+<a name="l00261"></a>00261 Point <span class="keyword">const</span>& selection_point,
+<a name="l00262"></a>00262 RadiusType <span class="keyword">const</span>& search_radius)
<a name="l00263"></a>00263 {
-<a name="l00264"></a>00264 <span class="keyword">typedef</span> <a class="code" href="group__selected.html#g9607e50fb982b6dd259eb0329512bca3" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">dispatch::selected</a>
-<a name="l00265"></a>00265 <
-<a name="l00266"></a>00266 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>,
-<a name="l00267"></a>00267 G,
-<a name="l00268"></a>00268 <a class="code" href="structggl_1_1topological__dimension.html" title="Meta-function returning the topological dimension of a geometry.">topological_dimension<G>::value</a>,
-<a name="l00269"></a>00269 P,
-<a name="l00270"></a>00270 T
-<a name="l00271"></a>00271 > selector_type;
-<a name="l00272"></a>00272
-<a name="l00273"></a>00273 <span class="keywordflow">return</span> selector_type::apply(geometry, selection_point, search_radius);
-<a name="l00274"></a>00274 }
+<a name="l00264"></a>00264 concept::check<const Geometry>();
+<a name="l00265"></a>00265 concept::check<const Point>();
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267 <span class="keyword">typedef</span> <a class="code" href="group__selected.html#gee6b6b8f5c14c3a2b7c85c48ba492bc9" title="Checks if one geometry is selected by a point lying within or in the neighborhood...">dispatch::selected</a>
+<a name="l00268"></a>00268 <
+<a name="l00269"></a>00269 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00270"></a>00270 Geometry,
+<a name="l00271"></a>00271 <a class="code" href="structggl_1_1topological__dimension.html" title="Meta-function returning the topological dimension of a geometry.">topological_dimension<Geometry>::value</a>,
+<a name="l00272"></a>00272 Point,
+<a name="l00273"></a>00273 RadiusType
+<a name="l00274"></a>00274 > selector_type;
<a name="l00275"></a>00275
-<a name="l00276"></a>00276 } <span class="comment">// namespace ggl</span>
-<a name="l00277"></a>00277
-<a name="l00278"></a>00278 <span class="preprocessor">#endif // GGL_ALGORITHMS_SELECTED_HPP</span>
+<a name="l00276"></a>00276 <span class="keywordflow">return</span> selector_type::apply(geometry, selection_point, search_radius);
+<a name="l00277"></a>00277 }
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279 } <span class="comment">// namespace ggl</span>
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="preprocessor">#endif // GGL_ALGORITHMS_SELECTED_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/self__intersection__points_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -61,143 +61,147 @@
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>></span>
<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00023"></a>00023
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl
-<a name="l00026"></a>00026 {
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>self_intersection_points {
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="keyword">template</span>
-<a name="l00032"></a>00032 <
-<a name="l00033"></a>00033 <span class="keyword">typename</span> Geometry,
-<a name="l00034"></a>00034 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00035"></a>00035 >
-<a name="l00036"></a>00036 <span class="keyword">struct </span>check_ips
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
-<a name="l00039"></a>00039 Geometry <span class="keyword">const</span>& geometry,
-<a name="l00040"></a>00040 <span class="keywordtype">bool</span> return_if_found,
-<a name="l00041"></a>00041 IntersectionPoints& intersection_points)
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
-<a name="l00044"></a>00044 <
-<a name="l00045"></a>00045 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box < typename ggl::point_type<Geometry>::type</a> >, 1
-<a name="l00046"></a>00046 > sections_type;
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 sections_type sec;
-<a name="l00049"></a>00049 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry, sec);
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
-<a name="l00052"></a>00052 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<sections_type>::type
-<a name="l00053"></a>00053 it1 = sec.begin();
-<a name="l00054"></a>00054 it1 != sec.end();
-<a name="l00055"></a>00055 ++it1)
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<sections_type>::type
-<a name="l00058"></a>00058 it2 = sec.begin();
-<a name="l00059"></a>00059 it2 != sec.end();
-<a name="l00060"></a>00060 ++it2)
-<a name="l00061"></a>00061 {
-<a name="l00062"></a>00062 <span class="keywordflow">if</span> (! <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(it1->bounding_box, it2->bounding_box)
-<a name="l00063"></a>00063 && ! it1->duplicate
-<a name="l00064"></a>00064 && ! it2->duplicate
-<a name="l00065"></a>00065 )
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 ggl::detail::get_intersection_points::get_ips_in_sections
-<a name="l00068"></a>00068 <
-<a name="l00069"></a>00069 Geometry, Geometry,
-<a name="l00070"></a>00070 <span class="keyword">typename</span> boost::range_value<sections_type>::type,
-<a name="l00071"></a>00071 <span class="keyword">typename</span> boost::range_value<sections_type>::type,
-<a name="l00072"></a>00072 IntersectionPoints
-<a name="l00073"></a>00073 >::apply(
-<a name="l00074"></a>00074 0, geometry, *it1,
-<a name="l00075"></a>00075 0, geometry, *it2,
-<a name="l00076"></a>00076 return_if_found,
-<a name="l00077"></a>00077 intersection_points, trivial);
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079 }
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081 <span class="keywordflow">return</span> trivial;
-<a name="l00082"></a>00082 }
-<a name="l00083"></a>00083 };
-<a name="l00084"></a>00084
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 }} <span class="comment">// namespace detail::self_intersection_points</span>
-<a name="l00087"></a>00087 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00088"></a>00088 <span class="preprocessor"></span>
-<a name="l00089"></a>00089
-<a name="l00090"></a>00090 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="keyword">template</span>
-<a name="l00095"></a>00095 <
-<a name="l00096"></a>00096 <span class="keyword">typename</span> GeometryTag,
-<a name="l00097"></a>00097 <span class="keywordtype">bool</span> IsMulti,
-<a name="l00098"></a>00098 <span class="keyword">typename</span> Geometry,
-<a name="l00099"></a>00099 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 >
-<a name="l00102"></a>00102 <span class="keyword">struct </span>self_intersection_points
-<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104 };
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keyword">template</span><<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00108"></a>00108 <span class="keyword">struct </span>self_intersection_points
-<a name="l00109"></a>00109 <
-<a name="l00110"></a>00110 ring_tag, false, Ring,
-<a name="l00111"></a>00111 IntersectionPoints
-<a name="l00112"></a>00112 >
-<a name="l00113"></a>00113 : detail::self_intersection_points::check_ips
-<a name="l00114"></a>00114 <
-<a name="l00115"></a>00115 Ring,
-<a name="l00116"></a>00116 IntersectionPoints
-<a name="l00117"></a>00117 >
-<a name="l00118"></a>00118 {};
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00122"></a>00122 <span class="keyword">struct </span>self_intersection_points
-<a name="l00123"></a>00123 <
-<a name="l00124"></a>00124 polygon_tag, false, Polygon,
-<a name="l00125"></a>00125 IntersectionPoints
-<a name="l00126"></a>00126 >
-<a name="l00127"></a>00127 : detail::self_intersection_points::check_ips
-<a name="l00128"></a>00128 <
-<a name="l00129"></a>00129 Polygon,
-<a name="l00130"></a>00130 IntersectionPoints
-<a name="l00131"></a>00131 >
-<a name="l00132"></a>00132 {};
-<a name="l00133"></a>00133
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 } <span class="comment">// namespace dispatch</span>
-<a name="l00136"></a>00136 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00137"></a>00137 <span class="preprocessor"></span>
-<a name="l00138"></a>00138
-<a name="l00148"></a>00148 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
-<a name="l00149"></a><a class="code" href="group__overlay.html#g402420dc15139d3893450978f30920b9">00149</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>(Geometry <span class="keyword">const</span>& geometry,
-<a name="l00150"></a>00150 IntersectionPoints& intersection_points)
-<a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type ncg_type;
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 <span class="keywordflow">return</span> dispatch::self_intersection_points
-<a name="l00155"></a>00155 <
-<a name="l00156"></a>00156 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg_type>::type</a>,
-<a name="l00157"></a>00157 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg_type>::type::value</a>,
-<a name="l00158"></a>00158 ncg_type,
-<a name="l00159"></a>00159 IntersectionPoints
-<a name="l00160"></a>00160 >::apply(geometry, <span class="keyword">false</span>, intersection_points);
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 } <span class="comment">// namespace ggl</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="get__intersection__points_8hpp.html">ggl/algorithms/overlay/get_intersection_points.hpp</a>></span>
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>self_intersection_points {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span>
+<a name="l00034"></a>00034 <
+<a name="l00035"></a>00035 <span class="keyword">typename</span> Geometry,
+<a name="l00036"></a>00036 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00037"></a>00037 >
+<a name="l00038"></a>00038 <span class="keyword">struct </span>check_ips
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(
+<a name="l00041"></a>00041 Geometry <span class="keyword">const</span>& geometry,
+<a name="l00042"></a>00042 <span class="keywordtype">bool</span> return_if_found,
+<a name="l00043"></a>00043 IntersectionPoints& intersection_points)
+<a name="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">ggl::sections</a>
+<a name="l00046"></a>00046 <
+<a name="l00047"></a>00047 <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">ggl::box < typename ggl::point_type<Geometry>::type</a> >, 1
+<a name="l00048"></a>00048 > sections_type;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 sections_type sec;
+<a name="l00051"></a>00051 <a class="code" href="group__sectionalize.html#g94c69212e1ba4829515eb5a31acd29e1" title="Split a geometry into monotonic sections.">ggl::sectionalize</a>(geometry, sec);
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 <span class="keywordtype">bool</span> trivial = <span class="keyword">true</span>;
+<a name="l00054"></a>00054 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<sections_type>::type
+<a name="l00055"></a>00055 it1 = sec.begin();
+<a name="l00056"></a>00056 it1 != sec.end();
+<a name="l00057"></a>00057 ++it1)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<sections_type>::type
+<a name="l00060"></a>00060 it2 = sec.begin();
+<a name="l00061"></a>00061 it2 != sec.end();
+<a name="l00062"></a>00062 ++it2)
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keywordflow">if</span> (! <a class="code" href="group__boolean__relations.html#g6d772a2eb8ad083e056bdbf0ec7ae8a1" title="Calculate if two geometries are disjoint.">ggl::disjoint</a>(it1->bounding_box, it2->bounding_box)
+<a name="l00065"></a>00065 && ! it1->duplicate
+<a name="l00066"></a>00066 && ! it2->duplicate
+<a name="l00067"></a>00067 )
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 ggl::detail::get_intersection_points::get_ips_in_sections
+<a name="l00070"></a>00070 <
+<a name="l00071"></a>00071 Geometry, Geometry,
+<a name="l00072"></a>00072 <span class="keyword">typename</span> boost::range_value<sections_type>::type,
+<a name="l00073"></a>00073 <span class="keyword">typename</span> boost::range_value<sections_type>::type,
+<a name="l00074"></a>00074 IntersectionPoints
+<a name="l00075"></a>00075 >::apply(
+<a name="l00076"></a>00076 0, geometry, *it1,
+<a name="l00077"></a>00077 0, geometry, *it2,
+<a name="l00078"></a>00078 return_if_found,
+<a name="l00079"></a>00079 intersection_points, trivial);
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 <span class="keywordflow">return</span> trivial;
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085 };
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087
+<a name="l00088"></a>00088 }} <span class="comment">// namespace detail::self_intersection_points</span>
+<a name="l00089"></a>00089 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00090"></a>00090 <span class="preprocessor"></span>
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00094"></a>00094 {
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="keyword">template</span>
+<a name="l00097"></a>00097 <
+<a name="l00098"></a>00098 <span class="keyword">typename</span> GeometryTag,
+<a name="l00099"></a>00099 <span class="keywordtype">bool</span> IsMulti,
+<a name="l00100"></a>00100 <span class="keyword">typename</span> Geometry,
+<a name="l00101"></a>00101 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 >
+<a name="l00104"></a>00104 <span class="keyword">struct </span>self_intersection_points
+<a name="l00105"></a>00105 {
+<a name="l00106"></a>00106 };
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="keyword">template</span><<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00110"></a>00110 <span class="keyword">struct </span>self_intersection_points
+<a name="l00111"></a>00111 <
+<a name="l00112"></a>00112 ring_tag, false, Ring,
+<a name="l00113"></a>00113 IntersectionPoints
+<a name="l00114"></a>00114 >
+<a name="l00115"></a>00115 : detail::self_intersection_points::check_ips
+<a name="l00116"></a>00116 <
+<a name="l00117"></a>00117 Ring,
+<a name="l00118"></a>00118 IntersectionPoints
+<a name="l00119"></a>00119 >
+<a name="l00120"></a>00120 {};
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00124"></a>00124 <span class="keyword">struct </span>self_intersection_points
+<a name="l00125"></a>00125 <
+<a name="l00126"></a>00126 polygon_tag, false, Polygon,
+<a name="l00127"></a>00127 IntersectionPoints
+<a name="l00128"></a>00128 >
+<a name="l00129"></a>00129 : detail::self_intersection_points::check_ips
+<a name="l00130"></a>00130 <
+<a name="l00131"></a>00131 Polygon,
+<a name="l00132"></a>00132 IntersectionPoints
+<a name="l00133"></a>00133 >
+<a name="l00134"></a>00134 {};
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 } <span class="comment">// namespace dispatch</span>
+<a name="l00138"></a>00138 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span>
+<a name="l00140"></a>00140
+<a name="l00150"></a>00150 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>s>
+<a name="l00151"></a><a class="code" href="group__overlay.html#g402420dc15139d3893450978f30920b9">00151</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__overlay.html#g9b41efeface4cb10fbce39c8bcc8bec9" title="Calculate intersection points of two geometries.">get_intersection_points</a>(Geometry <span class="keyword">const</span>& geometry,
+<a name="l00152"></a>00152 IntersectionPoints& intersection_points)
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 concept::check<Geometry>();
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type ncg_type;
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keywordflow">return</span> dispatch::self_intersection_points
+<a name="l00159"></a>00159 <
+<a name="l00160"></a>00160 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<ncg_type>::type</a>,
+<a name="l00161"></a>00161 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<ncg_type>::type::value</a>,
+<a name="l00162"></a>00162 ncg_type,
+<a name="l00163"></a>00163 IntersectionPoints
+<a name="l00164"></a>00164 >::apply(geometry, <span class="keyword">false</span>, intersection_points);
+<a name="l00165"></a>00165 }
<a name="l00166"></a>00166
-<a name="l00167"></a>00167 <span class="preprocessor">#endif // GGL_ALGORITHMS_SELF_INTERSECTION_POINTS_HPP</span>
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 } <span class="comment">// namespace ggl</span>
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="preprocessor">#endif // GGL_ALGORITHMS_SELF_INTERSECTION_POINTS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -81,7 +81,7 @@
<a name="l00043"></a>00043 <span class="comment">// - floating point value</span>
<a name="l00044"></a>00044 <span class="keyword">struct </span>apply_checker
<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keywordtype">void</span> check()
+<a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">check</a>()
<a name="l00047"></a>00047 {
<a name="l00048"></a>00048 std::vector<typename ds_type::point_type> *v;
<a name="l00049"></a>00049 Strategy::apply(*v, std::back_inserter(*v), 1.0);
@@ -91,7 +91,7 @@
<a name="l00053"></a>00053 <span class="keyword">public</span> :
<a name="l00054"></a><a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html#457fbf2fa1075f00c6d8090d47e1fc3d">00054</a> <a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html#457fbf2fa1075f00c6d8090d47e1fc3d">BOOST_CONCEPT_USAGE</a>(<a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">SimplifyStrategy</a>)
<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 apply_checker::check();
+<a name="l00056"></a>00056 <a class="code" href="group__core.html#gaced8195f8f52790d78ac0fc62a5bb68" title="Checks, in compile-time, the concept of any geometry.">apply_checker::check</a>();
<a name="l00057"></a>00057
<a name="l00058"></a>00058 }
<a name="l00059"></a>00059 };
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl/strategies/spherical/sph_area.hpp File Reference</h1>
-<p>
-Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">ggl::strategy::area::by_spherical_excess< P ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Area calculation by spherical excess. More...<br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>ggl::strategy::area::by_spherical_excess< P >::excess_sum</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy.html">ggl::strategy</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1area.html">ggl::strategy::area</a></td></tr>
-
-</table>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,215 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li>Classes</li>
- <li class="current">Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>File List</li>
- <li>File Members</li>
- </ul>
- </div>
-<h1>ggl/strategies/spherical/sph_area.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
-<a name="l00002"></a>00002 <span class="comment">//</span>
-<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
-<a name="l00004"></a>00004 <span class="comment">// Copyright Bruno Lalande 2008, 2009</span>
-<a name="l00005"></a>00005 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
-<a name="l00006"></a>00006 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
-<a name="l00007"></a>00007 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
-<a name="l00008"></a>00008
-<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_SPHERICAL_SPH_AREA_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_SPHERICAL_SPH_AREA_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="distance__haversine_8hpp.html">ggl/strategies/spherical/distance_haversine.hpp</a>></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="strategy__transform_8hpp.html">ggl/strategies/strategy_transform.hpp</a>></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="get__cs__as__radian_8hpp.html">ggl/util/get_cs_as_radian.hpp</a>></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="keyword">namespace </span>ggl
-<a name="l00019"></a>00019 {
-<a name="l00020"></a>00020 <span class="keyword">namespace </span>strategy
-<a name="l00021"></a>00021 {
-<a name="l00022"></a>00022 <span class="keyword">namespace </span><a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>
-<a name="l00023"></a>00023 {
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026
-<a name="l00044"></a>00044 <span class="keyword">template</span><<span class="keyword">typename</span> P>
-<a name="l00045"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html">00045</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html" title="Area calculation by spherical excess.">by_spherical_excess</a>
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 <span class="keyword">private</span> :
-<a name="l00048"></a>00048 <span class="keyword">struct </span>excess_sum
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keywordtype">double</span> m_sum;
-<a name="l00051"></a>00051 <span class="keywordtype">double</span> m_radius;
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="comment">// TODO: make this 1.0 & implement other construct to let user specify</span>
-<a name="l00054"></a>00054 <span class="keyword">inline</span> excess_sum(<span class="keywordtype">double</span> radius = 1.0) <span class="comment">//constants::average_earth_radius)</span>
-<a name="l00055"></a>00055 : m_sum(0)
-<a name="l00056"></a>00056 , m_radius(radius)
-<a name="l00057"></a>00057 {}
-<a name="l00058"></a>00058 <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="group__area.html#gaffb471f2ef6dd4842563e533094fa0d" title="Calculate area of a geometry.">area</a>()<span class="keyword"> const</span>
-<a name="l00059"></a>00059 <span class="keyword"> </span>{
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> - m_sum * m_radius * m_radius;
-<a name="l00061"></a>00061 <span class="comment">//constants::average_earth_radius * constants::average_earth_radius;</span>
-<a name="l00062"></a>00062 }
-<a name="l00063"></a>00063 };
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="comment">// Distances are calculated on unit sphere here</span>
-<a name="l00066"></a>00066 <a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html">strategy::distance::haversine<P, P></a> m_unit_sphere;
-<a name="l00067"></a>00067 <span class="keywordtype">double</span> m_radius;
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keyword">public</span> :
-<a name="l00070"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">00070</a> <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">return_type</a>;
-<a name="l00071"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">00071</a> <span class="keyword">typedef</span> excess_sum <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a>;
-<a name="l00072"></a>00072
-<a name="l00073"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">00073</a> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#59b71eaa070bf9d8e68e4d4f8263e06e">by_spherical_excess</a>(<span class="keywordtype">double</span> radius = 1.0)
-<a name="l00074"></a>00074 : m_unit_sphere(1)
-<a name="l00075"></a>00075 , m_radius(radius)
-<a name="l00076"></a>00076 {}
-<a name="l00077"></a>00077
-<a name="l00078"></a><a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">00078</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#b05fba0d842e52d836c6e603045e8f7b">operator()</a>(<a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment<const P></a> <span class="keyword">const</span>& <a class="code" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a>, <a class="code" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#ca224a54396a8ff91a31831888ddc65e">state_type</a>& state)<span class="keyword"> const</span>
-<a name="l00079"></a>00079 <span class="keyword"> </span>{
-<a name="l00080"></a>00080 <span class="keywordflow">if</span> (get<0>(segment.<a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>) != get<0>(segment.<a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>))
-<a name="l00081"></a>00081 {
-<a name="l00082"></a>00082 <span class="keyword">typedef</span> <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>
-<a name="l00083"></a>00083 <
-<a name="l00084"></a>00084 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">coordinate_type<P>::type</a>,
-<a name="l00085"></a>00085 2,
-<a name="l00086"></a>00086 <span class="keyword">typename</span> ggl::detail::get_cs_as_radian
-<a name="l00087"></a>00087 <
-<a name="l00088"></a>00088 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<P>::type</a>
-<a name="l00089"></a>00089 >::type
-<a name="l00090"></a>00090 > PR;
-<a name="l00091"></a>00091 PR p1, p2;
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="comment">// Select transformation strategy and transform to radians (if necessary)</span>
-<a name="l00094"></a>00094 <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__transform.html" title="Traits class binding a transformation strategy to a coordinate system.">strategy_transform</a><
-<a name="l00095"></a>00095 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<P>::type</a>,
-<a name="l00096"></a>00096 <span class="keyword">typename</span> <a class="code" href="structggl_1_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<PR>::type</a>,
-<a name="l00097"></a>00097 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<P>::type</a>,
-<a name="l00098"></a>00098 <span class="keyword">typename</span> <a class="code" href="structggl_1_1coordinate__system.html" title="Meta-function which defines coordinate system for any geometry.">coordinate_system<PR>::type</a>,
-<a name="l00099"></a>00099 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<P>::value</a>,
-<a name="l00100"></a>00100 <a class="code" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension<PR>::value</a>,
-<a name="l00101"></a>00101 P, PR>::type transform_strategy;
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 transform_strategy(segment.<a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>, p1);
-<a name="l00104"></a>00104 transform_strategy(segment.<a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>, p2);
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="comment">// Distance p1 p2</span>
-<a name="l00107"></a>00107 <span class="keywordtype">double</span> a = m_unit_sphere(segment.<a class="code" href="classggl_1_1segment.html#76c7f18dd19699ccb7353137b8981c65">first</a>, segment.<a class="code" href="classggl_1_1segment.html#543b3806df8d74067157587323917a71">second</a>);
-<a name="l00108"></a>00108 <span class="comment">// Sides on unit sphere to south pole</span>
-<a name="l00109"></a>00109 <span class="keywordtype">double</span> b = 0.5 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">math::pi</a> - ggl::get<1>(p2);
-<a name="l00110"></a>00110 <span class="keywordtype">double</span> c = 0.5 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">math::pi</a> - ggl::get<1>(p1);
-<a name="l00111"></a>00111 <span class="comment">// Semi parameter</span>
-<a name="l00112"></a>00112 <span class="keywordtype">double</span> s = 0.5 * (a + b + c);
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <span class="comment">// E: spherical excess, using l'Huiller's formula</span>
-<a name="l00115"></a>00115 <span class="comment">// [tg(e / 4)]2 = tg[s / 2] tg[(s-a) / 2] tg[(s-b) / 2] tg[(s-c) / 2]</span>
-<a name="l00116"></a>00116 <span class="keywordtype">double</span> E = 4.0 * atan(sqrt(fabs(tan(s / 2)
-<a name="l00117"></a>00117 * tan((s - a) / 2)
-<a name="l00118"></a>00118 * tan((s - b) / 2)
-<a name="l00119"></a>00119 * tan((s - c) / 2))));
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 E = fabs(E);
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="comment">// In right direction: positive, add area. In left direction: negative, subtract area.</span>
-<a name="l00124"></a>00124 <span class="comment">// Longitude comparisons are not so obvious. If one is negative, other is positive,</span>
-<a name="l00125"></a>00125 <span class="comment">// we have to take the date into account.</span>
-<a name="l00126"></a>00126 <span class="comment">// TODO: check this / enhance this, should be more robust. See also the "grow" for ll</span>
-<a name="l00127"></a>00127 <span class="comment">// TODO: use minmax or "smaller"/"compare" strategy for this</span>
-<a name="l00128"></a>00128 <span class="keywordtype">double</span> lon1 = ggl::get<0>(p1) < 0
-<a name="l00129"></a>00129 ? ggl::get<0>(p1) + <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>
-<a name="l00130"></a>00130 : ggl::get<0>(p1);
-<a name="l00131"></a>00131 <span class="keywordtype">double</span> lon2 = ggl::get<0>(p2) < 0
-<a name="l00132"></a>00132 ? ggl::get<0>(p2) + <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>
-<a name="l00133"></a>00133 : ggl::get<0>(p2);
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="keywordflow">if</span> (lon2 < lon1)
-<a name="l00136"></a>00136 {
-<a name="l00137"></a>00137 E= -E;
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 state.m_sum += E;
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00143"></a>00143 }
-<a name="l00144"></a>00144 };
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 } <span class="comment">// namespace area</span>
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148 } <span class="comment">// namespace strategy</span>
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00152"></a>00152 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> LL>
-<a name="l00153"></a>00153 <span class="keyword">struct </span>strategy_area<spherical_tag, LL>
-<a name="l00154"></a>00154 {
-<a name="l00155"></a>00155 <span class="keyword">typedef</span> strategy::area::by_spherical_excess<LL> <a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a>;
-<a name="l00156"></a>00156 };
-<a name="l00157"></a>00157
-<a name="l00158"></a>00158 <span class="keyword">template</span> <<span class="keyword">typename</span> LL>
-<a name="l00159"></a>00159 <span class="keyword">struct </span>strategy_area<geographic_tag, LL>
-<a name="l00160"></a>00160 {
-<a name="l00161"></a>00161 <span class="keyword">typedef</span> strategy::area::by_spherical_excess<LL> <a class="code" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">type</a>;
-<a name="l00162"></a>00162 };
-<a name="l00163"></a>00163 <span class="preprocessor">#endif</span>
-<a name="l00164"></a>00164 <span class="preprocessor"></span>
-<a name="l00165"></a>00165 } <span class="comment">// namespace ggl</span>
-<a name="l00166"></a>00166
-<a name="l00167"></a>00167 <span class="preprocessor">#endif // GGL_STRATEGIES_SPHERICAL_SPH_AREA_HPP</span>
-</pre></div></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -62,7 +62,7 @@
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>strategy
<a name="l00022"></a>00022 {
-<a name="l00023"></a>00023 <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>
+<a name="l00023"></a>00023 <span class="keyword">namespace </span><a class="code" href="group__envelope.html#g4676217c7bc60742c3dc7dad7bbfa2b8" title="Calculate envelope of a geometry, using a specified strategy.">envelope</a>
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="comment">// envelope calculation strategy for latlong-points</span>
<a name="l00026"></a><a class="code" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">00026</a> <span class="keyword">namespace </span>shift
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,32 +54,33 @@
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#include <<a class="code" href="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="cart__area_8hpp.html">ggl/strategies/cartesian/cart_area.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="cart__centroid_8hpp.html">ggl/strategies/cartesian/cart_centroid.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="area__by__triangles_8hpp.html">ggl/strategies/cartesian/area_by_triangles.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="centroid__bashein__detmer_8hpp.html">ggl/strategies/cartesian/centroid_bashein_detmer.hpp</a>></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="cart__compare_8hpp.html">ggl/strategies/cartesian/cart_compare.hpp</a>></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="cart__distance_8hpp.html">ggl/strategies/cartesian/cart_distance.hpp</a>></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="cart__envelope_8hpp.html">ggl/strategies/cartesian/cart_envelope.hpp</a>></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="cart__side_8hpp.html">ggl/strategies/cartesian/cart_side.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="cart__within_8hpp.html">ggl/strategies/cartesian/cart_within.hpp</a>></span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="distance__haversine_8hpp.html">ggl/strategies/spherical/distance_haversine.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="distance__cross__track_8hpp.html">ggl/strategies/spherical/distance_cross_track.hpp</a>></span>
-<a name="l00025"></a>00025
-<a name="l00026"></a>00026 <span class="preprocessor">#include <<a class="code" href="sph__area_8hpp.html">ggl/strategies/spherical/sph_area.hpp</a>></span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="sph__envelope_8hpp.html">ggl/strategies/spherical/sph_envelope.hpp</a>></span>
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="agn__convex__hull_8hpp.html">ggl/strategies/agnostic/agn_convex_hull.hpp</a>></span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include <<a class="code" href="simplify__douglas__peucker_8hpp.html">ggl/strategies/agnostic/simplify_douglas_peucker.hpp</a>></span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include <<a class="code" href="agn__within_8hpp.html">ggl/strategies/agnostic/agn_within.hpp</a>></span>
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="preprocessor">#include <<a class="code" href="strategy__transform_8hpp.html">ggl/strategies/strategy_transform.hpp</a>></span>
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="preprocessor">#include <<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.hpp</a>></span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include <<a class="code" href="map__transformer_8hpp.html">ggl/strategies/transform/map_transformer.hpp</a>></span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include <<a class="code" href="inverse__transformer_8hpp.html">ggl/strategies/transform/inverse_transformer.hpp</a>></span>
-<a name="l00038"></a>00038
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__in__poly__franklin_8hpp.html">ggl/strategies/cartesian/point_in_poly_franklin.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="point__in__poly__crossings__multiply_8hpp.html">ggl/strategies/cartesian/point_in_poly_crossings_multiply.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="distance__haversine_8hpp.html">ggl/strategies/spherical/distance_haversine.hpp</a>></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="distance__cross__track_8hpp.html">ggl/strategies/spherical/distance_cross_track.hpp</a>></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="area__huiller_8hpp.html">ggl/strategies/spherical/area_huiller.hpp</a>></span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="sph__envelope_8hpp.html">ggl/strategies/spherical/sph_envelope.hpp</a>></span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#include <<a class="code" href="agn__convex__hull_8hpp.html">ggl/strategies/agnostic/agn_convex_hull.hpp</a>></span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include <<a class="code" href="simplify__douglas__peucker_8hpp.html">ggl/strategies/agnostic/simplify_douglas_peucker.hpp</a>></span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include <<a class="code" href="point__in__poly__winding_8hpp.html">ggl/strategies/agnostic/point_in_poly_winding.hpp</a>></span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#include <<a class="code" href="strategy__transform_8hpp.html">ggl/strategies/strategy_transform.hpp</a>></span>
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="preprocessor">#include <<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.hpp</a>></span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include <<a class="code" href="map__transformer_8hpp.html">ggl/strategies/transform/map_transformer.hpp</a>></span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include <<a class="code" href="inverse__transformer_8hpp.html">ggl/strategies/transform/inverse_transformer.hpp</a>></span>
<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="preprocessor">#endif // GGL_STRATEGIES_HPP</span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#endif // GGL_STRATEGIES_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategy__transform_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -60,7 +60,7 @@
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="arithmetic_8hpp.html">ggl/arithmetic/arithmetic.hpp</a>></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="access_8hpp.html">ggl/core/access.hpp</a>></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
+<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="copy_8hpp.html">ggl/util/copy.hpp</a>></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="select__coordinate__type_8hpp.html">ggl/util/select_coordinate_type.hpp</a>></span>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Box< B > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box< B ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">BOOST_CONCEPT_USAGE</a>(Box)</td><td><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box< B ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_box.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_box.html">Box</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Box< B > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::Box" -->Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< C, N, N ></b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_box.html#6fa5d3378f1f34978c07d54abf69f753">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_box.html">Box</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename B><br>
- struct ggl::concept::Box< B ></h3>
-
-Checks <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00030">30</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="6fa5d3378f1f34978c07d54abf69f753"></a><!-- doxytag: member="ggl::concept::Box::BOOST_CONCEPT_USAGE" ref="6fa5d3378f1f34978c07d54abf69f753" args="(Box)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename B > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_box.html">ggl::concept::Box</a>< B >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_box.html">Box</a>< B > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00055">55</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstBox< B > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< B ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">BOOST_CONCEPT_USAGE</a>(ConstBox)</td><td><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox< B ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_box.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstBox< B > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::ConstBox" -->Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< C, N, N ></b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_box.html#0deab699f7cecb2854ba52635635405f">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename B><br>
- struct ggl::concept::ConstBox< B ></h3>
-
-Checks <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-<p>
-The <a class="el" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_box.html" title="Checks box concept, using Boost Concept Check Library and metafunctions.">Box</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
-<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00071">71</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="0deab699f7cecb2854ba52635635405f"></a><!-- doxytag: member="ggl::concept::ConstBox::BOOST_CONCEPT_USAGE" ref="0deab699f7cecb2854ba52635635405f" args="(ConstBox)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename B > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ggl::concept::ConstBox</a>< B >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_box.html">ConstBox</a>< B > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_box.html" title="Checks Box concept (const version).">ConstBox</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="box__concept_8hpp_source.html#l00098">98</a> of file <a class="el" href="box__concept_8hpp_source.html">box_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstLinestring< L > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< L ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">BOOST_CONCEPT_USAGE</a>(ConstLinestring)</td><td><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring< L ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_linestring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,120 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstLinestring< L > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::ConstLinestring" -->Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html#8154a02204ad8183d57420846e7b5449">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename L><br>
- struct ggl::concept::ConstLinestring< L ></h3>
-
-Checks <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-<p>
-The <a class="el" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
-<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00065">65</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="8154a02204ad8183d57420846e7b5449"></a><!-- doxytag: member="ggl::concept::ConstLinestring::BOOST_CONCEPT_USAGE" ref="8154a02204ad8183d57420846e7b5449" args="(ConstLinestring)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename L > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ggl::concept::ConstLinestring</a>< L >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_linestring.html">ConstLinestring</a>< L > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_linestring.html" title="Checks Linestring concept (const version).">ConstLinestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00076">76</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstPoint< X > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< X ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">BOOST_CONCEPT_USAGE</a>(ConstPoint)</td><td><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint< X ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_point.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,127 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstPoint< X > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::ConstPoint" -->Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< P, Count, Count ></b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_point.html#4fa25bd423c491516e0453c2aad75a0a">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename X><br>
- struct ggl::concept::ConstPoint< X ></h3>
-
-Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-<p>
-The <a class="el" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
-<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00106">106</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="4fa25bd423c491516e0453c2aad75a0a"></a><!-- doxytag: member="ggl::concept::ConstPoint::BOOST_CONCEPT_USAGE" ref="4fa25bd423c491516e0453c2aad75a0a" args="(ConstPoint)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename X > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ggl::concept::ConstPoint</a>< X >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_point.html">ConstPoint</a>< X > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ConstPoint</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00138">138</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstPolygon< P > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< P ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">BOOST_CONCEPT_USAGE</a>(ConstPolygon)</td><td><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon< P ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_polygon.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,120 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstPolygon< P > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::ConstPolygon" -->Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename P><br>
- struct ggl::concept::ConstPolygon< P ></h3>
-
-Checks <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-<p>
-The <a class="el" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
-<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00098">98</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="efa7d199dbc8b2e17308e175fe4e33ca"></a><!-- doxytag: member="ggl::concept::ConstPolygon::BOOST_CONCEPT_USAGE" ref="efa7d199dbc8b2e17308e175fe4e33ca" args="(ConstPolygon)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ggl::concept::ConstPolygon</a>< P >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_polygon.html">ConstPolygon</a>< P > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_polygon.html" title="Checks Polygon concept (const version).">ConstPolygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00112">112</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstRing< R > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< R ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">BOOST_CONCEPT_USAGE</a>(ConstRing)</td><td><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing< R ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_ring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,120 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstRing< R > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::ConstRing" -->Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the ConstLinearRing <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename R><br>
- struct ggl::concept::ConstRing< R ></h3>
-
-Checks (linear) ring <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-<p>
-The ConstLinearRing <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
-<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00065">65</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="1b6553b6ed0d5716bbc0044f7f29cfb2"></a><!-- doxytag: member="ggl::concept::ConstRing::BOOST_CONCEPT_USAGE" ref="1b6553b6ed0d5716bbc0044f7f29cfb2" args="(ConstRing)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename R > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ggl::concept::ConstRing</a>< R >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_ring.html">ConstRing</a>< R > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the ConstLinearRing <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00075">75</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstSegment< S > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< S ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">BOOST_CONCEPT_USAGE</a>(ConstSegment)</td><td><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment< S ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_const_segment.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::ConstSegment< S > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::ConstSegment" -->Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< C, N, N ></b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_const_segment.html#79691668dde1be67b7a497a6b1cd31ce">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename S><br>
- struct ggl::concept::ConstSegment< S ></h3>
-
-Checks <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> (const version).
-<p>
-The <a class="el" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a> check the same as the <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, but does not check write access.
-<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00077">77</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="79691668dde1be67b7a497a6b1cd31ce"></a><!-- doxytag: member="ggl::concept::ConstSegment::BOOST_CONCEPT_USAGE" ref="79691668dde1be67b7a497a6b1cd31ce" args="(ConstSegment)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename S > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ggl::concept::ConstSegment</a>< S >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_const_segment.html">ConstSegment</a>< S > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_const_segment.html" title="Checks Segment concept (const version).">ConstSegment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00107">107</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Linestring< L > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< L ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">BOOST_CONCEPT_USAGE</a>(Linestring)</td><td><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< L ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_linestring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Linestring< L > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::Linestring" -->Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_linestring.html#93370176c63ec560ead3a1cd8c8c3693">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename L><br>
- struct ggl::concept::Linestring< L ></h3>
-
-Checks <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00037">37</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="93370176c63ec560ead3a1cd8c8c3693"></a><!-- doxytag: member="ggl::concept::Linestring::BOOST_CONCEPT_USAGE" ref="93370176c63ec560ead3a1cd8c8c3693" args="(Linestring)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename L > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring</a>< L >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_linestring.html">Linestring</a>< L > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_linestring.html" title="Checks linestring concept, using Boost Concept Check Library and metafunctions.">Linestring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="linestring__concept_8hpp_source.html#l00047">47</a> of file <a class="el" href="linestring__concept_8hpp_source.html">linestring_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_nsphere.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -48,7 +48,7 @@
<h1>ggl::concept::Nsphere< S > Struct Template Reference<br>
<small>
[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::Nsphere" -->Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+</h1><!-- doxytag: class="ggl::concept::Nsphere" -->Checks nsphere <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
<a href="#_details">More...</a>
<p>
@@ -70,7 +70,7 @@
<h3>template<typename S><br>
struct ggl::concept::Nsphere< S ></h3>
-Checks <a class="el" href="classggl_1_1nsphere.html" title="Class nsphere: defines a circle or a sphere: a point with radius.">nsphere</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
+Checks nsphere <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
<p>Definition at line <a class="el" href="nsphere__concept_8hpp_source.html#l00074">74</a> of file <a class="el" href="nsphere__concept_8hpp_source.html">nsphere_concept.hpp</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="f7a6ea630944b84202eed0a9de90cff4"></a><!-- doxytag: member="ggl::concept::Nsphere::BOOST_CONCEPT_USAGE" ref="f7a6ea630944b84202eed0a9de90cff4" args="(Nsphere)" -->
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Point< X > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point< X ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">BOOST_CONCEPT_USAGE</a>(Point)</td><td><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point< X ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,251 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_point.html">Point</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Point< X > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::Point" -->Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< P, Count, Count ></b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_point.html#59ab6c36bc854b94ee2404d084605f7b">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_point.html">Point</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename X><br>
- struct ggl::concept::Point< X ></h3>
-
-Checks <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-<p>
-The <a class="el" href="namespaceggl_1_1concept.html">concept</a> is separated into 4 metafunctions:<ul>
-<li><a class="el" href="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a>: provides the type of the coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></li><li><a class="el" href="structggl_1_1traits_1_1coordinate__system.html">coordinate system</a>: provides the coordinate system in which the <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is placed</li><li><a class="el" href="structggl_1_1traits_1_1dimension.html">dimension</a>: provides the number of coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></li><li><a class="el" href="structggl_1_1traits_1_1access.html">access</a>: provides access to the coordinates of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">poin
t</a></li></ul>
-<p>
-In MPL, a metafunction that provides a type must expose is as "type" and a metafunction that provides a value must expose it as "value", so here the same convention are used: <a class="el" href="structggl_1_1coordinate__type.html#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<P>::type</a> and dimension<P>::value provide the type and number of coordinates. This makes them compatible with any MPL and Fusion algorithm and metafunction.<p>
-<dl class="user" compact><dt><b>Example:</b></dt><dd>First example, using an own pointtype, for example a legacy <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, defining the necessary properties outside the pointtype in a <a class="el" href="namespaceggl_1_1traits.html">traits</a> class <div class="fragment"><pre class="fragment"><span class="keyword">struct </span>example_point_1
-{
- <span class="comment">// Example point, for example a legacy point defining somewhere an x and an y coordinate</span>
- <span class="keywordtype">double</span> x, y;
-};
-
-
-<span class="keyword">namespace </span>ggl
-{
- <span class="keyword">namespace </span>traits
- {
- <span class="comment">// For legacy points, define the necessary structs coordinate (with typedef),</span>
- <span class="comment">// dimension (with value) and access (with get function).</span>
- <span class="comment">// Be sure to define them within the namespace ggl::traits</span>
- <span class="keyword">template</span> <> <span class="keyword">struct </span>tag<example_point_1> { <span class="keyword">typedef</span> point_tag type; };
- <span class="keyword">template</span> <> <span class="keyword">struct </span>coordinate_type<example_point_1> { <span class="keyword">typedef</span> <span class="keywordtype">double</span> type; };
- <span class="keyword">template</span> <> <span class="keyword">struct </span>coordinate_system<example_point_1> { <span class="keyword">typedef</span> cs::cartesian type; };
- <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a><example_point_1>: boost::mpl::int_<2> {};
- <span class="keyword">template</span> <> <span class="keyword">struct </span>access<example_point_1, 0>
- {
- <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(example_point_1 <span class="keyword">const</span>& p)
- { <span class="keywordflow">return</span> p.x; }
-
- <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_1& p, <span class="keywordtype">double</span> <span class="keyword">const</span>& value)
- { p.x = value; }
- };
- <span class="keyword">template</span> <> <span class="keyword">struct </span>access<example_point_1, 1>
- {
- <span class="keyword">static</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(example_point_1 <span class="keyword">const</span>& p)
- { <span class="keywordflow">return</span> p.y; }
-
- <span class="keyword">static</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_1& p, <span class="keywordtype">double</span> <span class="keyword">const</span>& value)
- { p.y = value; }
- };
- }
-}
-
-<span class="keyword">namespace </span>example_own_point1
-{
- <span class="comment">// The first way to check a concept at compile time: checking if the input is parameter</span>
- <span class="comment">// or return type is OK.</span>
- <span class="keyword">template</span> <<span class="keyword">typename</span> P>
- BOOST_CONCEPT_REQUIRES(((<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">ggl::concept::Point<P></a>)), (<span class="keywordtype">void</span>))
- test1(P& p)
- {
- }
-
- <span class="comment">// The second way to check a concept at compile time: checking if the provided type,</span>
- <span class="comment">// inside the function, if OK</span>
- <span class="keyword">template</span> <<span class="keyword">typename</span> P>
- <span class="keywordtype">void</span> test2(P& p)
- {
- BOOST_CONCEPT_ASSERT((<a class="code" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">ggl::concept::Point<P></a>));
- }
-
-
- <span class="keywordtype">void</span> example()
- {
- example_point_1 p;
- test1(p);
- test2(p);
- }
-} <span class="comment">//:\\ --</span>
-</pre></div> </dd></dl>
-<dl class="user" compact><dt><b>Example:</b></dt><dd>Second example, deriving a pointtype from boost::tuple. It defines the necessary properties itself, so a separate <a class="el" href="namespaceggl_1_1traits.html">traits</a> class is not necessary. <div class="fragment"><pre class="fragment">{
- <span class="keyword">struct </span>example_point_2: boost::tuple<float, float>
- {
- example_point_2(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y)
- {
- get<0>() = x;
- get<1>() = y;
- }
- };
-}
-
-<span class="comment">// MIGHT BE CONVERTED TO MACRO</span>
-<span class="keyword">namespace </span>ggl
-{
- <span class="keyword">namespace </span>traits
- {
- <span class="keyword">using namespace </span>example_own_point2;
-
- <span class="keyword">template</span> <> <span class="keyword">struct </span>tag<example_point_2> { <span class="keyword">typedef</span> point_tag type; };
- <span class="keyword">template</span> <> <span class="keyword">struct </span>coordinate_type<example_point_2> { <span class="keyword">typedef</span> <span class="keywordtype">float</span> type; };
- <span class="keyword">template</span> <> <span class="keyword">struct </span>coordinate_system<example_point_2> { <span class="keyword">typedef</span> <a class="code" href="structggl_1_1cs_1_1cartesian.html" title="Cartesian coordinate system.">ggl::cs::cartesian</a> type; };
- <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="classcore__dispatch_1_1dimension.html">dimension</a><example_point_2> : boost::mpl::int_<2> {};
- <span class="keyword">template</span> <std::<span class="keywordtype">size_t</span> Dimension> <span class="keyword">struct </span>access<example_point_2, Dimension>
- {
- <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> <span class="keyword">get</span>(example_point_2 <span class="keyword">const</span>& p)
- { <span class="keywordflow">return</span> p.get<Dimension>(); }
-
- <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(example_point_2& p, <span class="keywordtype">float</span> <span class="keyword">const</span>& value)
- { p.get<Dimension>() = value; }
- };
-
- <span class="comment">// The library user has</span>
- <span class="comment">// 1) either to specify the coordinate system</span>
- <span class="comment">// 2) or include <ggl/geometries/adapted/tuple__at_.hpp> where @=cartesian,geographic,...</span>
- }
-}
-
-
-<span class="keyword">namespace </span>example_own_point2
-{
-
-
- <span class="keyword">template</span> <<span class="keyword">typename</span> P>
- BOOST_CONCEPT_REQUIRES(((<a class="code" href="structggl_1_1concept_1_1_const_point.html" title="Checks point concept (const version).">ggl::concept::ConstPoint<P></a>)), (<span class="keywordtype">float</span>))
- test3(P& p)
- {
- <span class="keywordflow">return</span> ggl::get<0>(p);
- }
-
- <span class="keywordtype">void</span> example()
- {
- example_point_2 p(1,2);
- test3(p);
- }
-} <span class="comment">//:\\ --</span>
-</pre></div> </dd></dl>
-
-<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00061">61</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="59ab6c36bc854b94ee2404d084605f7b"></a><!-- doxytag: member="ggl::concept::Point::BOOST_CONCEPT_USAGE" ref="59ab6c36bc854b94ee2404d084605f7b" args="(Point)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename X > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_point.html">ggl::concept::Point</a>< X >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_point.html">Point</a>< X > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_point.html" title="Checks point concept, using Boost Concept Check Library and metafunctions.">Point</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="point__concept_8hpp_source.html#l00092">92</a> of file <a class="el" href="point__concept_8hpp_source.html">point_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Polygon< P > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< P ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">BOOST_CONCEPT_USAGE</a>(Polygon)</td><td><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon< P ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_polygon.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_polygon.html">Polygon</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Polygon< P > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::Polygon" -->Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_polygon.html#69581c3daae416341fbe72829f567278">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_polygon.html">Polygon</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename P><br>
- struct ggl::concept::Polygon< P ></h3>
-
-Checks <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00065">65</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="69581c3daae416341fbe72829f567278"></a><!-- doxytag: member="ggl::concept::Polygon::BOOST_CONCEPT_USAGE" ref="69581c3daae416341fbe72829f567278" args="(Polygon)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_polygon.html">ggl::concept::Polygon</a>< P >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_polygon.html">Polygon</a>< P > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_polygon.html" title="Checks polygon concept, using Boost Concept Check Library and metafunctions.">Polygon</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="polygon__concept_8hpp_source.html#l00079">79</a> of file <a class="el" href="polygon__concept_8hpp_source.html">polygon_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Ring< R > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring< R ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">BOOST_CONCEPT_USAGE</a>(Ring)</td><td><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring< R ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_ring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Ring< R > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::Ring" -->Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_ring.html#eb5f0045673fa11f20e4b48856a4bf69">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename R><br>
- struct ggl::concept::Ring< R ></h3>
-
-Checks (linear) <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00037">37</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="eb5f0045673fa11f20e4b48856a4bf69"></a><!-- doxytag: member="ggl::concept::Ring::BOOST_CONCEPT_USAGE" ref="eb5f0045673fa11f20e4b48856a4bf69" args="(Ring)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename R > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_ring.html">ggl::concept::Ring</a>< R >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_ring.html">Ring</a>< R > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_ring.html" title="Checks (linear) Ring concept, using Boost Concept Check Library and metafunctions...">Ring</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="ring__concept_8hpp_source.html#l00048">48</a> of file <a class="el" href="ring__concept_8hpp_source.html">ring_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Segment< S > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment< S ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">BOOST_CONCEPT_USAGE</a>(Segment)</td><td><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment< S ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_segment.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::concept::Segment< S > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__concepts.html">concept checking</a>]</small>
-</h1><!-- doxytag: class="ggl::concept::Segment" -->Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal structure to check if access is OK for all dimensions. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>dimension_checker< C, N, N ></b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1_segment.html#d2e340dff544a40ed257a1823dfd4749">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename S><br>
- struct ggl::concept::Segment< S ></h3>
-
-Checks <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>, using Boost Concept Check Library and metafunctions.
-<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00033">33</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="d2e340dff544a40ed257a1823dfd4749"></a><!-- doxytag: member="ggl::concept::Segment::BOOST_CONCEPT_USAGE" ref="d2e340dff544a40ed257a1823dfd4749" args="(Segment)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename S > </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structggl_1_1concept_1_1_segment.html">ggl::concept::Segment</a>< S >::BOOST_CONCEPT_USAGE </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_segment.html">Segment</a>< S > </td>
- <td class="paramname"> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-BCCL macro to check the <a class="el" href="structggl_1_1concept_1_1_segment.html" title="Checks segment concept, using Boost Concept Check Library and metafunctions.">Segment</a> <a class="el" href="namespaceggl_1_1concept.html">concept</a>.
-<p>
-
-<p>Definition at line <a class="el" href="segment__concept_8hpp_source.html#l00061">61</a> of file <a class="el" href="segment__concept_8hpp_source.html">segment_concept.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1concept_1_1detail_1_1check__append.html">check_append</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_append< Geometry, Point, UseStd > Struct Template Reference</h1><!-- doxytag: class="ggl::concept::detail::check_append" --><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry, typename Point, bool UseStd><br>
+ struct ggl::concept::detail::check_append< Geometry, Point, UseStd ></h3>
+
+
+<p>Definition at line <a class="el" href="check__append_8hpp_source.html#l00026">26</a> of file <a class="el" href="check__append_8hpp_source.html">check_append.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_append< Geometry, Point, false > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">ggl::concept::detail::check_append< Geometry, Point, false ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html#e9afd64a7da9ee6dbbad3f03b121781f">apply</a>(Geometry &geometry, Point const &p)</td><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">ggl::concept::detail::check_append< Geometry, Point, false ></a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html">check_append< Geometry, Point, false ></a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_append< Geometry, Point, false > Struct Template Reference</h1><!-- doxytag: class="ggl::concept::detail::check_append< Geometry, Point, false >" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01false_01_4.html#e9afd64a7da9ee6dbbad3f03b121781f">apply</a> (Geometry &geometry, <a class="el" href="classggl_1_1concept_1_1_point.html">Point</a> const &p)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry, typename Point><br>
+ struct ggl::concept::detail::check_append< Geometry, Point, false ></h3>
+
+
+<p>Definition at line <a class="el" href="check__append_8hpp_source.html#l00039">39</a> of file <a class="el" href="check__append_8hpp_source.html">check_append.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="e9afd64a7da9ee6dbbad3f03b121781f"></a><!-- doxytag: member="ggl::concept::detail::check_append< Geometry, Point, false >::apply" ref="e9afd64a7da9ee6dbbad3f03b121781f" args="(Geometry &geometry, Point const &p)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry , typename Point > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="structggl_1_1concept_1_1detail_1_1check__append.html">ggl::concept::detail::check_append</a>< Geometry, <a class="el" href="classggl_1_1concept_1_1_point.html">Point</a>, false >::apply </td>
+ <td>(</td>
+ <td class="paramtype">Geometry & </td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_point.html">Point</a> const & </td>
+ <td class="paramname"> <em>p</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="check__append_8hpp_source.html#l00041">41</a> of file <a class="el" href="check__append_8hpp_source.html">check_append.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_append< Geometry, Point, true > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">ggl::concept::detail::check_append< Geometry, Point, true ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html#2a93eed2fff71b952c213317fdd76f81">apply</a>(Geometry &geometry, Point const &p)</td><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">ggl::concept::detail::check_append< Geometry, Point, true ></a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html">check_append< Geometry, Point, true ></a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_append< Geometry, Point, true > Struct Template Reference</h1><!-- doxytag: class="ggl::concept::detail::check_append< Geometry, Point, true >" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__append_3_01_geometry_00_01_point_00_01true_01_4.html#2a93eed2fff71b952c213317fdd76f81">apply</a> (Geometry &geometry, <a class="el" href="classggl_1_1concept_1_1_point.html">Point</a> const &p)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry, typename Point><br>
+ struct ggl::concept::detail::check_append< Geometry, Point, true ></h3>
+
+
+<p>Definition at line <a class="el" href="check__append_8hpp_source.html#l00030">30</a> of file <a class="el" href="check__append_8hpp_source.html">check_append.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="2a93eed2fff71b952c213317fdd76f81"></a><!-- doxytag: member="ggl::concept::detail::check_append< Geometry, Point, true >::apply" ref="2a93eed2fff71b952c213317fdd76f81" args="(Geometry &geometry, Point const &p)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry , typename Point > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="structggl_1_1concept_1_1detail_1_1check__append.html">ggl::concept::detail::check_append</a>< Geometry, <a class="el" href="classggl_1_1concept_1_1_point.html">Point</a>, true >::apply </td>
+ <td>(</td>
+ <td class="paramtype">Geometry & </td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classggl_1_1concept_1_1_point.html">Point</a> const & </td>
+ <td class="paramname"> <em>p</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="check__append_8hpp_source.html#l00032">32</a> of file <a class="el" href="check__append_8hpp_source.html">check_append.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear.html">check_clear</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_clear< Geometry, UseStd > Struct Template Reference</h1><!-- doxytag: class="ggl::concept::detail::check_clear" --><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry, bool UseStd><br>
+ struct ggl::concept::detail::check_clear< Geometry, UseStd ></h3>
+
+
+<p>Definition at line <a class="el" href="check__clear_8hpp_source.html#l00025">25</a> of file <a class="el" href="check__clear_8hpp_source.html">check_clear.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_clear< Geometry, false > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">ggl::concept::detail::check_clear< Geometry, false ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html#7d37b48e922f1b36a34a6bab24560d8c">apply</a>(Geometry &geometry)</td><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">ggl::concept::detail::check_clear< Geometry, false ></a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html">check_clear< Geometry, false ></a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_clear< Geometry, false > Struct Template Reference</h1><!-- doxytag: class="ggl::concept::detail::check_clear< Geometry, false >" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01false_01_4.html#7d37b48e922f1b36a34a6bab24560d8c">apply</a> (Geometry &geometry)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ struct ggl::concept::detail::check_clear< Geometry, false ></h3>
+
+
+<p>Definition at line <a class="el" href="check__clear_8hpp_source.html#l00038">38</a> of file <a class="el" href="check__clear_8hpp_source.html">check_clear.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="7d37b48e922f1b36a34a6bab24560d8c"></a><!-- doxytag: member="ggl::concept::detail::check_clear< Geometry, false >::apply" ref="7d37b48e922f1b36a34a6bab24560d8c" args="(Geometry &geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear.html">ggl::concept::detail::check_clear</a>< Geometry, false >::apply </td>
+ <td>(</td>
+ <td class="paramtype">Geometry & </td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td> ) </td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="check__clear_8hpp_source.html#l00040">40</a> of file <a class="el" href="check__clear_8hpp_source.html">check_clear.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_clear< Geometry, true > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">ggl::concept::detail::check_clear< Geometry, true ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html#bb0adec8e3d49e55e8860685472aa5a8">apply</a>(Geometry &geometry)</td><td><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">ggl::concept::detail::check_clear< Geometry, true ></a></td><td><code> [static]</code></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html">check_clear< Geometry, true ></a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::check_clear< Geometry, true > Struct Template Reference</h1><!-- doxytag: class="ggl::concept::detail::check_clear< Geometry, true >" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear_3_01_geometry_00_01true_01_4.html#bb0adec8e3d49e55e8860685472aa5a8">apply</a> (Geometry &geometry)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ struct ggl::concept::detail::check_clear< Geometry, true ></h3>
+
+
+<p>Definition at line <a class="el" href="check__clear_8hpp_source.html#l00029">29</a> of file <a class="el" href="check__clear_8hpp_source.html">check_clear.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="bb0adec8e3d49e55e8860685472aa5a8"></a><!-- doxytag: member="ggl::concept::detail::check_clear< Geometry, true >::apply" ref="bb0adec8e3d49e55e8860685472aa5a8" args="(Geometry &geometry)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static void <a class="el" href="structggl_1_1concept_1_1detail_1_1check__clear.html">ggl::concept::detail::check_clear</a>< Geometry, true >::apply </td>
+ <td>(</td>
+ <td class="paramtype">Geometry & </td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td> ) </td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="check__clear_8hpp_source.html#l00031">31</a> of file <a class="el" href="check__clear_8hpp_source.html">check_clear.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1detail_1_1checker.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1concept.html">concept</a>::<a class="el" href="namespaceggl_1_1concept_1_1detail.html">detail</a>::<a class="el" href="structggl_1_1concept_1_1detail_1_1checker.html">checker</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::detail::checker< Geometry, IsConst > Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::detail::checker" -->Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry.
+More...
+<p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry, bool IsConst><br>
+ struct ggl::concept::detail::checker< Geometry, IsConst ></h3>
+
+Checks, in compile-time, the <a class="el" href="namespaceggl_1_1concept.html">concept</a> of any geometry.
+<p>Definition at line <a class="el" href="check_8hpp_source.html#l00118">118</a> of file <a class="el" href="check_8hpp_source.html">check.hpp</a>.</p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1geometry__id.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -62,7 +62,7 @@
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Used for e.g. reverse meta-function </dd></dl>
-<p>Definition at line <a class="el" href="core_2geometry__id_8hpp_source.html#l00073">73</a> of file <a class="el" href="core_2geometry__id_8hpp_source.html">geometry_id.hpp</a>.</p>
+<p>Definition at line <a class="el" href="core_2geometry__id_8hpp_source.html#l00069">69</a> of file <a class="el" href="core_2geometry__id_8hpp_source.html">geometry_id.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__linestring.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,7 +50,7 @@
<a href="structggl_1_1multi__linestring-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="structggl_1_1concept_1_1_linestring.html">concept::Linestring</a>< L >))</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__linestring.html#ad0eb4fd23482608a67e61f460615d17">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="classggl_1_1concept_1_1_linestring.html">concept::Linestring</a>< L >))</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -58,7 +58,7 @@
struct ggl::multi_linestring< L, V, A ></h3>
-<p>Definition at line <a class="el" href="multi__linestring_8hpp_source.html#l00029">29</a> of file <a class="el" href="multi__linestring_8hpp_source.html">multi_linestring.hpp</a>.</p>
+<p>Definition at line <a class="el" href="multi__linestring_8hpp_source.html#l00032">32</a> of file <a class="el" href="multi__linestring_8hpp_source.html">multi_linestring.hpp</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ad0eb4fd23482608a67e61f460615d17"></a><!-- doxytag: member="ggl::multi_linestring::BOOST_CONCEPT_ASSERT" ref="ad0eb4fd23482608a67e61f460615d17" args="((concept::Linestring< L >))" -->
<div class="memitem">
@@ -69,7 +69,7 @@
<tr>
<td class="memname"><a class="el" href="structggl_1_1multi__linestring.html">ggl::multi_linestring</a>< L, V, A >::BOOST_CONCEPT_ASSERT </td>
<td>(</td>
- <td class="paramtype">(<a class="el" href="structggl_1_1concept_1_1_linestring.html">concept::Linestring</a>< L >) </td>
+ <td class="paramtype">(<a class="el" href="classggl_1_1concept_1_1_linestring.html">concept::Linestring</a>< L >) </td>
<td class="paramname"> </td>
<td> ) </td>
<td></td>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__point.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,7 +50,7 @@
<a href="structggl_1_1multi__point-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="structggl_1_1concept_1_1_point.html">concept::Point</a>< P >))</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__point.html#e0dbad20fa00c02d4af5e8633937371c">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="classggl_1_1concept_1_1_point.html">concept::Point</a>< P >))</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -58,7 +58,7 @@
struct ggl::multi_point< P, V, A ></h3>
-<p>Definition at line <a class="el" href="multi__point_8hpp_source.html#l00029">29</a> of file <a class="el" href="multi__point_8hpp_source.html">multi_point.hpp</a>.</p>
+<p>Definition at line <a class="el" href="multi__point_8hpp_source.html#l00032">32</a> of file <a class="el" href="multi__point_8hpp_source.html">multi_point.hpp</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e0dbad20fa00c02d4af5e8633937371c"></a><!-- doxytag: member="ggl::multi_point::BOOST_CONCEPT_ASSERT" ref="e0dbad20fa00c02d4af5e8633937371c" args="((concept::Point< P >))" -->
<div class="memitem">
@@ -69,7 +69,7 @@
<tr>
<td class="memname"><a class="el" href="structggl_1_1multi__point.html">ggl::multi_point</a>< P, V, A >::BOOST_CONCEPT_ASSERT </td>
<td>(</td>
- <td class="paramtype">(<a class="el" href="structggl_1_1concept_1_1_point.html">concept::Point</a>< P >) </td>
+ <td class="paramtype">(<a class="el" href="classggl_1_1concept_1_1_point.html">concept::Point</a>< P >) </td>
<td class="paramname"> </td>
<td> ) </td>
<td></td>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1multi__polygon.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -50,7 +50,7 @@
<a href="structggl_1_1multi__polygon-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="structggl_1_1concept_1_1_polygon.html">concept::Polygon</a>< P >))</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1multi__polygon.html#867921f0b7c2e26e176a2ded3cd2d05d">BOOST_CONCEPT_ASSERT</a> ((<a class="el" href="classggl_1_1concept_1_1_polygon.html">concept::Polygon</a>< P >))</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -58,7 +58,7 @@
struct ggl::multi_polygon< P, V, A ></h3>
-<p>Definition at line <a class="el" href="multi__polygon_8hpp_source.html#l00030">30</a> of file <a class="el" href="multi__polygon_8hpp_source.html">multi_polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="multi__polygon_8hpp_source.html#l00033">33</a> of file <a class="el" href="multi__polygon_8hpp_source.html">multi_polygon.hpp</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="867921f0b7c2e26e176a2ded3cd2d05d"></a><!-- doxytag: member="ggl::multi_polygon::BOOST_CONCEPT_ASSERT" ref="867921f0b7c2e26e176a2ded3cd2d05d" args="((concept::Polygon< P >))" -->
<div class="memitem">
@@ -69,7 +69,7 @@
<tr>
<td class="memname"><a class="el" href="structggl_1_1multi__polygon.html">ggl::multi_polygon</a>< P, V, A >::BOOST_CONCEPT_ASSERT </td>
<td>(</td>
- <td class="paramtype">(<a class="el" href="structggl_1_1concept_1_1_polygon.html">concept::Polygon</a>< P >) </td>
+ <td class="paramtype">(<a class="el" href="classggl_1_1concept_1_1_polygon.html">concept::Polygon</a>< P >) </td>
<td class="paramname"> </td>
<td> ) </td>
<td></td>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1nsphere__tag.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1nsphere__tag.html">nsphere_tag</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::nsphere_tag Struct Reference</h1><!-- doxytag: class="ggl::nsphere_tag" -->Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
-More...
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Convenience 2D (circle) or 3D (sphere) n-sphere identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
-<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00057">57</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::radius_type< G > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1radius__type.html">ggl::radius_type< G ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a> typedef</td><td><a class="el" href="structggl_1_1radius__type.html">ggl::radius_type< G ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> typedef</td><td><a class="el" href="structggl_1_1radius__type.html">ggl::radius_type< G ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1radius__type.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,129 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1radius__type.html">radius_type</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::radius_type< G > Struct Template Reference</h1><!-- doxytag: class="ggl::radius_type" -->
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::remove_const< G ><br class="typebreak">
-::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
-core_dispatch::radius_type<br class="typebreak">
-< typename <a class="el" href="structggl_1_1tag.html">tag</a>< G >::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a>, <br class="typebreak">
-<a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a> >::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename G><br>
- struct ggl::radius_type< G ></h3>
-
-
-<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00108">108</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="b95c57fb55a39b4b10e4d8da5754b671"></a><!-- doxytag: member="ggl::radius_type::rconst" ref="b95c57fb55a39b4b10e4d8da5754b671" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename G> </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::remove_const<G>::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> <a class="el" href="structggl_1_1radius__type.html">ggl::radius_type</a>< G >::<a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00110">110</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e37bf955b532d0501081d1abcdbdfb9c"></a><!-- doxytag: member="ggl::radius_type::type" ref="e37bf955b532d0501081d1abcdbdfb9c" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename G> </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef core_dispatch::radius_type<typename <a class="el" href="structggl_1_1tag.html">tag</a><G>::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a>, <a class="el" href="structggl_1_1radius__type.html#b95c57fb55a39b4b10e4d8da5754b671">rconst</a>>::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> <a class="el" href="structggl_1_1radius__type.html">ggl::radius_type</a>< G >::<a class="el" href="structggl_1_1radius__type.html#e37bf955b532d0501081d1abcdbdfb9c">type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00111">111</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1replace__point__type.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,7 +53,7 @@
struct ggl::replace_point_type< Geometry, NewPointType ></h3>
-<p>Definition at line <a class="el" href="replace__point__type_8hpp_source.html#l00089">89</a> of file <a class="el" href="replace__point__type_8hpp_source.html">replace_point_type.hpp</a>.</p>
+<p>Definition at line <a class="el" href="replace__point__type_8hpp_source.html#l00082">82</a> of file <a class="el" href="replace__point__type_8hpp_source.html">replace_point_type.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1section.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -97,7 +97,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00057">57</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00060">60</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="da71a242258d79119fb6df06d290095e"></a><!-- doxytag: member="ggl::section::box_type" ref="da71a242258d79119fb6df06d290095e" args="" -->
<div class="memitem">
@@ -114,7 +114,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00059">59</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00062">62</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -138,7 +138,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00074">74</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00077">77</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -158,7 +158,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00061">61</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00064">64</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -177,7 +177,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00062">62</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00065">65</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -196,7 +196,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00063">63</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00066">66</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -215,7 +215,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00064">64</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00067">67</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -234,7 +234,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00066">66</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00069">69</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -253,7 +253,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00067">67</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00070">70</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -272,7 +272,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00068">68</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00071">71</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -291,7 +291,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00069">69</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00072">72</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -310,7 +310,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00070">70</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00073">73</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -329,7 +329,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00071">71</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00074">74</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1sections.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -73,7 +73,7 @@
<dl class="note" compact><dt><b>Note:</b></dt><dd>Derived from a vector, proves to be faster than of deque <p>
vector might be templated in the future </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00100">100</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00103">103</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="9ad75a29e07d632e85847e4f206715ba"></a><!-- doxytag: member="ggl::sections::box_type" ref="9ad75a29e07d632e85847e4f206715ba" args="" -->
<div class="memitem">
@@ -90,7 +90,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00102">102</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00105">105</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
@@ -110,7 +110,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00103">103</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
+<p>Definition at line <a class="el" href="algorithms_2sectionalize_8hpp_source.html#l00106">106</a> of file <a class="el" href="algorithms_2sectionalize_8hpp_source.html">sectionalize.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__tag.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,7 +53,7 @@
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Convenience <a class="el" href="classggl_1_1segment.html" title="Class segment: small class containing two (templatized) point references.">segment</a> (2-points) identifying <a class="el" href="structggl_1_1tag.html" title="Meta-function to get the tag of any geometry type.">tag</a>.
-<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00060">60</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
+<p>Definition at line <a class="el" href="core_2tags_8hpp_source.html#l00057">57</a> of file <a class="el" href="core_2tags_8hpp_source.html">tags.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::select_calculation_type< Point1, Point2, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type< Point1, Point2, CalculationType ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a> typedef</td><td><a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type< Point1, Point2, CalculationType ></a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1select__calculation__type.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="structggl_1_1select__calculation__type.html">select_calculation_type</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::select_calculation_type< Point1, Point2, CalculationType > Struct Template Reference<br>
+<small>
+[<a class="el" href="group__utility.html">utility: utilities</a>]</small>
+</h1><!-- doxytag: class="ggl::select_calculation_type" -->Utility selecting the "calculation" type.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef boost::mpl::if_c<br class="typebreak">
+< boost::is_void<br class="typebreak">
+< CalculationType ><br class="typebreak">
+::type::value, typename <br class="typebreak">
+<a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a>< Point1, <br class="typebreak">
+Point2 >::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a>, <br class="typebreak">
+CalculationType >::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Point1, typename Point2, typename CalculationType><br>
+ struct ggl::select_calculation_type< Point1, Point2, CalculationType ></h3>
+
+Utility selecting the "calculation" type.
+<p>
+Based on two input <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> types, and an input calculation type, (which usually defaults to void), this meta-function selects the most appropriate:<ul>
+<li>if calculation type is specified, that one is used,</li><li>if it is void, the most precise of the two points is used </li></ul>
+
+<p>Definition at line <a class="el" href="select__calculation__type_8hpp_source.html#l00035">35</a> of file <a class="el" href="select__calculation__type_8hpp_source.html">select_calculation_type.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="9148fdfb664c15d4aaeaafdfad3bdc1c"></a><!-- doxytag: member="ggl::select_calculation_type::type" ref="9148fdfb664c15d4aaeaafdfad3bdc1c" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Point1, typename Point2, typename CalculationType> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::mpl::if_c< boost::is_void<CalculationType>::type::value, typename <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a> < Point1, Point2 >::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a>, CalculationType >::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a> <a class="el" href="structggl_1_1select__calculation__type.html">ggl::select_calculation_type</a>< Point1, Point2, CalculationType >::<a class="el" href="structggl_1_1select__calculation__type.html#9148fdfb664c15d4aaeaafdfad3bdc1c">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="select__calculation__type_8hpp_source.html#l00047">47</a> of file <a class="el" href="select__calculation__type_8hpp_source.html">select_calculation_type.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#135c23662721d5d31e15702e48957329">area</a>() const </td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a></td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#d9e044246e82d4e5dbdfc81b40f3a960">excess_sum</a>(double sphere_radius=1.0)</td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">radius</a></td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a></td><td><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</a></td><td></td></tr>
+</table></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li class="current">Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Class List</li>
+ <li>Class Hierarchy</li>
+ <li>Class Members</li>
+ </ul>
+ </div>
+ <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1area.html">area</a>::<a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">huiller</a>::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html">excess_sum</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum Struct Reference</h1><!-- doxytag: class="ggl::strategy::area::huiller::excess_sum" -->
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#135c23662721d5d31e15702e48957329">area</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#d9e044246e82d4e5dbdfc81b40f3a960">excess_sum</a> (double sphere_radius=1.0)</td></tr>
+
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">strategy::distance::haversine</a><br class="typebreak">
+< PointOfSegment, <br class="typebreak">
+PointOfSegment > </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">distance_over_unit_sphere</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">radius</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">sum</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename PointOfSegment, typename CalculationType = void><br>
+ struct ggl::strategy::area::huiller< PointOfSegment, CalculationType >::excess_sum</h3>
+
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00050">50</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+<hr><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" name="d9e044246e82d4e5dbdfc81b40f3a960"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::excess_sum" ref="d9e044246e82d4e5dbdfc81b40f3a960" args="(double sphere_radius=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::excess_sum::excess_sum </td>
+ <td>(</td>
+ <td class="paramtype">double </td>
+ <td class="paramname"> <em>sphere_radius</em> = <code>1.0</code> </td>
+ <td> ) </td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00060">60</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="135c23662721d5d31e15702e48957329"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::area" ref="135c23662721d5d31e15702e48957329" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::excess_sum::area </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td> ) </td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00065">65</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="83096a378b1b6860221c531fbf35a14d"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::sum" ref="83096a378b1b6860221c531fbf35a14d" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#83096a378b1b6860221c531fbf35a14d">excess_sum::sum</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00052">52</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6eb3c8047b9e4b3bddc5c4224844e7fa"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::radius" ref="6eb3c8047b9e4b3bddc5c4224844e7fa" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#6eb3c8047b9e4b3bddc5c4224844e7fa">excess_sum::radius</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00053">53</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2625a4617acd49eda331b051568df059"></a><!-- doxytag: member="ggl::strategy::area::huiller::excess_sum::distance_over_unit_sphere" ref="2625a4617acd49eda331b051568df059" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename PointOfSegment , typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">strategy::distance::haversine</a><PointOfSegment, PointOfSegment> <a class="el" href="classggl_1_1strategy_1_1area_1_1huiller.html">ggl::strategy::area::huiller</a>< PointOfSegment, CalculationType >::<a class="el" href="structggl_1_1strategy_1_1area_1_1huiller_1_1excess__sum.html#2625a4617acd49eda331b051568df059">excess_sum::distance_over_unit_sphere</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="area__huiller_8hpp_source.html#l00057">57</a> of file <a class="el" href="area__huiller_8hpp_source.html">area_huiller.hpp</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -67,7 +67,7 @@
<p>
<a class="el" href="07__graph__route__example_8cpp-example.html#_a1">07_graph_route_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00028">28</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00025">25</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="182ce543f6c73a393e327a281bd5833b"></a><!-- doxytag: member="ggl::strategy::envelope::combine_xy::state_type" ref="182ce543f6c73a393e327a281bd5833b" args="" -->
<div class="memitem">
@@ -84,7 +84,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00039">39</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00036">36</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -118,7 +118,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00041">41</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00038">38</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1combine__xy_1_1state.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -61,7 +61,7 @@
struct ggl::strategy::envelope::combine_xy< P, B >::state</h3>
-<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00030">30</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00027">27</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="d5773c71a966e0389f8976f6a42bda98"></a><!-- doxytag: member="ggl::strategy::envelope::combine_xy::state::state" ref="d5773c71a966e0389f8976f6a42bda98" args="(B &box)" -->
<div class="memitem">
@@ -83,7 +83,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00033">33</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00030">30</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -103,7 +103,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00032">32</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__envelope_8hpp_source.html#l00029">29</a> of file <a class="el" href="cart__envelope_8hpp_source.html">cart_envelope.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -44,8 +44,9 @@
</div>
<div class="contents">
<h1>ggl::strategy::side::xy_side< P, PS > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side< P, PS ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a>(const segment< const PS > &s, const P &p)</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side< P, PS ></a></td><td><code> [static]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#ef3dcea77c310bdd72a534539ef72edd">side</a>(const P &p0, const P &p1, const P &p2)</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side< P, PS ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#fc00b4def4ecbec875fdcccbd03f9a6f">coordinate_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side< P, PS ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#3bfdcd774cb32a1e97a5b94a6f3b7f5b">side</a>(segment< const PS > const &s, P const &p)</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side< P, PS ></a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#50f319e6cb75040a906468adcad6d1c9">side</a>(PS const &p0, PS const &p1, P const &p2)</td><td><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side< P, PS ></a></td><td><code> [static]</code></td></tr>
</table></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1side_1_1xy__side.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -49,11 +49,14 @@
<p>
<a href="structggl_1_1strategy_1_1side_1_1xy__side-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
+< P, PS >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#fc00b4def4ecbec875fdcccbd03f9a6f">coordinate_type</a></td></tr>
+
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#ef3dcea77c310bdd72a534539ef72edd">side</a> (const P &p0, const P &p1, const P &p2)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#50f319e6cb75040a906468adcad6d1c9">side</a> (PS const &p0, PS const &p1, P const &p2)</td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><br class="typebreak">
-< P, PS >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#b35869205a5eefee505f491bc1a53f4a">side</a> (const <a class="el" href="classggl_1_1segment.html">segment</a>< const PS > &s, const P &p)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html#3bfdcd774cb32a1e97a5b94a6f3b7f5b">side</a> (<a class="el" href="classggl_1_1segment.html">segment</a>< const PS > const &s, P const &p)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -61,24 +64,44 @@
struct ggl::strategy::side::xy_side< P, PS ></h3>
-<p>Definition at line <a class="el" href="cart__side_8hpp_source.html#l00029">29</a> of file <a class="el" href="cart__side_8hpp_source.html">cart_side.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__side_8hpp_source.html#l00028">28</a> of file <a class="el" href="cart__side_8hpp_source.html">cart_side.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="fc00b4def4ecbec875fdcccbd03f9a6f"></a><!-- doxytag: member="ggl::strategy::side::xy_side::coordinate_type" ref="fc00b4def4ecbec875fdcccbd03f9a6f" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P , typename PS > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><P, PS>::type <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side</a>< P, PS >::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="cart__side_8hpp_source.html#l00030">30</a> of file <a class="el" href="cart__side_8hpp_source.html">cart_side.hpp</a>.</p>
+
+</div>
+</div><p>
<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="b35869205a5eefee505f491bc1a53f4a"></a><!-- doxytag: member="ggl::strategy::side::xy_side::side" ref="b35869205a5eefee505f491bc1a53f4a" args="(const segment< const PS > &s, const P &p)" -->
+<a class="anchor" name="3bfdcd774cb32a1e97a5b94a6f3b7f5b"></a><!-- doxytag: member="ggl::strategy::side::xy_side::side" ref="3bfdcd774cb32a1e97a5b94a6f3b7f5b" args="(segment< const PS > const &s, P const &p)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename P , typename PS > </div>
<table class="memname">
<tr>
- <td class="memname">static <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><P, PS>::type <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side</a>< P, PS >::side </td>
+ <td class="memname">static <a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side</a>< P, PS >::side </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classggl_1_1segment.html">segment</a>< const PS > & </td>
+ <td class="paramtype"><a class="el" href="classggl_1_1segment.html">segment</a>< const PS > const & </td>
<td class="paramname"> <em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const P & </td>
+ <td class="paramtype">P const & </td>
<td class="paramname"> <em>p</em></td><td> </td>
</tr>
<tr>
@@ -96,7 +119,7 @@
</div>
</div><p>
-<a class="anchor" name="ef3dcea77c310bdd72a534539ef72edd"></a><!-- doxytag: member="ggl::strategy::side::xy_side::side" ref="ef3dcea77c310bdd72a534539ef72edd" args="(const P &p0, const P &p1, const P &p2)" -->
+<a class="anchor" name="50f319e6cb75040a906468adcad6d1c9"></a><!-- doxytag: member="ggl::strategy::side::xy_side::side" ref="50f319e6cb75040a906468adcad6d1c9" args="(PS const &p0, PS const &p1, P const &p2)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@@ -105,19 +128,19 @@
<tr>
<td class="memname">static int <a class="el" href="structggl_1_1strategy_1_1side_1_1xy__side.html">ggl::strategy::side::xy_side</a>< P, PS >::side </td>
<td>(</td>
- <td class="paramtype">const P & </td>
+ <td class="paramtype">PS const & </td>
<td class="paramname"> <em>p0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const P & </td>
+ <td class="paramtype">PS const & </td>
<td class="paramname"> <em>p1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">const P & </td>
+ <td class="paramtype">P const & </td>
<td class="paramname"> <em>p2</em></td><td> </td>
</tr>
<tr>
@@ -131,7 +154,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__side_8hpp_source.html#l00049">49</a> of file <a class="el" href="cart__side_8hpp_source.html">cart_side.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__side_8hpp_source.html#l00055">55</a> of file <a class="el" href="cart__side_8hpp_source.html">cart_side.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin-members.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::strategy::within::franklin< P, PS > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< P, PS ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">operator()</a>(const segment< const PS > &s, state_type &state) const </td><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< P, PS ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin< P, PS ></a></td><td></td></tr>
-</table></div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1within_1_1franklin.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,154 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1strategy.html">strategy</a>::<a class="el" href="namespaceggl_1_1strategy_1_1within.html">within</a>::<a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">franklin</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::strategy::within::franklin< P, PS > Struct Template Reference</h1><!-- doxytag: class="ggl::strategy::within::franklin" -->Within detection using cross counting.
-More...
-<p>
-
-<p>
-List of all members.<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><b>crossings</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef crossings </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#bc36ab444ff56273a4536af3f3d4a281">operator()</a> (const <a class="el" href="classggl_1_1segment.html">segment</a>< const PS > &s, <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a> &state) const </td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename P, typename PS = P><br>
- struct ggl::strategy::within::franklin< P, PS ></h3>
-
-Within detection using cross counting.
-<p>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>adapted from Randolph Franklin algorithm <p>
-Barend and Maarten, 1995 <p>
-Revised for templatized library, Barend Gehrels, 2007 </dd></dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> is in ring, works for closed rings in both directions </dd></dl>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>Does NOT work correctly for <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> ON border </dd></dl>
-
-<p>Definition at line <a class="el" href="cart__within_8hpp_source.html#l00035">35</a> of file <a class="el" href="cart__within_8hpp_source.html">cart_within.hpp</a>.</p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="ae1dd9c468a086bdaaa4b1235fc26bce"></a><!-- doxytag: member="ggl::strategy::within::franklin::state_type" ref="ae1dd9c468a086bdaaa4b1235fc26bce" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename PS = P> </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef crossings <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>< P, PS >::<a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="cart__within_8hpp_source.html#l00055">55</a> of file <a class="el" href="cart__within_8hpp_source.html">cart_within.hpp</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="bc36ab444ff56273a4536af3f3d4a281"></a><!-- doxytag: member="ggl::strategy::within::franklin::operator()" ref="bc36ab444ff56273a4536af3f3d4a281" args="(const segment< const PS > &s, state_type &state) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename P , typename PS = P> </div>
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html">ggl::strategy::within::franklin</a>< P, PS >::operator() </td>
- <td>(</td>
- <td class="paramtype">const <a class="el" href="classggl_1_1segment.html">segment</a>< const PS > & </td>
- <td class="paramname"> <em>s</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structggl_1_1strategy_1_1within_1_1franklin.html#ae1dd9c468a086bdaaa4b1235fc26bce">state_type</a> & </td>
- <td class="paramname"> <em>state</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="cart__within_8hpp_source.html#l00057">57</a> of file <a class="el" href="cart__within_8hpp_source.html">cart_within.hpp</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__side.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -76,7 +76,7 @@
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename T , typename P , typename PS = P> </div>
+template<typename T, typename P, typename PS = P> </div>
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structggl_1_1strategy_1_1not__implemented.html">strategy::not_implemented</a> <a class="el" href="structggl_1_1strategy__side.html">ggl::strategy_side</a>< T, P, PS >::<a class="el" href="structggl_1_1strategy_1_1not__implemented.html">type</a> </td>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1topological__dimension.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -62,7 +62,7 @@
<p>
The topological <a class="el" href="structggl_1_1dimension.html" title="Meta-function which defines coordinate dimensions, i.e. the number of axes of any...">dimension</a> defines a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> as 0-dimensional, a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring</a> as 1-dimensional, and a ring or <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> as 2-dimensional. <dl class="see" compact><dt><b>See also:</b></dt><dd>http://www.math.okstate.edu/mathdept/dynamics/lecnotes/node36.html </dd></dl>
-<p>Definition at line <a class="el" href="core_2topological__dimension_8hpp_source.html#l00082">82</a> of file <a class="el" href="core_2topological__dimension_8hpp_source.html">topological_dimension.hpp</a>.</p>
+<p>Definition at line <a class="el" href="core_2topological__dimension_8hpp_source.html#l00075">75</a> of file <a class="el" href="core_2topological__dimension_8hpp_source.html">topological_dimension.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1access.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -61,7 +61,7 @@
Traits class which gives <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> (get,set) to points.
<p>
<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
-<li><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a></li><li>n-sphere (circle,sphere) for their center </li></ul>
+<li><a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> </li></ul>
</dd></dl>
<dl class="user" compact><dt><b>Specializations should provide, per Dimension</b></dt><dd><ul>
<li>static inline T get(const G&)</li><li>static inline void set(G&, T const&) </li></ul>
@@ -73,7 +73,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="access_8hpp_source.html#l00043">43</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00042">42</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1append__point.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -45,7 +45,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl::traits::append_point< G, P > Struct Template Reference<br>
+<h1>ggl::traits::append_point< Geometry, Point > Struct Template Reference<br>
<small>
[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
</h1><!-- doxytag: class="ggl::traits::append_point" -->Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
@@ -55,8 +55,8 @@
<tr><td></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename G, typename P><br>
- struct ggl::traits::append_point< G, P ></h3>
+<h3>template<typename Geometry, typename Point><br>
+ struct ggl::traits::append_point< Geometry, Point ></h3>
Traits class, optional, might be implemented to append a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>.
<p>
@@ -68,7 +68,7 @@
<li>run </li></ul>
</dd></dl>
-<p>Definition at line <a class="el" href="append_8hpp_source.html#l00040">40</a> of file <a class="el" href="append_8hpp_source.html">append.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00112">112</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1clear.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -45,7 +45,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl::traits::clear< G > Struct Template Reference<br>
+<h1>ggl::traits::clear< Geometry > Struct Template Reference<br>
<small>
[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
</h1><!-- doxytag: class="ggl::traits::clear" -->Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry.
@@ -55,8 +55,8 @@
<tr><td></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename G><br>
- struct ggl::traits::clear< G ></h3>
+<h3>template<typename Geometry><br>
+ struct ggl::traits::clear< Geometry ></h3>
Traits class, optional, might be implemented to <a class="el" href="structggl_1_1traits_1_1clear.html" title="Traits class, optional, might be implemented to clear a geometry.">clear</a> a geometry.
<p>
@@ -68,7 +68,7 @@
<li>apply </li></ul>
</dd></dl>
-<p>Definition at line <a class="el" href="clear_8hpp_source.html#l00036">36</a> of file <a class="el" href="clear_8hpp_source.html">clear.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00095">95</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1indexed__access.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -74,7 +74,7 @@
<li>static inline T get(const G&)</li><li>static inline void set(G&, T const&) </li></ul>
</dd></dl>
-<p>Definition at line <a class="el" href="access_8hpp_source.html#l00060">60</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00059">59</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__access.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1traits.html">traits</a>::<a class="el" href="structggl_1_1traits_1_1radius__access.html">radius_access</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::traits::radius_access< G, T, D > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
-</h1><!-- doxytag: class="ggl::traits::radius_access" -->Traits class to get/set radius of a circle/sphere/(ellipse).
-More...
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename G, typename T, std::size_t D><br>
- struct ggl::traits::radius_access< G, T, D ></h3>
-
-Traits class to get/set radius of a circle/sphere/(ellipse).
-<p>
-the radius <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> meta-functions give read/write <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> to the radius of a circle or a sphere, or to the major/minor axis or an ellipse, or to one of the 3 equatorial radii of an ellipsoid.<p>
-It should be specialized per geometry, in namespace core_dispatch. Those specializations should forward the call via <a class="el" href="namespaceggl_1_1traits.html">traits</a> to the geometry class, which could be specified by the user.<p>
-There is a corresponding generic radius_get and radius_set function <dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
-<li>n-sphere (circle,sphere)</li><li>upcoming ellipse </li></ul>
-</dd></dl>
-<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
-<li>inline static T get(const G& geometry)</li><li>inline static void set(G& geometry, const T& radius) </li></ul>
-</dd></dl>
-
-<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00045">45</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1radius__type.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
+++ (empty file)
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Generic Geometry Library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body style="background-image: url(images/draft.png);">
-
-<table cellpadding="2" width="100%">
-<tbody>
-<tr>
-<td valign="top">
-<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
-
-</td>
-<td valign="top" align="right">
-<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
-</td>
-</tr>
-</tbody>
-</table>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
- <div class="tabs">
- <ul>
- <li>Main Page</li>
- <li>Related Pages</li>
- <li>Modules</li>
- <li>Namespaces</li>
- <li class="current">Classes</li>
- <li>Files</li>
- <li>Examples</li>
- </ul>
- </div>
- <div class="tabs">
- <ul>
- <li>Class List</li>
- <li>Class Hierarchy</li>
- <li>Class Members</li>
- </ul>
- </div>
- <div class="navpath"><a class="el" href="namespaceggl.html">ggl</a>::<a class="el" href="namespaceggl_1_1traits.html">traits</a>::<a class="el" href="structggl_1_1traits_1_1radius__type.html">radius_type</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::traits::radius_type< G > Struct Template Reference<br>
-<small>
-[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
-</h1><!-- doxytag: class="ggl::traits::radius_type" -->Traits class indicating the type (double,float,...) of the radius of a circle or a sphere.
-More...
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename G><br>
- struct ggl::traits::radius_type< G ></h3>
-
-Traits class indicating the type (double,float,...) of the radius of a circle or a sphere.
-<p>
-<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
-<li>n-sphere (circle,sphere)</li><li>upcoming ellipse </li></ul>
-</dd></dl>
-<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
-<li>typedef T type (double,float,int,etc) </li></ul>
-</dd></dl>
-
-<p>Definition at line <a class="el" href="radius_8hpp_source.html#l00058">58</a> of file <a class="el" href="radius_8hpp_source.html">radius.hpp</a>.</p>
-</div>
-<hr size="1">
-<table width="100%">
-<tbody>
-<tr>
-<td align="left"><small>
-<p>October 13, 2009</p>
-</small></td>
-<td align="right">
-<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
-Copyright © 2008-2009 Bruno Lalande, Paris<br>
-Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
-</small>
-</td>
-</tr>
-</tbody>
-</table>
-
-<address style="text-align: right;"><small>
-Documentation is generated by Doxygen
-</small></address>
-</body>
-</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1use__std.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -73,7 +73,7 @@
<li>value (defaults to true) </li></ul>
</dd></dl>
-<p>Definition at line <a class="el" href="access_8hpp_source.html#l00077">77</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00076">76</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="53e09180303edd2ec2735f749db2305d"></a><!-- doxytag: member="ggl::traits::use_std::value" ref="53e09180303edd2ec2735f749db2305d" args="" -->
<div class="memitem">
@@ -90,7 +90,7 @@
<p>
-<p>Definition at line <a class="el" href="access_8hpp_source.html#l00079">79</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
+<p>Definition at line <a class="el" href="access_8hpp_source.html#l00078">78</a> of file <a class="el" href="access_8hpp_source.html">access.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/traverse_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -59,420 +59,426 @@
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="copy__segments_8hpp.html">ggl/algorithms/overlay/copy_segments.hpp</a>></span>
<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#include <ggl/extensions/gis/io/wkt/write_wkt.hpp></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#endif</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span>
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="keyword">namespace </span>ggl
-<a name="l00026"></a>00026 {
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_NONE = 0;
-<a name="l00034"></a>00034 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_START = 1;
-<a name="l00035"></a>00035 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_VISITED = 2;
-<a name="l00036"></a>00036 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_FINISH = 3;
-<a name="l00037"></a>00037 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_WITHIN = 4;
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="keyword">template</span>
-<a name="l00041"></a>00041 <
-<a name="l00042"></a>00042 <span class="keyword">typename</span> IntersectionPoint,
-<a name="l00043"></a>00043 <span class="keyword">typename</span> IntersectionInfo
-<a name="l00044"></a>00044 >
-<a name="l00045"></a>00045 <span class="keyword">struct </span>on_direction
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 on_direction(IntersectionPoint <span class="keyword">const</span>& ip, <span class="keywordtype">int</span> direction)
-<a name="l00048"></a>00048 : m_ip(ip)
-<a name="l00049"></a>00049 , m_direction(direction)
-<a name="l00050"></a>00050 {}
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="comment">// TEMP: convenient COPY of side</span>
-<a name="l00053"></a>00053 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> P>
-<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> side(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2, P <span class="keyword">const</span>& p)
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type<P, P1>::type T;
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 T dx = get<0>(p2) - get<0>(p1);
-<a name="l00059"></a>00059 T dy = get<1>(p2) - get<1>(p1);
-<a name="l00060"></a>00060 T dpx = get<0>(p) - get<0>(p1);
-<a name="l00061"></a>00061 T dpy = get<1>(p) - get<1>(p1);
-<a name="l00062"></a>00062 T product = dx * dpy - dy * dpx;
-<a name="l00063"></a>00063 <span class="keywordflow">return</span> product > 0 ? 1 : product < 0 ? -1 : 0;
-<a name="l00064"></a>00064 }
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(IntersectionInfo <span class="keyword">const</span>& first, IntersectionInfo <span class="keyword">const</span>& second)<span class="keyword"> const</span>
-<a name="l00067"></a>00067 <span class="keyword"> </span>{
-<a name="l00068"></a>00068 <span class="keywordtype">int</span> dir = side(m_ip, first->other_point, second->other_point);
-<a name="l00069"></a>00069 <span class="keywordflow">return</span> m_direction == dir;
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 <span class="keyword">private</span> :
-<a name="l00073"></a>00073 IntersectionPoint <span class="keyword">const</span>& m_ip;
-<a name="l00074"></a>00074 <span class="keywordtype">int</span> m_direction;
-<a name="l00075"></a>00075 };
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077
-<a name="l00078"></a>00078 <span class="keyword">template</span>
-<a name="l00079"></a>00079 <
-<a name="l00080"></a>00080 <span class="keyword">typename</span> GeometryOut,
-<a name="l00081"></a>00081 <span class="keyword">typename</span> G1,
-<a name="l00082"></a>00082 <span class="keyword">typename</span> G2,
-<a name="l00083"></a>00083 <span class="keyword">typename</span> IntersectionPoints,
-<a name="l00084"></a>00084 <span class="keyword">typename</span> IntersectionInfo
-<a name="l00085"></a>00085 >
-<a name="l00086"></a>00086 <span class="keyword">inline</span> <span class="keywordtype">bool</span> assign_next_ip(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2, <span class="keywordtype">int</span> direction,
-<a name="l00087"></a>00087 IntersectionPoints& intersection_points,
-<a name="l00088"></a>00088 <span class="keyword">typename</span> boost::range_iterator<IntersectionPoints>::type & ip,
-<a name="l00089"></a>00089 GeometryOut& current_output,
-<a name="l00090"></a>00090 IntersectionInfo & info)
-<a name="l00091"></a>00091 {
-<a name="l00092"></a>00092 info.visit_code = VISIT_VISITED;
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00095"></a>00095 <span class="preprocessor"></span> std::cout << <span class="stringliteral">" take: "</span> << info << std::endl;
-<a name="l00096"></a>00096 <span class="preprocessor">#endif</span>
-<a name="l00097"></a>00097 <span class="preprocessor"></span>
-<a name="l00098"></a>00098 <span class="comment">// If there is no next IP on this segment</span>
-<a name="l00099"></a>00099 <span class="keywordflow">if</span> (info.next_ip_index < 0)
-<a name="l00100"></a>00100 {
-<a name="l00101"></a>00101 <span class="keywordflow">if</span> (info.seg_id.source_index == 0)
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">ggl::copy_segments</a>(g1, info.seg_id,
-<a name="l00104"></a>00104 info.travels_to_vertex_index,
-<a name="l00105"></a>00105 current_output);
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107 <span class="keywordflow">else</span>
-<a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">ggl::copy_segments</a>(g2, info.seg_id,
-<a name="l00110"></a>00110 info.travels_to_vertex_index,
-<a name="l00111"></a>00111 current_output);
-<a name="l00112"></a>00112 }
-<a name="l00113"></a>00113 ip = boost::begin(intersection_points) + info.travels_to_ip_index;
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115 <span class="keywordflow">else</span>
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 ip = boost::begin(intersection_points) + info.next_ip_index;
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119 current_output.push_back(ip->point);
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 <span class="keyword">template</span> <<span class="keyword">typename</span> Info>
-<a name="l00125"></a>00125 <span class="keyword">inline</span> <span class="keywordtype">bool</span> turning(Info <span class="keyword">const</span>& info, <span class="keywordtype">int</span> direction)
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <span class="comment">// If it is turning in specified direction (RIGHT for intersection,</span>
-<a name="l00128"></a>00128 <span class="comment">// LEFT for union, and NOT arriving at that point</span>
-<a name="l00129"></a>00129 <span class="keywordflow">return</span> info.direction == direction
-<a name="l00130"></a>00130 && info.arrival != 1
-<a name="l00131"></a>00131 <span class="comment">//&& (! (info.how == 'a' && info.direction != 0))</span>
-<a name="l00132"></a>00132 ;
-<a name="l00133"></a>00133 }
-<a name="l00134"></a>00134
-<a name="l00135"></a>00135 <span class="keyword">template</span>
-<a name="l00136"></a>00136 <
-<a name="l00137"></a>00137 <span class="keyword">typename</span> GeometryOut,
-<a name="l00138"></a>00138 <span class="keyword">typename</span> G1,
-<a name="l00139"></a>00139 <span class="keyword">typename</span> G2,
-<a name="l00140"></a>00140 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00141"></a>00141 >
-<a name="l00142"></a>00142 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip_trivial(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2, <span class="keywordtype">int</span> direction,
-<a name="l00143"></a>00143 IntersectionPoints& intersection_points,
-<a name="l00144"></a>00144 <span class="keyword">typename</span> boost::range_iterator<IntersectionPoints>::type & ip,
-<a name="l00145"></a>00145 GeometryOut& current_output)
-<a name="l00146"></a>00146 {
-<a name="l00147"></a>00147 <span class="comment">// Check all intersecting segments on this IP:</span>
-<a name="l00148"></a>00148 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<IntersectionPoints>::type ip_type;
-<a name="l00149"></a>00149 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
-<a name="l00150"></a>00150 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<tv>::type tit_type;
-<a name="l00151"></a>00151
-<a name="l00152"></a>00152 <span class="keywordflow">for</span> (tit_type it = boost::begin(ip->info); it != boost::end(ip->info); ++it)
-<a name="l00153"></a>00153 {
-<a name="l00154"></a>00154 <span class="keywordflow">if</span> (turning(*it, direction))
-<a name="l00155"></a>00155 {
-<a name="l00156"></a>00156 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
-<a name="l00157"></a>00157 intersection_points, ip, current_output, *it);
-<a name="l00158"></a>00158 }
-<a name="l00159"></a>00159 }
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 <span class="keyword">template</span>
-<a name="l00166"></a>00166 <
-<a name="l00167"></a>00167 <span class="keyword">typename</span> GeometryOut,
-<a name="l00168"></a>00168 <span class="keyword">typename</span> G1,
-<a name="l00169"></a>00169 <span class="keyword">typename</span> G2,
-<a name="l00170"></a>00170 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00171"></a>00171 >
-<a name="l00172"></a>00172 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip_with_sorting(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2,
-<a name="l00173"></a>00173 <span class="keywordtype">int</span> direction,
-<a name="l00174"></a>00174 IntersectionPoints& intersection_points,
-<a name="l00175"></a>00175 <span class="keyword">typename</span> boost::range_iterator<IntersectionPoints>::type & ip,
-<a name="l00176"></a>00176 GeometryOut& current_output)
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178
-<a name="l00179"></a>00179 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<IntersectionPoints>::type ip_type;
-<a name="l00180"></a>00180 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
-<a name="l00181"></a>00181 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<tv>::type tit_type;
-<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
-<a name="l00183"></a>00183
-<a name="l00184"></a>00184 std::vector<info_type*> info;
-<a name="l00185"></a>00185 <span class="keywordflow">for</span> (tit_type it = boost::begin(ip->info); it != boost::end(ip->info); ++it)
-<a name="l00186"></a>00186 {
-<a name="l00187"></a>00187 <span class="keywordflow">if</span> (turning(*it, direction))
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 info.push_back(&(*it));
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191 }
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 <span class="comment">// If there are no intersection points, fall-back to collinear cases or</span>
-<a name="l00194"></a>00194 <span class="comment">// if already in that case, return false.</span>
-<a name="l00195"></a>00195 <span class="keywordflow">if</span> (boost::size(info) == 0)
-<a name="l00196"></a>00196 {
-<a name="l00197"></a>00197 <span class="keywordflow">return</span> direction == 0
-<a name="l00198"></a>00198 ? <span class="keyword">false</span>
-<a name="l00199"></a>00199 : select_next_ip_with_sorting(g1, g2, 0,
-<a name="l00200"></a>00200 intersection_points, ip, current_output);
-<a name="l00201"></a>00201 }
-<a name="l00202"></a>00202
-<a name="l00203"></a>00203 <span class="comment">// For one IP, it is easy: take that one.</span>
-<a name="l00204"></a>00204 <span class="keywordflow">if</span> (boost::size(info) == 1)
-<a name="l00205"></a>00205 {
-<a name="l00206"></a>00206 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
-<a name="l00207"></a>00207 intersection_points, ip, current_output, *info.front());
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209
-<a name="l00210"></a>00210 <span class="comment">// In case of direction 0, also take first one</span>
-<a name="l00211"></a>00211 <span class="comment">// TODO: sort this vector somehow, there are more rows, it is too</span>
-<a name="l00212"></a>00212 <span class="comment">// arbitrary to take first one (though working well)</span>
-<a name="l00213"></a>00213 <span class="keywordflow">if</span> (direction == 0)
-<a name="l00214"></a>00214 {
-<a name="l00215"></a>00215 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
-<a name="l00216"></a>00216 intersection_points, ip, current_output, *info.front());
-<a name="l00217"></a>00217 }
-<a name="l00218"></a>00218
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="comment">// For more, sort the information on direction, take the most left / right one</span>
-<a name="l00221"></a>00221 <span class="comment">//std::cout << " " << boost::size(info);</span>
-<a name="l00222"></a>00222 std::sort(info.begin(), info.end(), on_direction<ip_type, info_type*>(*ip, direction));
-<a name="l00223"></a>00223 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction, intersection_points, ip, current_output, *info.back());
-<a name="l00224"></a>00224 }
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 <span class="keyword">template</span>
-<a name="l00227"></a>00227 <
-<a name="l00228"></a>00228 <span class="keyword">typename</span> GeometryOut,
-<a name="l00229"></a>00229 <span class="keyword">typename</span> G1,
-<a name="l00230"></a>00230 <span class="keyword">typename</span> G2,
-<a name="l00231"></a>00231 <span class="keyword">typename</span> IntersectionPoints
-<a name="l00232"></a>00232 >
-<a name="l00233"></a>00233 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2, <span class="keywordtype">int</span> direction,
-<a name="l00234"></a>00234 IntersectionPoints& intersection_points,
-<a name="l00235"></a>00235 <span class="keyword">typename</span> boost::range_iterator<IntersectionPoints>::type & ip,
-<a name="l00236"></a>00236 GeometryOut& current_output)
-<a name="l00237"></a>00237 {
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (ip->trivial)
-<a name="l00239"></a>00239 {
-<a name="l00240"></a>00240 <span class="keywordflow">return</span> select_next_ip_trivial(g1, g2, direction, intersection_points,
-<a name="l00241"></a>00241 ip, current_output);
-<a name="l00242"></a>00242 }
-<a name="l00243"></a>00243 <span class="keywordflow">else</span>
-<a name="l00244"></a>00244 {
-<a name="l00245"></a>00245 <span class="keywordflow">return</span> select_next_ip_with_sorting(g1, g2, direction, intersection_points,
-<a name="l00246"></a>00246 ip, current_output);
-<a name="l00247"></a>00247 }
-<a name="l00248"></a>00248 }
-<a name="l00249"></a>00249
-<a name="l00250"></a>00250
-<a name="l00251"></a>00251 <span class="keyword">template</span><<span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>>
-<a name="l00252"></a>00252 <span class="keyword">inline</span> <span class="keywordtype">bool</span> is_starting_point(IntersectionPoint <span class="keyword">const</span>& ip, <span class="keywordtype">int</span> direction)
-<a name="l00253"></a>00253 {
-<a name="l00254"></a>00254 <span class="keywordflow">for</span> (<span class="keyword">typename</span> IntersectionPoint::traversal_vector::const_iterator it
-<a name="l00255"></a>00255 = boost::begin(ip.info); it != boost::end(ip.info); ++it)
-<a name="l00256"></a>00256 {
-<a name="l00257"></a>00257 <span class="keywordflow">if</span> (it->direction == direction
-<a name="l00258"></a>00258 && it->arrival != 1)
-<a name="l00259"></a>00259 {
-<a name="l00260"></a>00260 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00261"></a>00261 }
-<a name="l00262"></a>00262 }
-<a name="l00263"></a>00263 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00264"></a>00264 }
-<a name="l00265"></a>00265
-<a name="l00266"></a>00266
-<a name="l00267"></a>00267 <span class="keyword">template</span> <<span class="keyword">typename</span> Container>
-<a name="l00268"></a>00268 <span class="keyword">inline</span> <span class="keywordtype">void</span> stop_gracefully(Container& container, <span class="keywordtype">bool</span>& stop,
-<a name="l00269"></a>00269 std::string <span class="keyword">const</span>& reason)
-<a name="l00270"></a>00270 {
-<a name="l00271"></a>00271 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00272"></a>00272 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"STOPPING: "</span> << reason << std::endl;
-<a name="l00273"></a>00273 <span class="preprocessor">#endif</span>
-<a name="l00274"></a>00274 <span class="preprocessor"></span>
-<a name="l00275"></a>00275 stop = <span class="keyword">true</span>;
-<a name="l00276"></a>00276 <span class="keywordflow">if</span> (container.size() > 0)
-<a name="l00277"></a>00277 {
-<a name="l00278"></a>00278 container.push_back(container.front());
-<a name="l00279"></a>00279 }
-<a name="l00280"></a>00280 }
-<a name="l00281"></a>00281
-<a name="l00282"></a>00282 }} <span class="comment">// namespace detail::intersection</span>
-<a name="l00283"></a>00283 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00284"></a>00284 <span class="preprocessor"></span>
-<a name="l00285"></a>00285
-<a name="l00286"></a>00286
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#include <ggl/extensions/gis/io/wkt/write_wkt.hpp></span>
+<a name="l00024"></a>00024 <span class="preprocessor">#endif</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>ggl
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__overlay.html#g60644b53b334602956f0722e9dfb69b5" title="Intersects two geometries which each other.">intersection</a> {
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_NONE = 0;
+<a name="l00036"></a>00036 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_START = 1;
+<a name="l00037"></a>00037 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_VISITED = 2;
+<a name="l00038"></a>00038 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_FINISH = 3;
+<a name="l00039"></a>00039 <span class="keyword">const</span> <span class="keywordtype">int</span> VISIT_WITHIN = 4;
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">template</span>
+<a name="l00043"></a>00043 <
+<a name="l00044"></a>00044 <span class="keyword">typename</span> IntersectionPoint,
+<a name="l00045"></a>00045 <span class="keyword">typename</span> IntersectionInfo
+<a name="l00046"></a>00046 >
+<a name="l00047"></a>00047 <span class="keyword">struct </span>on_direction
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 on_direction(IntersectionPoint <span class="keyword">const</span>& ip, <span class="keywordtype">int</span> direction)
+<a name="l00050"></a>00050 : m_ip(ip)
+<a name="l00051"></a>00051 , m_direction(direction)
+<a name="l00052"></a>00052 {}
+<a name="l00053"></a>00053
+<a name="l00054"></a>00054 <span class="comment">// TEMP: convenient COPY of side</span>
+<a name="l00055"></a>00055 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> P>
+<a name="l00056"></a>00056 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> side(P1 <span class="keyword">const</span>& p1, P2 <span class="keyword">const</span>& p2, P <span class="keyword">const</span>& p)
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keyword">typename</span> select_coordinate_type<P, P1>::type T;
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 T dx = get<0>(p2) - get<0>(p1);
+<a name="l00061"></a>00061 T dy = get<1>(p2) - get<1>(p1);
+<a name="l00062"></a>00062 T dpx = get<0>(p) - get<0>(p1);
+<a name="l00063"></a>00063 T dpy = get<1>(p) - get<1>(p1);
+<a name="l00064"></a>00064 T product = dx * dpy - dy * dpx;
+<a name="l00065"></a>00065 <span class="keywordflow">return</span> product > 0 ? 1 : product < 0 ? -1 : 0;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(IntersectionInfo <span class="keyword">const</span>& first, IntersectionInfo <span class="keyword">const</span>& second)<span class="keyword"> const</span>
+<a name="l00069"></a>00069 <span class="keyword"> </span>{
+<a name="l00070"></a>00070 <span class="keywordtype">int</span> dir = side(m_ip, first->other_point, second->other_point);
+<a name="l00071"></a>00071 <span class="keywordflow">return</span> m_direction == dir;
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">private</span> :
+<a name="l00075"></a>00075 IntersectionPoint <span class="keyword">const</span>& m_ip;
+<a name="l00076"></a>00076 <span class="keywordtype">int</span> m_direction;
+<a name="l00077"></a>00077 };
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="keyword">template</span>
+<a name="l00081"></a>00081 <
+<a name="l00082"></a>00082 <span class="keyword">typename</span> GeometryOut,
+<a name="l00083"></a>00083 <span class="keyword">typename</span> G1,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> G2,
+<a name="l00085"></a>00085 <span class="keyword">typename</span> IntersectionPoints,
+<a name="l00086"></a>00086 <span class="keyword">typename</span> IntersectionInfo
+<a name="l00087"></a>00087 >
+<a name="l00088"></a>00088 <span class="keyword">inline</span> <span class="keywordtype">bool</span> assign_next_ip(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2, <span class="keywordtype">int</span> direction,
+<a name="l00089"></a>00089 IntersectionPoints& intersection_points,
+<a name="l00090"></a>00090 <span class="keyword">typename</span> boost::range_iterator<IntersectionPoints>::type & ip,
+<a name="l00091"></a>00091 GeometryOut& current_output,
+<a name="l00092"></a>00092 IntersectionInfo & info)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 info.visit_code = VISIT_VISITED;
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span> std::cout << <span class="stringliteral">" take: "</span> << info << std::endl;
+<a name="l00098"></a>00098 <span class="preprocessor">#endif</span>
+<a name="l00099"></a>00099 <span class="preprocessor"></span>
+<a name="l00100"></a>00100 <span class="comment">// If there is no next IP on this segment</span>
+<a name="l00101"></a>00101 <span class="keywordflow">if</span> (info.next_ip_index < 0)
+<a name="l00102"></a>00102 {
+<a name="l00103"></a>00103 <span class="keywordflow">if</span> (info.seg_id.source_index == 0)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">ggl::copy_segments</a>(g1, info.seg_id,
+<a name="l00106"></a>00106 info.travels_to_vertex_index,
+<a name="l00107"></a>00107 current_output);
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109 <span class="keywordflow">else</span>
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <a class="code" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890" title="Traverses through intersection points / geometries.">ggl::copy_segments</a>(g2, info.seg_id,
+<a name="l00112"></a>00112 info.travels_to_vertex_index,
+<a name="l00113"></a>00113 current_output);
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 ip = boost::begin(intersection_points) + info.travels_to_ip_index;
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117 <span class="keywordflow">else</span>
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 ip = boost::begin(intersection_points) + info.next_ip_index;
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 current_output.push_back(ip->point);
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00124"></a>00124 }
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keyword">template</span> <<span class="keyword">typename</span> Info>
+<a name="l00127"></a>00127 <span class="keyword">inline</span> <span class="keywordtype">bool</span> turning(Info <span class="keyword">const</span>& info, <span class="keywordtype">int</span> direction)
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 <span class="comment">// If it is turning in specified direction (RIGHT for intersection,</span>
+<a name="l00130"></a>00130 <span class="comment">// LEFT for union, and NOT arriving at that point</span>
+<a name="l00131"></a>00131 <span class="keywordflow">return</span> info.direction == direction
+<a name="l00132"></a>00132 && info.arrival != 1
+<a name="l00133"></a>00133 <span class="comment">//&& (! (info.how == 'a' && info.direction != 0))</span>
+<a name="l00134"></a>00134 ;
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="keyword">template</span>
+<a name="l00138"></a>00138 <
+<a name="l00139"></a>00139 <span class="keyword">typename</span> GeometryOut,
+<a name="l00140"></a>00140 <span class="keyword">typename</span> G1,
+<a name="l00141"></a>00141 <span class="keyword">typename</span> G2,
+<a name="l00142"></a>00142 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00143"></a>00143 >
+<a name="l00144"></a>00144 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip_trivial(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2, <span class="keywordtype">int</span> direction,
+<a name="l00145"></a>00145 IntersectionPoints& intersection_points,
+<a name="l00146"></a>00146 <span class="keyword">typename</span> boost::range_iterator<IntersectionPoints>::type & ip,
+<a name="l00147"></a>00147 GeometryOut& current_output)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <span class="comment">// Check all intersecting segments on this IP:</span>
+<a name="l00150"></a>00150 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<IntersectionPoints>::type ip_type;
+<a name="l00151"></a>00151 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
+<a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<tv>::type tit_type;
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154 <span class="keywordflow">for</span> (tit_type it = boost::begin(ip->info); it != boost::end(ip->info); ++it)
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 <span class="keywordflow">if</span> (turning(*it, direction))
+<a name="l00157"></a>00157 {
+<a name="l00158"></a>00158 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00159"></a>00159 intersection_points, ip, current_output, *it);
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00164"></a>00164 }
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="keyword">template</span>
+<a name="l00168"></a>00168 <
+<a name="l00169"></a>00169 <span class="keyword">typename</span> GeometryOut,
+<a name="l00170"></a>00170 <span class="keyword">typename</span> G1,
+<a name="l00171"></a>00171 <span class="keyword">typename</span> G2,
+<a name="l00172"></a>00172 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00173"></a>00173 >
+<a name="l00174"></a>00174 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip_with_sorting(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2,
+<a name="l00175"></a>00175 <span class="keywordtype">int</span> direction,
+<a name="l00176"></a>00176 IntersectionPoints& intersection_points,
+<a name="l00177"></a>00177 <span class="keyword">typename</span> boost::range_iterator<IntersectionPoints>::type & ip,
+<a name="l00178"></a>00178 GeometryOut& current_output)
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<IntersectionPoints>::type ip_type;
+<a name="l00182"></a>00182 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
+<a name="l00183"></a>00183 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<tv>::type tit_type;
+<a name="l00184"></a>00184 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 std::vector<info_type*> info;
+<a name="l00187"></a>00187 <span class="keywordflow">for</span> (tit_type it = boost::begin(ip->info); it != boost::end(ip->info); ++it)
+<a name="l00188"></a>00188 {
+<a name="l00189"></a>00189 <span class="keywordflow">if</span> (turning(*it, direction))
+<a name="l00190"></a>00190 {
+<a name="l00191"></a>00191 info.push_back(&(*it));
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193 }
+<a name="l00194"></a>00194
+<a name="l00195"></a>00195 <span class="comment">// If there are no intersection points, fall-back to collinear cases or</span>
+<a name="l00196"></a>00196 <span class="comment">// if already in that case, return false.</span>
+<a name="l00197"></a>00197 <span class="keywordflow">if</span> (boost::size(info) == 0)
+<a name="l00198"></a>00198 {
+<a name="l00199"></a>00199 <span class="keywordflow">return</span> direction == 0
+<a name="l00200"></a>00200 ? <span class="keyword">false</span>
+<a name="l00201"></a>00201 : select_next_ip_with_sorting(g1, g2, 0,
+<a name="l00202"></a>00202 intersection_points, ip, current_output);
+<a name="l00203"></a>00203 }
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 <span class="comment">// For one IP, it is easy: take that one.</span>
+<a name="l00206"></a>00206 <span class="keywordflow">if</span> (boost::size(info) == 1)
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00209"></a>00209 intersection_points, ip, current_output, *info.front());
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 <span class="comment">// In case of direction 0, also take first one</span>
+<a name="l00213"></a>00213 <span class="comment">// TODO: sort this vector somehow, there are more rows, it is too</span>
+<a name="l00214"></a>00214 <span class="comment">// arbitrary to take first one (though working well)</span>
+<a name="l00215"></a>00215 <span class="keywordflow">if</span> (direction == 0)
+<a name="l00216"></a>00216 {
+<a name="l00217"></a>00217 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction,
+<a name="l00218"></a>00218 intersection_points, ip, current_output, *info.front());
+<a name="l00219"></a>00219 }
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="comment">// For more, sort the information on direction, take the most left / right one</span>
+<a name="l00223"></a>00223 <span class="comment">//std::cout << " " << boost::size(info);</span>
+<a name="l00224"></a>00224 std::sort(info.begin(), info.end(), on_direction<ip_type, info_type*>(*ip, direction));
+<a name="l00225"></a>00225 <span class="keywordflow">return</span> assign_next_ip(g1, g2, direction, intersection_points, ip, current_output, *info.back());
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keyword">template</span>
+<a name="l00229"></a>00229 <
+<a name="l00230"></a>00230 <span class="keyword">typename</span> GeometryOut,
+<a name="l00231"></a>00231 <span class="keyword">typename</span> G1,
+<a name="l00232"></a>00232 <span class="keyword">typename</span> G2,
+<a name="l00233"></a>00233 <span class="keyword">typename</span> IntersectionPoints
+<a name="l00234"></a>00234 >
+<a name="l00235"></a>00235 <span class="keyword">inline</span> <span class="keywordtype">bool</span> select_next_ip(G1 <span class="keyword">const</span>& g1, G2 <span class="keyword">const</span>& g2, <span class="keywordtype">int</span> direction,
+<a name="l00236"></a>00236 IntersectionPoints& intersection_points,
+<a name="l00237"></a>00237 <span class="keyword">typename</span> boost::range_iterator<IntersectionPoints>::type & ip,
+<a name="l00238"></a>00238 GeometryOut& current_output)
+<a name="l00239"></a>00239 {
+<a name="l00240"></a>00240 <span class="keywordflow">if</span> (ip->trivial)
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 <span class="keywordflow">return</span> select_next_ip_trivial(g1, g2, direction, intersection_points,
+<a name="l00243"></a>00243 ip, current_output);
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245 <span class="keywordflow">else</span>
+<a name="l00246"></a>00246 {
+<a name="l00247"></a>00247 <span class="keywordflow">return</span> select_next_ip_with_sorting(g1, g2, direction, intersection_points,
+<a name="l00248"></a>00248 ip, current_output);
+<a name="l00249"></a>00249 }
+<a name="l00250"></a>00250 }
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252
+<a name="l00253"></a>00253 <span class="keyword">template</span><<span class="keyword">typename</span> IntersectionPo<span class="keywordtype">int</span>>
+<a name="l00254"></a>00254 <span class="keyword">inline</span> <span class="keywordtype">bool</span> is_starting_point(IntersectionPoint <span class="keyword">const</span>& ip, <span class="keywordtype">int</span> direction)
+<a name="l00255"></a>00255 {
+<a name="l00256"></a>00256 <span class="keywordflow">for</span> (<span class="keyword">typename</span> IntersectionPoint::traversal_vector::const_iterator it
+<a name="l00257"></a>00257 = boost::begin(ip.info); it != boost::end(ip.info); ++it)
+<a name="l00258"></a>00258 {
+<a name="l00259"></a>00259 <span class="keywordflow">if</span> (it->direction == direction
+<a name="l00260"></a>00260 && it->arrival != 1)
+<a name="l00261"></a>00261 {
+<a name="l00262"></a>00262 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00263"></a>00263 }
+<a name="l00264"></a>00264 }
+<a name="l00265"></a>00265 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00266"></a>00266 }
+<a name="l00267"></a>00267
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269 <span class="keyword">template</span> <<span class="keyword">typename</span> Container>
+<a name="l00270"></a>00270 <span class="keyword">inline</span> <span class="keywordtype">void</span> stop_gracefully(Container& container, <span class="keywordtype">bool</span>& stop,
+<a name="l00271"></a>00271 std::string <span class="keyword">const</span>& reason)
+<a name="l00272"></a>00272 {
+<a name="l00273"></a>00273 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00274"></a>00274 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"STOPPING: "</span> << reason << std::endl;
+<a name="l00275"></a>00275 <span class="preprocessor">#endif</span>
+<a name="l00276"></a>00276 <span class="preprocessor"></span>
+<a name="l00277"></a>00277 stop = <span class="keyword">true</span>;
+<a name="l00278"></a>00278 <span class="keywordflow">if</span> (container.size() > 0)
+<a name="l00279"></a>00279 {
+<a name="l00280"></a>00280 container.push_back(container.front());
+<a name="l00281"></a>00281 }
+<a name="l00282"></a>00282 }
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284 }} <span class="comment">// namespace detail::intersection</span>
+<a name="l00285"></a>00285 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00286"></a>00286 <span class="preprocessor"></span>
<a name="l00287"></a>00287
<a name="l00288"></a>00288
<a name="l00289"></a>00289
-<a name="l00294"></a>00294 <span class="keyword">template</span>
-<a name="l00295"></a>00295 <
-<a name="l00296"></a>00296 <span class="keyword">typename</span> GeometryOut,
-<a name="l00297"></a>00297 <span class="keyword">typename</span> Geometry1,
-<a name="l00298"></a>00298 <span class="keyword">typename</span> Geometry2,
-<a name="l00299"></a>00299 <span class="keyword">typename</span> IntersectionPoints,
-<a name="l00300"></a>00300 <span class="keyword">typename</span> OutputIterator
-<a name="l00301"></a>00301 >
-<a name="l00302"></a><a class="code" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">00302</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d" title="Traverses through intersection points / geometries.">traverse</a>(Geometry1 <span class="keyword">const</span>& geometry1,
-<a name="l00303"></a>00303 Geometry2 <span class="keyword">const</span>& geometry2, <span class="keywordtype">int</span> direction,
-<a name="l00304"></a>00304 IntersectionPoints& intersection_points,
-<a name="l00305"></a>00305 <span class="keywordtype">bool</span> trivial,
-<a name="l00306"></a>00306 OutputIterator out)
-<a name="l00307"></a>00307 {
-<a name="l00308"></a>00308 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
-<a name="l00309"></a>00309 <IntersectionPoints>::type ip_iterator;
-<a name="l00310"></a>00310
-<a name="l00311"></a>00311 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<IntersectionPoints>::type ip_type;
-<a name="l00312"></a>00312 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
-<a name="l00313"></a>00313 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<tv>::type tit_type;
-<a name="l00314"></a>00314 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
-<a name="l00315"></a>00315
+<a name="l00290"></a>00290
+<a name="l00291"></a>00291
+<a name="l00296"></a>00296 <span class="keyword">template</span>
+<a name="l00297"></a>00297 <
+<a name="l00298"></a>00298 <span class="keyword">typename</span> GeometryOut,
+<a name="l00299"></a>00299 <span class="keyword">typename</span> Geometry1,
+<a name="l00300"></a>00300 <span class="keyword">typename</span> Geometry2,
+<a name="l00301"></a>00301 <span class="keyword">typename</span> IntersectionPoints,
+<a name="l00302"></a>00302 <span class="keyword">typename</span> OutputIterator
+<a name="l00303"></a>00303 >
+<a name="l00304"></a><a class="code" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d">00304</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__overlay.html#g05c8da6bfcd1aa911c5520ac991fdc0d" title="Traverses through intersection points / geometries.">traverse</a>(Geometry1 <span class="keyword">const</span>& geometry1,
+<a name="l00305"></a>00305 Geometry2 <span class="keyword">const</span>& geometry2, <span class="keywordtype">int</span> direction,
+<a name="l00306"></a>00306 IntersectionPoints& intersection_points,
+<a name="l00307"></a>00307 <span class="keywordtype">bool</span> trivial,
+<a name="l00308"></a>00308 OutputIterator out)
+<a name="l00309"></a>00309 {
+<a name="l00310"></a>00310 concept::check<const Geometry1>();
+<a name="l00311"></a>00311 concept::check<const Geometry2>();
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313
+<a name="l00314"></a>00314 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00315"></a>00315 <IntersectionPoints>::type ip_iterator;
<a name="l00316"></a>00316
-<a name="l00317"></a>00317
-<a name="l00318"></a>00318 GeometryOut current_output;
-<a name="l00319"></a>00319
-<a name="l00320"></a>00320
-<a name="l00321"></a>00321 <span class="comment">// Iterate through all unvisited points</span>
-<a name="l00322"></a>00322 <span class="keywordflow">for</span> (ip_iterator it = boost::begin(intersection_points);
-<a name="l00323"></a>00323 it != boost::end(intersection_points);
-<a name="l00324"></a>00324 ++it)
-<a name="l00325"></a>00325 {
-<a name="l00326"></a>00326 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00327"></a>00327 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"TRY traversal: "</span> << *it;
-<a name="l00328"></a>00328 <span class="preprocessor">#endif</span>
-<a name="l00329"></a>00329 <span class="preprocessor"></span>
-<a name="l00330"></a>00330 <span class="keywordflow">if</span> (it->visit_code == detail::intersection::VISIT_NONE
-<a name="l00331"></a>00331 <span class="comment">// UNION may operate on non-starting points, but INTERSECTION may not.</span>
-<a name="l00332"></a>00332 <span class="comment">// TODO: re-evaluate that</span>
-<a name="l00333"></a>00333 && (direction == 1
-<a name="l00334"></a>00334 || detail::intersection::is_starting_point(*it, direction)
-<a name="l00335"></a>00335 )
-<a name="l00336"></a>00336 )
-<a name="l00337"></a>00337 {
-<a name="l00338"></a>00338 <span class="keywordflow">for</span> (tit_type iit = boost::begin(it->info);
-<a name="l00339"></a>00339 iit != boost::end(it->info);
-<a name="l00340"></a>00340 ++iit)
-<a name="l00341"></a>00341 {
-<a name="l00342"></a>00342 <span class="keywordflow">if</span> (iit->arrival == -1
-<a name="l00343"></a>00343 && iit->visit_code == detail::intersection::VISIT_NONE
-<a name="l00344"></a>00344 && iit->direction == direction)
-<a name="l00345"></a>00345 {
-<a name="l00346"></a>00346 it->visit_code = detail::intersection::VISIT_START;
-<a name="l00347"></a>00347 iit->visit_code = detail::intersection::VISIT_START;
-<a name="l00348"></a>00348
-<a name="l00349"></a>00349 current_output.push_back(it->point);
-<a name="l00350"></a>00350
-<a name="l00351"></a>00351 ip_iterator current = it;
-<a name="l00352"></a>00352
-<a name="l00353"></a>00353 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00354"></a>00354 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"START traversal: "</span> << *current;
-<a name="l00355"></a>00355 <span class="preprocessor">#endif</span>
-<a name="l00356"></a>00356 <span class="preprocessor"></span>
-<a name="l00357"></a>00357 detail::intersection::assign_next_ip(geometry1, geometry2,
-<a name="l00358"></a>00358 direction,
-<a name="l00359"></a>00359 intersection_points,
-<a name="l00360"></a>00360 current, current_output, *iit);
-<a name="l00361"></a>00361
-<a name="l00362"></a>00362 std::vector<segment_identifier> segments;
-<a name="l00363"></a>00363 segments.push_back(iit->seg_id);
-<a name="l00364"></a>00364
-<a name="l00365"></a>00365 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0;
-<a name="l00366"></a>00366 <span class="keywordtype">bool</span> stop = <span class="keyword">false</span>;
+<a name="l00317"></a>00317 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<IntersectionPoints>::type ip_type;
+<a name="l00318"></a>00318 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_vector tv;
+<a name="l00319"></a>00319 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<tv>::type tit_type;
+<a name="l00320"></a>00320 <span class="keyword">typedef</span> <span class="keyword">typename</span> ip_type::traversal_type info_type;
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322
+<a name="l00323"></a>00323
+<a name="l00324"></a>00324 GeometryOut current_output;
+<a name="l00325"></a>00325
+<a name="l00326"></a>00326
+<a name="l00327"></a>00327 <span class="comment">// Iterate through all unvisited points</span>
+<a name="l00328"></a>00328 <span class="keywordflow">for</span> (ip_iterator it = boost::begin(intersection_points);
+<a name="l00329"></a>00329 it != boost::end(intersection_points);
+<a name="l00330"></a>00330 ++it)
+<a name="l00331"></a>00331 {
+<a name="l00332"></a>00332 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00333"></a>00333 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"TRY traversal: "</span> << *it;
+<a name="l00334"></a>00334 <span class="preprocessor">#endif</span>
+<a name="l00335"></a>00335 <span class="preprocessor"></span>
+<a name="l00336"></a>00336 <span class="keywordflow">if</span> (it->visit_code == detail::intersection::VISIT_NONE
+<a name="l00337"></a>00337 <span class="comment">// UNION may operate on non-starting points, but INTERSECTION may not.</span>
+<a name="l00338"></a>00338 <span class="comment">// TODO: re-evaluate that</span>
+<a name="l00339"></a>00339 && (direction == 1
+<a name="l00340"></a>00340 || detail::intersection::is_starting_point(*it, direction)
+<a name="l00341"></a>00341 )
+<a name="l00342"></a>00342 )
+<a name="l00343"></a>00343 {
+<a name="l00344"></a>00344 <span class="keywordflow">for</span> (tit_type iit = boost::begin(it->info);
+<a name="l00345"></a>00345 iit != boost::end(it->info);
+<a name="l00346"></a>00346 ++iit)
+<a name="l00347"></a>00347 {
+<a name="l00348"></a>00348 <span class="keywordflow">if</span> (iit->arrival == -1
+<a name="l00349"></a>00349 && iit->visit_code == detail::intersection::VISIT_NONE
+<a name="l00350"></a>00350 && iit->direction == direction)
+<a name="l00351"></a>00351 {
+<a name="l00352"></a>00352 it->visit_code = detail::intersection::VISIT_START;
+<a name="l00353"></a>00353 iit->visit_code = detail::intersection::VISIT_START;
+<a name="l00354"></a>00354
+<a name="l00355"></a>00355 current_output.push_back(it->point);
+<a name="l00356"></a>00356
+<a name="l00357"></a>00357 ip_iterator current = it;
+<a name="l00358"></a>00358
+<a name="l00359"></a>00359 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00360"></a>00360 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"START traversal: "</span> << *current;
+<a name="l00361"></a>00361 <span class="preprocessor">#endif</span>
+<a name="l00362"></a>00362 <span class="preprocessor"></span>
+<a name="l00363"></a>00363 detail::intersection::assign_next_ip(geometry1, geometry2,
+<a name="l00364"></a>00364 direction,
+<a name="l00365"></a>00365 intersection_points,
+<a name="l00366"></a>00366 current, current_output, *iit);
<a name="l00367"></a>00367
-<a name="l00368"></a>00368 <span class="keywordflow">while</span> (current != it && ! stop)
-<a name="l00369"></a>00369 {
-<a name="l00370"></a>00370 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00371"></a>00371 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"traverse: "</span> << *current;
-<a name="l00372"></a>00372 <span class="preprocessor">#endif</span>
-<a name="l00373"></a>00373 <span class="preprocessor"></span>
-<a name="l00374"></a>00374 <span class="comment">// We assume clockwise polygons only, non self-intersecting, closed.</span>
-<a name="l00375"></a>00375 <span class="comment">// However, the input might be different, and checking validity</span>
-<a name="l00376"></a>00376 <span class="comment">// is up to the library user.</span>
-<a name="l00377"></a>00377
-<a name="l00378"></a>00378 <span class="comment">// Therefore we make here some sanity checks. If the input</span>
-<a name="l00379"></a>00379 <span class="comment">// violates the assumptions, the output polygon will not be correct</span>
-<a name="l00380"></a>00380 <span class="comment">// but the routine will stop and output the current polygon, and</span>
-<a name="l00381"></a>00381 <span class="comment">// will continue with the next one.</span>
-<a name="l00382"></a>00382
-<a name="l00383"></a>00383 <span class="comment">// Below three reasons to stop.</span>
-<a name="l00384"></a>00384 <span class="keywordflow">if</span> (! detail::intersection::select_next_ip(geometry1,
-<a name="l00385"></a>00385 geometry2, direction,
-<a name="l00386"></a>00386 intersection_points,
-<a name="l00387"></a>00387 current, current_output))
-<a name="l00388"></a>00388 {
-<a name="l00389"></a>00389 <span class="comment">// Should not occur in valid (non-self-intersecting) polygons</span>
-<a name="l00390"></a>00390 <span class="comment">// Should not occur in self-intersecting polygons without spikes</span>
-<a name="l00391"></a>00391 <span class="comment">// Might occur in polygons with spikes</span>
-<a name="l00392"></a>00392 detail::intersection::stop_gracefully(
-<a name="l00393"></a>00393 current_output, stop, <span class="stringliteral">"Dead end"</span>);
-<a name="l00394"></a>00394 }
-<a name="l00395"></a>00395
-<a name="l00396"></a>00396 <span class="keywordflow">if</span> (current->visit_code == detail::intersection::VISIT_VISITED)
-<a name="l00397"></a>00397 {
-<a name="l00398"></a>00398 <span class="comment">// It visits a visited node again, without passing the start node.</span>
-<a name="l00399"></a>00399 <span class="comment">// This makes it suspicious for endless loops</span>
-<a name="l00400"></a>00400 <span class="comment">// Check if it is really same node</span>
-<a name="l00401"></a>00401 detail::intersection::stop_gracefully(
-<a name="l00402"></a>00402 current_output, stop, <span class="stringliteral">"Visit again"</span>);
-<a name="l00403"></a>00403 }
-<a name="l00404"></a>00404
-<a name="l00405"></a>00405
-<a name="l00406"></a>00406 <span class="keywordflow">if</span> (i++ > intersection_points.size())
-<a name="l00407"></a>00407 {
-<a name="l00408"></a>00408 <span class="comment">// Sanity check: there may be never more loops</span>
-<a name="l00409"></a>00409 <span class="comment">// than intersection points.</span>
-<a name="l00410"></a>00410 detail::intersection::stop_gracefully(
-<a name="l00411"></a>00411 current_output, stop, <span class="stringliteral">"Endless loop"</span>);
-<a name="l00412"></a>00412 }
-<a name="l00413"></a>00413
-<a name="l00414"></a>00414 current->visit_code = detail::intersection::VISIT_VISITED;
-<a name="l00415"></a>00415 }
-<a name="l00416"></a>00416
-<a name="l00417"></a>00417 iit->visit_code = detail::intersection::VISIT_FINISH;
-<a name="l00418"></a>00418
-<a name="l00419"></a>00419 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
-<a name="l00420"></a>00420 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"finish: "</span> << *current;
-<a name="l00421"></a>00421 std::cout << ggl::wkt(current_output) << std::endl;
-<a name="l00422"></a>00422 <span class="preprocessor">#endif</span>
-<a name="l00423"></a>00423 <span class="preprocessor"></span>
-<a name="l00424"></a>00424 *out = current_output;
-<a name="l00425"></a>00425 ++out;
-<a name="l00426"></a>00426 current_output.clear();
-<a name="l00427"></a>00427 }
-<a name="l00428"></a>00428 }
-<a name="l00429"></a>00429 it->visit_code = detail::intersection::VISIT_FINISH;
-<a name="l00430"></a>00430 }
-<a name="l00431"></a>00431 }
-<a name="l00432"></a>00432 }
-<a name="l00433"></a>00433
-<a name="l00434"></a>00434
-<a name="l00435"></a>00435 } <span class="comment">// namespace ggl</span>
-<a name="l00436"></a>00436
-<a name="l00437"></a>00437 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_TRAVERSE_HPP</span>
+<a name="l00368"></a>00368 std::vector<segment_identifier> segments;
+<a name="l00369"></a>00369 segments.push_back(iit->seg_id);
+<a name="l00370"></a>00370
+<a name="l00371"></a>00371 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0;
+<a name="l00372"></a>00372 <span class="keywordtype">bool</span> stop = <span class="keyword">false</span>;
+<a name="l00373"></a>00373
+<a name="l00374"></a>00374 <span class="keywordflow">while</span> (current != it && ! stop)
+<a name="l00375"></a>00375 {
+<a name="l00376"></a>00376 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00377"></a>00377 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"traverse: "</span> << *current;
+<a name="l00378"></a>00378 <span class="preprocessor">#endif</span>
+<a name="l00379"></a>00379 <span class="preprocessor"></span>
+<a name="l00380"></a>00380 <span class="comment">// We assume clockwise polygons only, non self-intersecting, closed.</span>
+<a name="l00381"></a>00381 <span class="comment">// However, the input might be different, and checking validity</span>
+<a name="l00382"></a>00382 <span class="comment">// is up to the library user.</span>
+<a name="l00383"></a>00383
+<a name="l00384"></a>00384 <span class="comment">// Therefore we make here some sanity checks. If the input</span>
+<a name="l00385"></a>00385 <span class="comment">// violates the assumptions, the output polygon will not be correct</span>
+<a name="l00386"></a>00386 <span class="comment">// but the routine will stop and output the current polygon, and</span>
+<a name="l00387"></a>00387 <span class="comment">// will continue with the next one.</span>
+<a name="l00388"></a>00388
+<a name="l00389"></a>00389 <span class="comment">// Below three reasons to stop.</span>
+<a name="l00390"></a>00390 <span class="keywordflow">if</span> (! detail::intersection::select_next_ip(geometry1,
+<a name="l00391"></a>00391 geometry2, direction,
+<a name="l00392"></a>00392 intersection_points,
+<a name="l00393"></a>00393 current, current_output))
+<a name="l00394"></a>00394 {
+<a name="l00395"></a>00395 <span class="comment">// Should not occur in valid (non-self-intersecting) polygons</span>
+<a name="l00396"></a>00396 <span class="comment">// Should not occur in self-intersecting polygons without spikes</span>
+<a name="l00397"></a>00397 <span class="comment">// Might occur in polygons with spikes</span>
+<a name="l00398"></a>00398 detail::intersection::stop_gracefully(
+<a name="l00399"></a>00399 current_output, stop, <span class="stringliteral">"Dead end"</span>);
+<a name="l00400"></a>00400 }
+<a name="l00401"></a>00401
+<a name="l00402"></a>00402 <span class="keywordflow">if</span> (current->visit_code == detail::intersection::VISIT_VISITED)
+<a name="l00403"></a>00403 {
+<a name="l00404"></a>00404 <span class="comment">// It visits a visited node again, without passing the start node.</span>
+<a name="l00405"></a>00405 <span class="comment">// This makes it suspicious for endless loops</span>
+<a name="l00406"></a>00406 <span class="comment">// Check if it is really same node</span>
+<a name="l00407"></a>00407 detail::intersection::stop_gracefully(
+<a name="l00408"></a>00408 current_output, stop, <span class="stringliteral">"Visit again"</span>);
+<a name="l00409"></a>00409 }
+<a name="l00410"></a>00410
+<a name="l00411"></a>00411
+<a name="l00412"></a>00412 <span class="keywordflow">if</span> (i++ > intersection_points.size())
+<a name="l00413"></a>00413 {
+<a name="l00414"></a>00414 <span class="comment">// Sanity check: there may be never more loops</span>
+<a name="l00415"></a>00415 <span class="comment">// than intersection points.</span>
+<a name="l00416"></a>00416 detail::intersection::stop_gracefully(
+<a name="l00417"></a>00417 current_output, stop, <span class="stringliteral">"Endless loop"</span>);
+<a name="l00418"></a>00418 }
+<a name="l00419"></a>00419
+<a name="l00420"></a>00420 current->visit_code = detail::intersection::VISIT_VISITED;
+<a name="l00421"></a>00421 }
+<a name="l00422"></a>00422
+<a name="l00423"></a>00423 iit->visit_code = detail::intersection::VISIT_FINISH;
+<a name="l00424"></a>00424
+<a name="l00425"></a>00425 <span class="preprocessor">#ifdef GGL_DEBUG_INTERSECTION</span>
+<a name="l00426"></a>00426 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"finish: "</span> << *current;
+<a name="l00427"></a>00427 std::cout << ggl::wkt(current_output) << std::endl;
+<a name="l00428"></a>00428 <span class="preprocessor">#endif</span>
+<a name="l00429"></a>00429 <span class="preprocessor"></span>
+<a name="l00430"></a>00430 *out = current_output;
+<a name="l00431"></a>00431 ++out;
+<a name="l00432"></a>00432 current_output.clear();
+<a name="l00433"></a>00433 }
+<a name="l00434"></a>00434 }
+<a name="l00435"></a>00435 it->visit_code = detail::intersection::VISIT_FINISH;
+<a name="l00436"></a>00436 }
+<a name="l00437"></a>00437 }
+<a name="l00438"></a>00438 }
+<a name="l00439"></a>00439
+<a name="l00440"></a>00440
+<a name="l00441"></a>00441 } <span class="comment">// namespace ggl</span>
+<a name="l00442"></a>00442
+<a name="l00443"></a>00443 <span class="preprocessor">#endif // GGL_ALGORITHMS_OVERLAY_TRAVERSE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within__concept_8hpp.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl/strategies/concepts/within_concept.hpp File Reference</h1>
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1concept_1_1_within_strategy.html">ggl::concept::WithinStrategy< Strategy ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for within (point-in-polygon). More...<br></td></tr>
+<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html">ggl</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1concept.html">ggl::concept</a></td></tr>
+
+</table>
+</div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/within__concept_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Generic Geometry Library</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body style="background-image: url(images/draft.png);">
+
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top">
+<img alt="GGL" src="images/ggl-logo-big.png" height="80" width="200">
+
+</td>
+<td valign="top" align="right">
+<img alt="Boost C++ Libraries" src="images/proposed_boost.png" height="86" width="277">
+</td>
+</tr>
+</tbody>
+</table>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li>Related Pages</li>
+ <li>Modules</li>
+ <li>Namespaces</li>
+ <li>Classes</li>
+ <li class="current">Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>File List</li>
+ <li>File Members</li>
+ </ul>
+ </div>
+<h1>ggl/strategies/concepts/within_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Generic Geometry Library</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">// Copyright Barend Gehrels 1995-2009, Geodan Holding B.V. Amsterdam, the Netherlands.</span>
+<a name="l00004"></a>00004 <span class="comment">// Use, modification and distribution is subject to the Boost Software License,</span>
+<a name="l00005"></a>00005 <span class="comment">// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at</span>
+<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
+<a name="l00007"></a>00007
+<a name="l00008"></a>00008 <span class="preprocessor">#ifndef GGL_STRATEGIES_CONCEPTS_WITHIN_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_WITHIN_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/concept_check.hpp></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00023"></a>00023 <span class="keyword">template</span> <<span class="keyword">typename</span> Strategy>
+<a name="l00024"></a><a class="code" href="classggl_1_1concept_1_1_within_strategy.html">00024</a> <span class="keyword">class </span><a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">WithinStrategy</a>
+<a name="l00025"></a>00025 {
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="comment">// 1) must define state_type,</span>
+<a name="l00028"></a>00028 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::state_type state_type;
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="comment">// 2) must define point_type (of "point" in poly)</span>
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_type <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>;
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="comment">// 3) must define point_type, of polygon (segments)</span>
+<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::segment_point_type spoint_type;
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="comment">// 4) must implement a static method apply with the following signature</span>
+<a name="l00037"></a>00037 <span class="keyword">typedef</span> bool (*ApplyType)(<a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> <span class="keyword">const</span>&,
+<a name="l00038"></a>00038 spoint_type <span class="keyword">const</span>&, spoint_type <span class="keyword">const</span>&,
+<a name="l00039"></a>00039 state_type &);
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="comment">// 5) must implement a static method result with the following signature</span>
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> bool (*ResultType)(state_type <span class="keyword">const</span>&) ;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">public</span> :
+<a name="l00045"></a><a class="code" href="classggl_1_1concept_1_1_within_strategy.html#7885c6ff735068d4a5943350b47940e2">00045</a> <a class="code" href="classggl_1_1concept_1_1_within_strategy.html#7885c6ff735068d4a5943350b47940e2">BOOST_CONCEPT_USAGE</a>(<a class="code" href="classggl_1_1concept_1_1_within_strategy.html" title="Checks strategy for within (point-in-polygon).">WithinStrategy</a>)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 ApplyType a = &Strategy::apply;
+<a name="l00048"></a>00048 ResultType r = &Strategy::result;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 boost::ignore_unused_variable_warning(a);
+<a name="l00051"></a>00051 boost::ignore_unused_variable_warning(r);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 };
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_WITHIN_CONCEPT_HPP</span>
+</pre></div></div>
+<hr size="1">
+<table width="100%">
+<tbody>
+<tr>
+<td align="left"><small>
+<p>October 13, 2009</p>
+</small></td>
+<td align="right">
+<small>Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam<br>
+Copyright © 2008-2009 Bruno Lalande, Paris<br>
+Copyright © 2009 Mateusz Loskot, Cadcorp, London<br>
+</small>
+</td>
+</tr>
+</tbody>
+</table>
+
+<address style="text-align: right;"><small>
+Documentation is generated by Doxygen
+</small></address>
+</body>
+</html>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__dsv_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -53,349 +53,345 @@
<a name="l00011"></a>00011 <span class="preprocessor">#include <iostream></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <string></span>
<a name="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/concept/assert.hpp></span>
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>></span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="linear__ring_8hpp.html">ggl/geometries/linear_ring.hpp</a>></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="convert_8hpp.html">ggl/algorithms/convert.hpp</a>></span>
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>></span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="keyword">namespace </span>ggl
-<a name="l00029"></a>00029 {
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a> {
-<a name="l00033"></a>00033
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">namespace </span>ggl
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a> {
<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="keyword">struct </span>dsv_settings
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 std::string coordinate_separator;
-<a name="l00038"></a>00038 std::string point_open;
-<a name="l00039"></a>00039 std::string point_close;
-<a name="l00040"></a>00040 std::string point_separator;
-<a name="l00041"></a>00041 std::string list_open;
-<a name="l00042"></a>00042 std::string list_close;
-<a name="l00043"></a>00043 std::string list_separator;
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 dsv_settings(std::string <span class="keyword">const</span>& sep
-<a name="l00046"></a>00046 , std::string <span class="keyword">const</span>& open
-<a name="l00047"></a>00047 , std::string <span class="keyword">const</span>& close
-<a name="l00048"></a>00048 , std::string <span class="keyword">const</span>& psep
-<a name="l00049"></a>00049 , std::string <span class="keyword">const</span>& lopen
-<a name="l00050"></a>00050 , std::string <span class="keyword">const</span>& lclose
-<a name="l00051"></a>00051 , std::string <span class="keyword">const</span>& lsep
-<a name="l00052"></a>00052 )
-<a name="l00053"></a>00053 : coordinate_separator(sep)
-<a name="l00054"></a>00054 , point_open(open)
-<a name="l00055"></a>00055 , point_close(close)
-<a name="l00056"></a>00056 , point_separator(psep)
-<a name="l00057"></a>00057 , list_open(lopen)
-<a name="l00058"></a>00058 , list_close(lclose)
-<a name="l00059"></a>00059 , list_separator(lsep)
-<a name="l00060"></a>00060 {}
-<a name="l00061"></a>00061 };
-<a name="l00062"></a>00062
-<a name="l00066"></a>00066 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> Count>
-<a name="l00067"></a>00067 <span class="keyword">struct </span>stream_coordinate
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00071"></a>00071 Point <span class="keyword">const</span>& point,
-<a name="l00072"></a>00072 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 os << (Dimension > 0 ? settings.coordinate_separator : <span class="stringliteral">""</span>)
-<a name="l00075"></a>00075 << get<Dimension>(point);
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 stream_coordinate
-<a name="l00078"></a>00078 <
-<a name="l00079"></a>00079 Point, Dimension + 1, Count
-<a name="l00080"></a>00080 >::apply(os, point, settings);
-<a name="l00081"></a>00081 }
-<a name="l00082"></a>00082 };
-<a name="l00083"></a>00083
-<a name="l00084"></a>00084 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Count>
-<a name="l00085"></a>00085 <span class="keyword">struct </span>stream_coordinate<Point, Count, Count>
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>&,
-<a name="l00089"></a>00089 Point <span class="keyword">const</span>&,
-<a name="l00090"></a>00090 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00091"></a>00091 {}
-<a name="l00092"></a>00092 };
-<a name="l00093"></a>00093
+<a name="l00035"></a>00035
+<a name="l00036"></a>00036 <span class="keyword">struct </span>dsv_settings
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 std::string coordinate_separator;
+<a name="l00039"></a>00039 std::string point_open;
+<a name="l00040"></a>00040 std::string point_close;
+<a name="l00041"></a>00041 std::string point_separator;
+<a name="l00042"></a>00042 std::string list_open;
+<a name="l00043"></a>00043 std::string list_close;
+<a name="l00044"></a>00044 std::string list_separator;
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 dsv_settings(std::string <span class="keyword">const</span>& sep
+<a name="l00047"></a>00047 , std::string <span class="keyword">const</span>& open
+<a name="l00048"></a>00048 , std::string <span class="keyword">const</span>& close
+<a name="l00049"></a>00049 , std::string <span class="keyword">const</span>& psep
+<a name="l00050"></a>00050 , std::string <span class="keyword">const</span>& lopen
+<a name="l00051"></a>00051 , std::string <span class="keyword">const</span>& lclose
+<a name="l00052"></a>00052 , std::string <span class="keyword">const</span>& lsep
+<a name="l00053"></a>00053 )
+<a name="l00054"></a>00054 : coordinate_separator(sep)
+<a name="l00055"></a>00055 , point_open(open)
+<a name="l00056"></a>00056 , point_close(close)
+<a name="l00057"></a>00057 , point_separator(psep)
+<a name="l00058"></a>00058 , list_open(lopen)
+<a name="l00059"></a>00059 , list_close(lclose)
+<a name="l00060"></a>00060 , list_separator(lsep)
+<a name="l00061"></a>00061 {}
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00067"></a>00067 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Dimension, std::<span class="keywordtype">size_t</span> Count>
+<a name="l00068"></a>00068 <span class="keyword">struct </span>stream_coordinate
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00072"></a>00072 Point <span class="keyword">const</span>& point,
+<a name="l00073"></a>00073 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 os << (Dimension > 0 ? settings.coordinate_separator : <span class="stringliteral">""</span>)
+<a name="l00076"></a>00076 << get<Dimension>(point);
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 stream_coordinate
+<a name="l00079"></a>00079 <
+<a name="l00080"></a>00080 Point, Dimension + 1, Count
+<a name="l00081"></a>00081 >::apply(os, point, settings);
+<a name="l00082"></a>00082 }
+<a name="l00083"></a>00083 };
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, std::<span class="keywordtype">size_t</span> Count>
+<a name="l00086"></a>00086 <span class="keyword">struct </span>stream_coordinate<Point, Count, Count>
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00089"></a>00089 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>&,
+<a name="l00090"></a>00090 Point <span class="keyword">const</span>&,
+<a name="l00091"></a>00091 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00092"></a>00092 {}
+<a name="l00093"></a>00093 };
<a name="l00094"></a>00094
-<a name="l00098"></a>00098 <span class="keyword">template</span>
-<a name="l00099"></a>00099 <
-<a name="l00100"></a>00100 <span class="keyword">typename</span> Geometry,
-<a name="l00101"></a>00101 std::size_t Index,
-<a name="l00102"></a>00102 std::size_t Dimension,
-<a name="l00103"></a>00103 std::size_t Count
-<a name="l00104"></a>00104 >
-<a name="l00105"></a>00105 <span class="keyword">struct </span>stream_indexed
-<a name="l00106"></a>00106 {
-<a name="l00107"></a>00107 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00109"></a>00109 Geometry <span class="keyword">const</span>& geometry,
-<a name="l00110"></a>00110 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112 os << (Dimension > 0 ? settings.coordinate_separator : <span class="stringliteral">""</span>)
-<a name="l00113"></a>00113 << get<Index, Dimension>(geometry);
-<a name="l00114"></a>00114 stream_indexed
-<a name="l00115"></a>00115 <
-<a name="l00116"></a>00116 Geometry, Index, Dimension + 1, Count
-<a name="l00117"></a>00117 >::apply(os, geometry, settings);
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119 };
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Count>
-<a name="l00122"></a>00122 <span class="keyword">struct </span>stream_indexed<Geometry, Index, Count, Count>
-<a name="l00123"></a>00123 {
-<a name="l00124"></a>00124 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00125"></a>00125 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>&, Geometry <span class="keyword">const</span>&,
-<a name="l00126"></a>00126 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00127"></a>00127 {}
-<a name="l00128"></a>00128 };
-<a name="l00129"></a>00129
+<a name="l00095"></a>00095
+<a name="l00099"></a>00099 <span class="keyword">template</span>
+<a name="l00100"></a>00100 <
+<a name="l00101"></a>00101 <span class="keyword">typename</span> Geometry,
+<a name="l00102"></a>00102 std::size_t Index,
+<a name="l00103"></a>00103 std::size_t Dimension,
+<a name="l00104"></a>00104 std::size_t Count
+<a name="l00105"></a>00105 >
+<a name="l00106"></a>00106 <span class="keyword">struct </span>stream_indexed
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00109"></a>00109 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00110"></a>00110 Geometry <span class="keyword">const</span>& geometry,
+<a name="l00111"></a>00111 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00112"></a>00112 {
+<a name="l00113"></a>00113 os << (Dimension > 0 ? settings.coordinate_separator : <span class="stringliteral">""</span>)
+<a name="l00114"></a>00114 << get<Index, Dimension>(geometry);
+<a name="l00115"></a>00115 stream_indexed
+<a name="l00116"></a>00116 <
+<a name="l00117"></a>00117 Geometry, Index, Dimension + 1, Count
+<a name="l00118"></a>00118 >::apply(os, geometry, settings);
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120 };
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index, std::<span class="keywordtype">size_t</span> Count>
+<a name="l00123"></a>00123 <span class="keyword">struct </span>stream_indexed<Geometry, Index, Count, Count>
+<a name="l00124"></a>00124 {
+<a name="l00125"></a>00125 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00126"></a>00126 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>&, Geometry <span class="keyword">const</span>&,
+<a name="l00127"></a>00127 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00128"></a>00128 {}
+<a name="l00129"></a>00129 };
<a name="l00130"></a>00130
<a name="l00131"></a>00131
<a name="l00132"></a>00132
<a name="l00133"></a>00133
-<a name="l00137"></a>00137 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00138"></a>00138 <span class="keyword">struct </span>dsv_point
-<a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00141"></a>00141 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00142"></a>00142 Point <span class="keyword">const</span>& p,
-<a name="l00143"></a>00143 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00144"></a>00144 {
-<a name="l00145"></a>00145 os << settings.point_open;
-<a name="l00146"></a>00146 stream_coordinate<Point, 0, dimension<Point>::type::value>::apply(os, p, settings);
-<a name="l00147"></a>00147 os << settings.point_close;
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 <span class="keyword">private</span>:
-<a name="l00151"></a>00151 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<Point>) );
-<a name="l00152"></a>00152 };
-<a name="l00153"></a>00153
-<a name="l00158"></a>00158 <span class="keyword">template</span> <<span class="keyword">typename</span> Range>
-<a name="l00159"></a>00159 <span class="keyword">struct </span>dsv_range
-<a name="l00160"></a>00160 {
-<a name="l00161"></a>00161 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00162"></a>00162 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00163"></a>00163 Range <span class="keyword">const</span>& range,
-<a name="l00164"></a>00164 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00165"></a>00165 {
-<a name="l00166"></a>00166 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
+<a name="l00134"></a>00134
+<a name="l00138"></a>00138 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00139"></a>00139 <span class="keyword">struct </span>dsv_point
+<a name="l00140"></a>00140 {
+<a name="l00141"></a>00141 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00142"></a>00142 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00143"></a>00143 Point <span class="keyword">const</span>& p,
+<a name="l00144"></a>00144 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00145"></a>00145 {
+<a name="l00146"></a>00146 os << settings.point_open;
+<a name="l00147"></a>00147 stream_coordinate<Point, 0, dimension<Point>::type::value>::apply(os, p, settings);
+<a name="l00148"></a>00148 os << settings.point_close;
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150 };
+<a name="l00151"></a>00151
+<a name="l00156"></a>00156 <span class="keyword">template</span> <<span class="keyword">typename</span> Range>
+<a name="l00157"></a>00157 <span class="keyword">struct </span>dsv_range
+<a name="l00158"></a>00158 {
+<a name="l00159"></a>00159 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00160"></a>00160 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00161"></a>00161 Range <span class="keyword">const</span>& range,
+<a name="l00162"></a>00162 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00163"></a>00163 {
+<a name="l00164"></a>00164 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator_type;
+<a name="l00165"></a>00165
+<a name="l00166"></a>00166 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
<a name="l00167"></a>00167
-<a name="l00168"></a>00168 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00168"></a>00168 os << settings.list_open;
<a name="l00169"></a>00169
-<a name="l00170"></a>00170 os << settings.list_open;
+<a name="l00170"></a>00170 <span class="comment">// TODO: check EMPTY here</span>
<a name="l00171"></a>00171
-<a name="l00172"></a>00172 <span class="comment">// TODO: check EMPTY here</span>
-<a name="l00173"></a>00173
-<a name="l00174"></a>00174 <span class="keywordflow">for</span> (iterator_type it = boost::begin(range);
-<a name="l00175"></a>00175 it != boost::end(range);
-<a name="l00176"></a>00176 ++it)
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 os << (first ? <span class="stringliteral">""</span> : settings.point_separator)
-<a name="l00179"></a>00179 << settings.point_open;
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 stream_coordinate
-<a name="l00182"></a>00182 <
-<a name="l00183"></a>00183 point, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<point>::type::value</a>
-<a name="l00184"></a>00184 >::apply(os, *it, settings);
-<a name="l00185"></a>00185 os << settings.point_close;
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187 first = <span class="keyword">false</span>;
-<a name="l00188"></a>00188 }
-<a name="l00189"></a>00189
-<a name="l00190"></a>00190 os << settings.list_close;
-<a name="l00191"></a>00191 }
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 <span class="keyword">private</span>:
-<a name="l00194"></a>00194 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<Range>::type point;
-<a name="l00195"></a>00195 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<point>) );
-<a name="l00196"></a>00196 };
-<a name="l00197"></a>00197
-<a name="l00207"></a>00207 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
-<a name="l00208"></a>00208 <span class="keyword">struct </span>dsv_poly
-<a name="l00209"></a>00209 {
-<a name="l00210"></a>00210 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00211"></a>00211 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00212"></a>00212 Polygon <span class="keyword">const</span>& poly,
-<a name="l00213"></a>00213 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00214"></a>00214 {
-<a name="l00215"></a>00215 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Polygon>::type ring;
-<a name="l00216"></a>00216 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00217"></a>00217 <
-<a name="l00218"></a>00218 <span class="keyword">typename</span> interior_type<Polygon>::type
-<a name="l00219"></a>00219 >::type iterator_type;
-<a name="l00220"></a>00220
-<a name="l00221"></a>00221 os << settings.list_open;
-<a name="l00222"></a>00222
-<a name="l00223"></a>00223 dsv_range<ring>::apply(os, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), settings);
-<a name="l00224"></a>00224 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00225"></a>00225 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
-<a name="l00226"></a>00226 ++it)
-<a name="l00227"></a>00227 {
-<a name="l00228"></a>00228 os << settings.list_separator;
-<a name="l00229"></a>00229 dsv_range<ring>::apply(os, *it, settings);
-<a name="l00230"></a>00230 }
-<a name="l00231"></a>00231 os << settings.list_close;
-<a name="l00232"></a>00232 }
-<a name="l00233"></a>00233
-<a name="l00234"></a>00234 <span class="keyword">private</span>:
-<a name="l00235"></a>00235 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<<span class="keyword">typename</span> point_type<Polygon>::type>) );
-<a name="l00236"></a>00236 };
-<a name="l00237"></a>00237
-<a name="l00238"></a>00238 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index>
-<a name="l00239"></a>00239 <span class="keyword">struct </span>dsv_per_index
-<a name="l00240"></a>00240 {
-<a name="l00241"></a>00241 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Geometry>::type point_type;
-<a name="l00242"></a>00242
-<a name="l00243"></a>00243 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00244"></a>00244 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00245"></a>00245 Geometry <span class="keyword">const</span>& geometry,
-<a name="l00246"></a>00246 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00247"></a>00247 {
-<a name="l00248"></a>00248 os << settings.point_open;
-<a name="l00249"></a>00249 stream_indexed
-<a name="l00250"></a>00250 <
-<a name="l00251"></a>00251 Geometry, Index, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Geometry>::type::value</a>
-<a name="l00252"></a>00252 >::apply(os, geometry, settings);
-<a name="l00253"></a>00253 os << settings.point_close;
-<a name="l00254"></a>00254 }
-<a name="l00255"></a>00255 };
+<a name="l00172"></a>00172 <span class="keywordflow">for</span> (iterator_type it = boost::begin(range);
+<a name="l00173"></a>00173 it != boost::end(range);
+<a name="l00174"></a>00174 ++it)
+<a name="l00175"></a>00175 {
+<a name="l00176"></a>00176 os << (first ? <span class="stringliteral">""</span> : settings.point_separator)
+<a name="l00177"></a>00177 << settings.point_open;
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 stream_coordinate
+<a name="l00180"></a>00180 <
+<a name="l00181"></a>00181 point_type, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<point_type>::type::value</a>
+<a name="l00182"></a>00182 >::apply(os, *it, settings);
+<a name="l00183"></a>00183 os << settings.point_close;
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 first = <span class="keyword">false</span>;
+<a name="l00186"></a>00186 }
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 os << settings.list_close;
+<a name="l00189"></a>00189 }
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="keyword">private</span>:
+<a name="l00192"></a>00192 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<Range>::type point_type;
+<a name="l00193"></a>00193 };
+<a name="l00194"></a>00194
+<a name="l00204"></a>00204 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00205"></a>00205 <span class="keyword">struct </span>dsv_poly
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00208"></a>00208 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00209"></a>00209 Polygon <span class="keyword">const</span>& poly,
+<a name="l00210"></a>00210 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00211"></a>00211 {
+<a name="l00212"></a>00212 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Polygon>::type ring;
+<a name="l00213"></a>00213 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00214"></a>00214 <
+<a name="l00215"></a>00215 <span class="keyword">typename</span> interior_type<Polygon>::type
+<a name="l00216"></a>00216 >::type iterator_type;
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 os << settings.list_open;
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 dsv_range<ring>::apply(os, <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly), settings);
+<a name="l00221"></a>00221 <span class="keywordflow">for</span> (iterator_type it = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00222"></a>00222 it != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(poly));
+<a name="l00223"></a>00223 ++it)
+<a name="l00224"></a>00224 {
+<a name="l00225"></a>00225 os << settings.list_separator;
+<a name="l00226"></a>00226 dsv_range<ring>::apply(os, *it, settings);
+<a name="l00227"></a>00227 }
+<a name="l00228"></a>00228 os << settings.list_close;
+<a name="l00229"></a>00229 }
+<a name="l00230"></a>00230 };
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, std::<span class="keywordtype">size_t</span> Index>
+<a name="l00233"></a>00233 <span class="keyword">struct </span>dsv_per_index
+<a name="l00234"></a>00234 {
+<a name="l00235"></a>00235 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Geometry>::type point_type;
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00238"></a>00238 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00239"></a>00239 Geometry <span class="keyword">const</span>& geometry,
+<a name="l00240"></a>00240 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00241"></a>00241 {
+<a name="l00242"></a>00242 os << settings.point_open;
+<a name="l00243"></a>00243 stream_indexed
+<a name="l00244"></a>00244 <
+<a name="l00245"></a>00245 Geometry, Index, 0, <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<Geometry>::type::value</a>
+<a name="l00246"></a>00246 >::apply(os, geometry, settings);
+<a name="l00247"></a>00247 os << settings.point_close;
+<a name="l00248"></a>00248 }
+<a name="l00249"></a>00249 };
+<a name="l00250"></a>00250
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00253"></a>00253 <span class="keyword">struct </span>dsv_indexed
+<a name="l00254"></a>00254 {
+<a name="l00255"></a>00255 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Geometry>::type point_type;
<a name="l00256"></a>00256
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00259"></a>00259 <span class="keyword">struct </span>dsv_indexed
-<a name="l00260"></a>00260 {
-<a name="l00261"></a>00261 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Geometry>::type point_type;
-<a name="l00262"></a>00262
-<a name="l00263"></a>00263 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00264"></a>00264 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00265"></a>00265 Geometry <span class="keyword">const</span>& geometry,
-<a name="l00266"></a>00266 dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00267"></a>00267 {
-<a name="l00268"></a>00268 os << settings.list_open;
-<a name="l00269"></a>00269 dsv_per_index<Geometry, 0>::apply(os, geometry, settings);
-<a name="l00270"></a>00270 os << settings.point_separator;
-<a name="l00271"></a>00271 dsv_per_index<Geometry, 1>::apply(os, geometry, settings);
-<a name="l00272"></a>00272 os << settings.list_close;
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274 };
-<a name="l00275"></a>00275
-<a name="l00276"></a>00276 }} <span class="comment">// namespace detail::dsv</span>
-<a name="l00277"></a>00277 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00278"></a>00278 <span class="preprocessor"></span>
+<a name="l00257"></a>00257 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00258"></a>00258 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00259"></a>00259 Geometry <span class="keyword">const</span>& geometry,
+<a name="l00260"></a>00260 dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00261"></a>00261 {
+<a name="l00262"></a>00262 os << settings.list_open;
+<a name="l00263"></a>00263 dsv_per_index<Geometry, 0>::apply(os, geometry, settings);
+<a name="l00264"></a>00264 os << settings.point_separator;
+<a name="l00265"></a>00265 dsv_per_index<Geometry, 1>::apply(os, geometry, settings);
+<a name="l00266"></a>00266 os << settings.list_close;
+<a name="l00267"></a>00267 }
+<a name="l00268"></a>00268 };
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 }} <span class="comment">// namespace detail::dsv</span>
+<a name="l00271"></a>00271 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00272"></a>00272 <span class="preprocessor"></span>
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00275"></a>00275 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keywordtype">bool</span> IsMulti, <span class="keyword">typename</span> Geometry>
+<a name="l00278"></a>00278 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a> {};
<a name="l00279"></a>00279
-<a name="l00280"></a>00280 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00281"></a>00281 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
-<a name="l00282"></a>00282
-<a name="l00283"></a>00283 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keywordtype">bool</span> IsMulti, <span class="keyword">typename</span> Geometry>
-<a name="l00284"></a>00284 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a> {};
+<a name="l00280"></a>00280
+<a name="l00281"></a>00281 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00282"></a>00282 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><point_tag, false, Point>
+<a name="l00283"></a>00283 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_point<Point>
+<a name="l00284"></a>00284 {};
<a name="l00285"></a>00285
<a name="l00286"></a>00286
-<a name="l00287"></a>00287 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00288"></a>00288 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><point_tag, false, Point>
-<a name="l00289"></a>00289 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_point<Point>
+<a name="l00287"></a>00287 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>>
+<a name="l00288"></a>00288 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><linestring_tag, false, Linestring>
+<a name="l00289"></a>00289 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_range<Linestring>
<a name="l00290"></a>00290 {};
<a name="l00291"></a>00291
<a name="l00292"></a>00292
-<a name="l00293"></a>00293 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>>
-<a name="l00294"></a>00294 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><linestring_tag, false, Linestring>
-<a name="l00295"></a>00295 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_range<Linestring>
+<a name="l00293"></a>00293 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00294"></a>00294 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><box_tag, false, Box>
+<a name="l00295"></a>00295 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_indexed<Box>
<a name="l00296"></a>00296 {};
<a name="l00297"></a>00297
-<a name="l00298"></a>00298
-<a name="l00299"></a>00299 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00300"></a>00300 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><box_tag, false, Box>
-<a name="l00301"></a>00301 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_indexed<Box>
-<a name="l00302"></a>00302 {};
+<a name="l00298"></a>00298 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment>
+<a name="l00299"></a>00299 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><segment_tag, false, Segment>
+<a name="l00300"></a>00300 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_indexed<Segment>
+<a name="l00301"></a>00301 {};
+<a name="l00302"></a>00302
<a name="l00303"></a>00303
-<a name="l00304"></a>00304 <span class="keyword">template</span> <<span class="keyword">typename</span> Segment>
-<a name="l00305"></a>00305 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><segment_tag, false, Segment>
-<a name="l00306"></a>00306 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_indexed<Segment>
+<a name="l00304"></a>00304 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring>
+<a name="l00305"></a>00305 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><ring_tag, false, Ring>
+<a name="l00306"></a>00306 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_range<Ring>
<a name="l00307"></a>00307 {};
<a name="l00308"></a>00308
<a name="l00309"></a>00309
-<a name="l00310"></a>00310 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring>
-<a name="l00311"></a>00311 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><ring_tag, false, Ring>
-<a name="l00312"></a>00312 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_range<Ring>
+<a name="l00310"></a>00310 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00311"></a>00311 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><polygon_tag, false, Polygon>
+<a name="l00312"></a>00312 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_poly<Polygon>
<a name="l00313"></a>00313 {};
<a name="l00314"></a>00314
<a name="l00315"></a>00315
-<a name="l00316"></a>00316 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
-<a name="l00317"></a>00317 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a><polygon_tag, false, Polygon>
-<a name="l00318"></a>00318 : detail::<a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>::dsv_poly<Polygon>
-<a name="l00319"></a>00319 {};
-<a name="l00320"></a>00320
-<a name="l00321"></a>00321
-<a name="l00322"></a>00322 } <span class="comment">// namespace dispatch</span>
-<a name="l00323"></a>00323 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00324"></a>00324 <span class="preprocessor"></span>
-<a name="l00325"></a>00325
-<a name="l00339"></a>00339 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00340"></a><a class="code" href="classggl_1_1dsv__manipulator.html">00340</a> <span class="keyword">class </span><a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator</a>
-<a name="l00341"></a>00341 {
-<a name="l00342"></a>00342 <span class="keyword">public</span>:
+<a name="l00316"></a>00316 } <span class="comment">// namespace dispatch</span>
+<a name="l00317"></a>00317 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00318"></a>00318 <span class="preprocessor"></span>
+<a name="l00319"></a>00319
+<a name="l00333"></a>00333 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00334"></a><a class="code" href="classggl_1_1dsv__manipulator.html">00334</a> <span class="keyword">class </span><a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator</a>
+<a name="l00335"></a>00335 {
+<a name="l00336"></a>00336 <span class="keyword">public</span>:
+<a name="l00337"></a>00337
+<a name="l00338"></a><a class="code" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">00338</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">dsv_manipulator</a>(Geometry <span class="keyword">const</span>& g,
+<a name="l00339"></a>00339 detail::dsv::dsv_settings <span class="keyword">const</span>& settings)
+<a name="l00340"></a>00340 : m_geometry(g)
+<a name="l00341"></a>00341 , m_settings(settings)
+<a name="l00342"></a>00342 {}
<a name="l00343"></a>00343
-<a name="l00344"></a><a class="code" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">00344</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">dsv_manipulator</a>(Geometry <span class="keyword">const</span>& g,
-<a name="l00345"></a>00345 detail::dsv::dsv_settings <span class="keyword">const</span>& settings)
-<a name="l00346"></a>00346 : m_geometry(g)
-<a name="l00347"></a>00347 , m_settings(settings)
-<a name="l00348"></a>00348 {}
-<a name="l00349"></a>00349
-<a name="l00350"></a>00350 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00351"></a><a class="code" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">00351</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream<Char, Traits>& <a class="code" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">operator<<</a>(
-<a name="l00352"></a>00352 std::basic_ostream<Char, Traits>& os,
-<a name="l00353"></a>00353 <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator</a> <span class="keyword">const</span>& m)
-<a name="l00354"></a>00354 {
-<a name="l00355"></a>00355 <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dispatch::dsv</a>
-<a name="l00356"></a>00356 <
-<a name="l00357"></a>00357 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
-<a name="l00358"></a>00358 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
-<a name="l00359"></a>00359 Geometry
-<a name="l00360"></a>00360 >::apply(os, m.m_geometry, m.m_settings);
-<a name="l00361"></a>00361 os.flush();
-<a name="l00362"></a>00362 <span class="keywordflow">return</span> os;
-<a name="l00363"></a>00363 }
-<a name="l00364"></a>00364
-<a name="l00365"></a>00365 <span class="keyword">private</span>:
-<a name="l00366"></a>00366 Geometry <span class="keyword">const</span>& m_geometry;
-<a name="l00367"></a>00367 detail::dsv::dsv_settings m_settings;
-<a name="l00368"></a>00368 };
-<a name="l00369"></a>00369
-<a name="l00374"></a>00374 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00375"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">00375</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator<Geometry></a> <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(Geometry <span class="keyword">const</span>& geometry
-<a name="l00376"></a>00376 , std::string <span class="keyword">const</span>& coordinate_separator = <span class="stringliteral">", "</span>
-<a name="l00377"></a>00377 , std::string <span class="keyword">const</span>& point_open = <span class="stringliteral">"("</span>
-<a name="l00378"></a>00378 , std::string <span class="keyword">const</span>& point_close = <span class="stringliteral">")"</span>
-<a name="l00379"></a>00379 , std::string <span class="keyword">const</span>& point_separator = <span class="stringliteral">", "</span>
-<a name="l00380"></a>00380 , std::string <span class="keyword">const</span>& list_open = <span class="stringliteral">"("</span>
-<a name="l00381"></a>00381 , std::string <span class="keyword">const</span>& list_close = <span class="stringliteral">")"</span>
-<a name="l00382"></a>00382 , std::string <span class="keyword">const</span>& list_separator = <span class="stringliteral">", "</span>
-<a name="l00383"></a>00383 )
-<a name="l00384"></a>00384 {
-<a name="l00385"></a>00385 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator<Geometry></a>(geometry,
-<a name="l00386"></a>00386 detail::dsv::dsv_settings(coordinate_separator,
-<a name="l00387"></a>00387 point_open, point_close, point_separator,
-<a name="l00388"></a>00388 list_open, list_close, list_separator));
-<a name="l00389"></a>00389 }
+<a name="l00344"></a>00344 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00345"></a><a class="code" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">00345</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream<Char, Traits>& <a class="code" href="classggl_1_1dsv__manipulator.html#5aa709742f33df7007f70baffcfc0d48">operator<<</a>(
+<a name="l00346"></a>00346 std::basic_ostream<Char, Traits>& os,
+<a name="l00347"></a>00347 <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator</a> <span class="keyword">const</span>& m)
+<a name="l00348"></a>00348 {
+<a name="l00349"></a>00349 <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dispatch::dsv</a>
+<a name="l00350"></a>00350 <
+<a name="l00351"></a>00351 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<Geometry>::type</a>,
+<a name="l00352"></a>00352 <a class="code" href="structggl_1_1is__multi.html" title="Meta-function defining &quot;true&quot; for multi geometries (multi_point, etc).">is_multi<Geometry>::type::value</a>,
+<a name="l00353"></a>00353 Geometry
+<a name="l00354"></a>00354 >::apply(os, m.m_geometry, m.m_settings);
+<a name="l00355"></a>00355 os.flush();
+<a name="l00356"></a>00356 <span class="keywordflow">return</span> os;
+<a name="l00357"></a>00357 }
+<a name="l00358"></a>00358
+<a name="l00359"></a>00359 <span class="keyword">private</span>:
+<a name="l00360"></a>00360 Geometry <span class="keyword">const</span>& m_geometry;
+<a name="l00361"></a>00361 detail::dsv::dsv_settings m_settings;
+<a name="l00362"></a>00362 };
+<a name="l00363"></a>00363
+<a name="l00368"></a>00368 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00369"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4">00369</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator<Geometry></a> <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(Geometry <span class="keyword">const</span>& geometry
+<a name="l00370"></a>00370 , std::string <span class="keyword">const</span>& coordinate_separator = <span class="stringliteral">", "</span>
+<a name="l00371"></a>00371 , std::string <span class="keyword">const</span>& point_open = <span class="stringliteral">"("</span>
+<a name="l00372"></a>00372 , std::string <span class="keyword">const</span>& point_close = <span class="stringliteral">")"</span>
+<a name="l00373"></a>00373 , std::string <span class="keyword">const</span>& point_separator = <span class="stringliteral">", "</span>
+<a name="l00374"></a>00374 , std::string <span class="keyword">const</span>& list_open = <span class="stringliteral">"("</span>
+<a name="l00375"></a>00375 , std::string <span class="keyword">const</span>& list_close = <span class="stringliteral">")"</span>
+<a name="l00376"></a>00376 , std::string <span class="keyword">const</span>& list_separator = <span class="stringliteral">", "</span>
+<a name="l00377"></a>00377 )
+<a name="l00378"></a>00378 {
+<a name="l00379"></a>00379 concept::check<const Geometry>();
+<a name="l00380"></a>00380
+<a name="l00381"></a>00381 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1dsv__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">dsv_manipulator<Geometry></a>(geometry,
+<a name="l00382"></a>00382 detail::dsv::dsv_settings(coordinate_separator,
+<a name="l00383"></a>00383 point_open, point_close, point_separator,
+<a name="l00384"></a>00384 list_open, list_close, list_separator));
+<a name="l00385"></a>00385 }
+<a name="l00386"></a>00386
+<a name="l00387"></a>00387
+<a name="l00388"></a>00388
+<a name="l00389"></a>00389 } <span class="comment">// namespace ggl</span>
<a name="l00390"></a>00390
-<a name="l00391"></a>00391
-<a name="l00392"></a>00392
-<a name="l00393"></a>00393 } <span class="comment">// namespace ggl</span>
-<a name="l00394"></a>00394
-<a name="l00395"></a>00395 <span class="preprocessor">#endif // GGL_UTIL_WRITE_DSV_HPP</span>
+<a name="l00391"></a>00391 <span class="preprocessor">#endif // GGL_UTIL_WRITE_DSV_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/write__svg_8hpp_source.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -54,14 +54,14 @@
<a name="l00012"></a>00012 <span class="preprocessor">#include <iostream></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include <string></span>
<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/concept/assert.hpp></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/functions.hpp></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.hpp</a>></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="interior__rings_8hpp.html">ggl/core/interior_rings.hpp</a>></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="check_8hpp.html">ggl/geometries/concepts/check.hpp</a>></span>
<a name="l00023"></a>00023
<a name="l00028"></a>00028 <span class="keyword">namespace </span>ggl
<a name="l00029"></a>00029 {
@@ -82,202 +82,187 @@
<a name="l00044"></a>00044 << <span class="stringliteral">"\" r=\""</span> << (size < 0 ? 5 : size)
<a name="l00045"></a>00045 << <span class="stringliteral">"\" style=\""</span> << style << <span class="stringliteral">"\"/>"</span>;
<a name="l00046"></a>00046 }
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="keyword">private</span>:
-<a name="l00049"></a>00049 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<Point>) );
-<a name="l00050"></a>00050 };
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00054"></a>00054 <span class="keyword">struct </span>svg_box
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00057"></a>00057 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00058"></a>00058 Box <span class="keyword">const</span>& box, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size)
-<a name="l00059"></a>00059 {
-<a name="l00060"></a>00060 <span class="keywordtype">int</span> x = ggl::get<ggl::min_corner, 0>(box);
-<a name="l00061"></a>00061 <span class="keywordtype">int</span> y = ggl::get<ggl::min_corner, 1>(box);
-<a name="l00062"></a>00062 <span class="keywordtype">int</span> width = std::abs(ggl::get<ggl::max_corner, 0>(box) - x);
-<a name="l00063"></a>00063 <span class="keywordtype">int</span> height = std::abs(ggl::get<ggl::max_corner, 1>(box) - y);
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 os << <span class="stringliteral">"<rect x=\""</span> << x << <span class="stringliteral">"\" y=\""</span> << y
-<a name="l00066"></a>00066 << <span class="stringliteral">"\" width=\""</span> << width << <span class="stringliteral">"\" height=\""</span> << height
-<a name="l00067"></a>00067 << <span class="stringliteral">"\" style=\""</span> << style << <span class="stringliteral">"\"/>"</span>;
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="keyword">private</span>:
-<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">ggl::point_type<Box>::type</a> point_type;
-<a name="l00072"></a>00072 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<point_type>) );
-<a name="l00073"></a>00073 };
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075
-<a name="l00080"></a>00080 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Policy>
-<a name="l00081"></a>00081 <span class="keyword">struct </span>svg_range
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00084"></a>00084 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00085"></a>00085 Range <span class="keyword">const</span>& range, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size)
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator;
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 os << <span class="stringliteral">"<"</span> << Policy::prefix() << <span class="stringliteral">" points=\""</span>;
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <span class="keywordflow">for</span> (iterator it = boost::begin(range);
-<a name="l00094"></a>00094 it != boost::end(range);
-<a name="l00095"></a>00095 ++it, first = <span class="keyword">false</span>)
-<a name="l00096"></a>00096 {
-<a name="l00097"></a>00097 os << (first ? <span class="stringliteral">""</span> : <span class="stringliteral">" "</span> ) << it->x() << <span class="stringliteral">","</span> << it->y();
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099 os << <span class="stringliteral">"\" style=\""</span> << style << Policy::style() << <span class="stringliteral">"\"/>"</span>;
-<a name="l00100"></a>00100 }
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keyword">private</span>:
-<a name="l00103"></a>00103 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<Range>::type point;
-<a name="l00104"></a>00104 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<point>) );
-<a name="l00105"></a>00105 };
-<a name="l00106"></a>00106
+<a name="l00047"></a>00047 };
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00051"></a>00051 <span class="keyword">struct </span>svg_box
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00055"></a>00055 Box <span class="keyword">const</span>& box, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size)
+<a name="l00056"></a>00056 {
+<a name="l00057"></a>00057 <span class="keywordtype">int</span> x = ggl::get<ggl::min_corner, 0>(box);
+<a name="l00058"></a>00058 <span class="keywordtype">int</span> y = ggl::get<ggl::min_corner, 1>(box);
+<a name="l00059"></a>00059 <span class="keywordtype">int</span> width = std::abs(ggl::get<ggl::max_corner, 0>(box) - x);
+<a name="l00060"></a>00060 <span class="keywordtype">int</span> height = std::abs(ggl::get<ggl::max_corner, 1>(box) - y);
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 os << <span class="stringliteral">"<rect x=\""</span> << x << <span class="stringliteral">"\" y=\""</span> << y
+<a name="l00063"></a>00063 << <span class="stringliteral">"\" width=\""</span> << width << <span class="stringliteral">"\" height=\""</span> << height
+<a name="l00064"></a>00064 << <span class="stringliteral">"\" style=\""</span> << style << <span class="stringliteral">"\"/>"</span>;
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 };
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068
+<a name="l00073"></a>00073 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Policy>
+<a name="l00074"></a>00074 <span class="keyword">struct </span>svg_range
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00077"></a>00077 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00078"></a>00078 Range <span class="keyword">const</span>& range, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size)
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Range>::type iterator;
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00083"></a>00083
+<a name="l00084"></a>00084 os << <span class="stringliteral">"<"</span> << Policy::prefix() << <span class="stringliteral">" points=\""</span>;
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keywordflow">for</span> (iterator it = boost::begin(range);
+<a name="l00087"></a>00087 it != boost::end(range);
+<a name="l00088"></a>00088 ++it, first = <span class="keyword">false</span>)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 os << (first ? <span class="stringliteral">""</span> : <span class="stringliteral">" "</span> ) << it->x() << <span class="stringliteral">","</span> << it->y();
+<a name="l00091"></a>00091 }
+<a name="l00092"></a>00092 os << <span class="stringliteral">"\" style=\""</span> << style << Policy::style() << <span class="stringliteral">"\"/>"</span>;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094 };
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00099"></a>00099 <span class="keyword">struct </span>svg_poly
+<a name="l00100"></a>00100 {
+<a name="l00101"></a>00101 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00102"></a>00102 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
+<a name="l00103"></a>00103 Polygon <span class="keyword">const</span>& polygon, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size)
+<a name="l00104"></a>00104 {
+<a name="l00105"></a>00105 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<Polygon>::type</a> ring_type;
+<a name="l00106"></a>00106 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<ring_type>::type iterator_type;
<a name="l00107"></a>00107
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
-<a name="l00110"></a>00110 <span class="keyword">struct </span>svg_poly
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00113"></a>00113 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(std::basic_ostream<Char, Traits>& os,
-<a name="l00114"></a>00114 Polygon <span class="keyword">const</span>& polygon, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size)
-<a name="l00115"></a>00115 {
-<a name="l00116"></a>00116 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ggl::ring_type<Polygon>::type</a> ring_type;
-<a name="l00117"></a>00117 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<ring_type>::type iterator_type;
+<a name="l00108"></a>00108 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+<a name="l00109"></a>00109 os << <span class="stringliteral">"<g fill-rule=\"evenodd\"><path d=\""</span>;
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 ring_type <span class="keyword">const</span>& ring = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon);
+<a name="l00112"></a>00112 <span class="keywordflow">for</span> (iterator_type it = boost::begin(ring);
+<a name="l00113"></a>00113 it != boost::end(ring);
+<a name="l00114"></a>00114 ++it, first = <span class="keyword">false</span>)
+<a name="l00115"></a>00115 {
+<a name="l00116"></a>00116 os << (first ? <span class="stringliteral">"M"</span> : <span class="stringliteral">" L"</span>) << <span class="stringliteral">" "</span> << it->x() << <span class="stringliteral">","</span> << it->y();
+<a name="l00117"></a>00117 }
<a name="l00118"></a>00118
-<a name="l00119"></a>00119 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
-<a name="l00120"></a>00120 os << <span class="stringliteral">"<g fill-rule=\"evenodd\"><path d=\""</span>;
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122 ring_type <span class="keyword">const</span>& ring = <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">ggl::exterior_ring</a>(polygon);
-<a name="l00123"></a>00123 <span class="keywordflow">for</span> (iterator_type it = boost::begin(ring);
-<a name="l00124"></a>00124 it != boost::end(ring);
-<a name="l00125"></a>00125 ++it, first = <span class="keyword">false</span>)
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 os << (first ? <span class="stringliteral">"M"</span> : <span class="stringliteral">" L"</span>) << <span class="stringliteral">" "</span> << it->x() << <span class="stringliteral">","</span> << it->y();
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129
-<a name="l00130"></a>00130 <span class="comment">// Inner rings:</span>
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00133"></a>00133 <
-<a name="l00134"></a>00134 <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">ggl::interior_type<Polygon>::type</a>
-<a name="l00135"></a>00135 >::type ring_iterator_type;
-<a name="l00136"></a>00136 <span class="keywordflow">for</span> (ring_iterator_type rit = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
-<a name="l00137"></a>00137 rit != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
-<a name="l00138"></a>00138 ++rit)
-<a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 first = <span class="keyword">true</span>;
-<a name="l00141"></a>00141 <span class="keywordflow">for</span> (iterator_type it = boost::begin(*rit);
-<a name="l00142"></a>00142 it != boost::end(*rit);
-<a name="l00143"></a>00143 ++it, first = <span class="keyword">false</span>)
-<a name="l00144"></a>00144 {
-<a name="l00145"></a>00145 os << (first ? <span class="stringliteral">"M"</span> : <span class="stringliteral">" L"</span>) << <span class="stringliteral">" "</span> << it->x() << <span class="stringliteral">","</span> << it->y();
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149 os << <span class="stringliteral">" z \" style=\""</span> << style << <span class="stringliteral">"\"/></g>"</span>;
+<a name="l00119"></a>00119 <span class="comment">// Inner rings:</span>
+<a name="l00120"></a>00120 {
+<a name="l00121"></a>00121 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00122"></a>00122 <
+<a name="l00123"></a>00123 <span class="keyword">typename</span> <a class="code" href="structggl_1_1interior__type.html" title="Meta-function defining container type of inner rings of (multi)polygon geometriy...">ggl::interior_type<Polygon>::type</a>
+<a name="l00124"></a>00124 >::type ring_iterator_type;
+<a name="l00125"></a>00125 <span class="keywordflow">for</span> (ring_iterator_type rit = boost::begin(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00126"></a>00126 rit != boost::end(<a class="code" href="group__access.html#gfb1abbb52eaeb5391c51fb6c209ab758" title="Function to get the interior rings of a polygon (non const version).">interior_rings</a>(polygon));
+<a name="l00127"></a>00127 ++rit)
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 first = <span class="keyword">true</span>;
+<a name="l00130"></a>00130 <span class="keywordflow">for</span> (iterator_type it = boost::begin(*rit);
+<a name="l00131"></a>00131 it != boost::end(*rit);
+<a name="l00132"></a>00132 ++it, first = <span class="keyword">false</span>)
+<a name="l00133"></a>00133 {
+<a name="l00134"></a>00134 os << (first ? <span class="stringliteral">"M"</span> : <span class="stringliteral">" L"</span>) << <span class="stringliteral">" "</span> << it->x() << <span class="stringliteral">","</span> << it->y();
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137 }
+<a name="l00138"></a>00138 os << <span class="stringliteral">" z \" style=\""</span> << style << <span class="stringliteral">"\"/></g>"</span>;
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 }
+<a name="l00141"></a>00141 };
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">struct </span>prefix_linestring
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix() { <span class="keywordflow">return</span> <span class="stringliteral">"polyline"</span>; }
+<a name="l00148"></a>00148 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* style() { <span class="keywordflow">return</span> <span class="stringliteral">";fill:none"</span>; }
+<a name="l00149"></a>00149 };
<a name="l00150"></a>00150
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 <span class="keyword">private</span>:
-<a name="l00154"></a>00154 BOOST_CONCEPT_ASSERT
-<a name="l00155"></a>00155 (
-<a name="l00156"></a>00156 (concept::ConstPoint<<span class="keyword">typename</span> point_type<Polygon>::type>)
-<a name="l00157"></a>00157 );
-<a name="l00158"></a>00158 };
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keyword">struct </span>prefix_ring
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix() { <span class="keywordflow">return</span> <span class="stringliteral">"polygon"</span>; }
+<a name="l00155"></a>00155 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* style() { <span class="keywordflow">return</span> <span class="stringliteral">""</span>; }
+<a name="l00156"></a>00156 };
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158
<a name="l00159"></a>00159
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <span class="keyword">struct </span>prefix_linestring
-<a name="l00163"></a>00163 {
-<a name="l00164"></a>00164 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix() { <span class="keywordflow">return</span> <span class="stringliteral">"polyline"</span>; }
-<a name="l00165"></a>00165 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* style() { <span class="keywordflow">return</span> <span class="stringliteral">";fill:none"</span>; }
-<a name="l00166"></a>00166 };
-<a name="l00167"></a>00167
-<a name="l00168"></a>00168
-<a name="l00169"></a>00169 <span class="keyword">struct </span>prefix_ring
-<a name="l00170"></a>00170 {
-<a name="l00171"></a>00171 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* prefix() { <span class="keywordflow">return</span> <span class="stringliteral">"polygon"</span>; }
-<a name="l00172"></a>00172 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* style() { <span class="keywordflow">return</span> <span class="stringliteral">""</span>; }
-<a name="l00173"></a>00173 };
-<a name="l00174"></a>00174
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176
-<a name="l00177"></a>00177 }} <span class="comment">// namespace detail::svg</span>
-<a name="l00178"></a>00178 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00179"></a>00179 <span class="preprocessor"></span>
+<a name="l00160"></a>00160 }} <span class="comment">// namespace detail::svg</span>
+<a name="l00161"></a>00161 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00162"></a>00162 <span class="preprocessor"></span>
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00165"></a>00165 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00166"></a>00166
+<a name="l00175"></a>00175 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
+<a name="l00176"></a>00176 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a> {};
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00179"></a>00179 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><point_tag, Point> : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_point<Point> {};
<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00182"></a>00182 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00181"></a>00181 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
+<a name="l00182"></a>00182 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><box_tag, Box> : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_box<Box> {};
<a name="l00183"></a>00183
-<a name="l00192"></a>00192 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
-<a name="l00193"></a>00193 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a> {};
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00196"></a>00196 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><point_tag, Point> : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_point<Point> {};
-<a name="l00197"></a>00197
-<a name="l00198"></a>00198 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00199"></a>00199 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><box_tag, Box> : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_box<Box> {};
-<a name="l00200"></a>00200
-<a name="l00201"></a>00201 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>>
-<a name="l00202"></a>00202 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><linestring_tag, Linestring>
-<a name="l00203"></a>00203 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_range<Linestring, detail::svg::prefix_linestring> {};
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring>
-<a name="l00206"></a>00206 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><ring_tag, Ring>
-<a name="l00207"></a>00207 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_range<Ring, detail::svg::prefix_ring> {};
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
-<a name="l00210"></a>00210 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><polygon_tag, Polygon>
-<a name="l00211"></a>00211 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_poly<Polygon> {};
-<a name="l00212"></a>00212
-<a name="l00213"></a>00213 } <span class="comment">// namespace dispatch</span>
-<a name="l00214"></a>00214 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00215"></a>00215 <span class="preprocessor"></span>
-<a name="l00216"></a>00216
-<a name="l00222"></a>00222 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00223"></a><a class="code" href="classggl_1_1svg__manipulator.html">00223</a> <span class="keyword">class </span><a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator</a>
-<a name="l00224"></a>00224 {
-<a name="l00225"></a>00225 <span class="keyword">public</span>:
-<a name="l00226"></a>00226
-<a name="l00227"></a><a class="code" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">00227</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">svg_manipulator</a>(G <span class="keyword">const</span>& g, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size)
-<a name="l00228"></a>00228 : m_geometry(g)
-<a name="l00229"></a>00229 , m_style(style)
-<a name="l00230"></a>00230 , m_size(size)
-<a name="l00231"></a>00231 {}
-<a name="l00232"></a>00232
-<a name="l00233"></a>00233 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
-<a name="l00234"></a><a class="code" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">00234</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream<Char, Traits>& <a class="code" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">operator<<</a>(
-<a name="l00235"></a>00235 std::basic_ostream<Char, Traits>& os, <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator</a> <span class="keyword">const</span>& m)
-<a name="l00236"></a>00236 {
-<a name="l00237"></a>00237 <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">dispatch::svg</a>
-<a name="l00238"></a>00238 <
-<a name="l00239"></a>00239 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>, G
-<a name="l00240"></a>00240 >::apply(os, m.m_geometry, m.m_style, m.m_size);
-<a name="l00241"></a>00241 os.flush();
-<a name="l00242"></a>00242 <span class="keywordflow">return</span> os;
-<a name="l00243"></a>00243 }
-<a name="l00244"></a>00244
-<a name="l00245"></a>00245 <span class="keyword">private</span>:
-<a name="l00246"></a>00246 G <span class="keyword">const</span>& m_geometry;
-<a name="l00247"></a>00247 std::string <span class="keyword">const</span>& m_style;
-<a name="l00248"></a>00248 <span class="keywordtype">int</span> m_size;
-<a name="l00249"></a>00249 };
-<a name="l00250"></a>00250
-<a name="l00255"></a>00255 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00256"></a><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">00256</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator<Geometry></a> <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>(Geometry <span class="keyword">const</span>& t, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size = -1)
-<a name="l00257"></a>00257 {
-<a name="l00258"></a>00258 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator<Geometry></a>(t, style, size);
-<a name="l00259"></a>00259 }
-<a name="l00260"></a>00260
-<a name="l00261"></a>00261 } <span class="comment">// namespace ggl</span>
-<a name="l00262"></a>00262
-<a name="l00263"></a>00263 <span class="preprocessor">#endif // GGL_IO_SVG_WRITE_SVG_HPP</span>
+<a name="l00184"></a>00184 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>>
+<a name="l00185"></a>00185 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><linestring_tag, Linestring>
+<a name="l00186"></a>00186 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_range<Linestring, detail::svg::prefix_linestring> {};
+<a name="l00187"></a>00187
+<a name="l00188"></a>00188 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring>
+<a name="l00189"></a>00189 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><ring_tag, Ring>
+<a name="l00190"></a>00190 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_range<Ring, detail::svg::prefix_ring> {};
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00193"></a>00193 <span class="keyword">struct </span><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a><polygon_tag, Polygon>
+<a name="l00194"></a>00194 : detail::<a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>::svg_poly<Polygon> {};
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 } <span class="comment">// namespace dispatch</span>
+<a name="l00197"></a>00197 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00198"></a>00198 <span class="preprocessor"></span>
+<a name="l00199"></a>00199
+<a name="l00205"></a>00205 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
+<a name="l00206"></a><a class="code" href="classggl_1_1svg__manipulator.html">00206</a> <span class="keyword">class </span><a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator</a>
+<a name="l00207"></a>00207 {
+<a name="l00208"></a>00208 <span class="keyword">public</span>:
+<a name="l00209"></a>00209
+<a name="l00210"></a><a class="code" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">00210</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1svg__manipulator.html#f020707f84912c433297184f758dd908">svg_manipulator</a>(G <span class="keyword">const</span>& g, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size)
+<a name="l00211"></a>00211 : m_geometry(g)
+<a name="l00212"></a>00212 , m_style(style)
+<a name="l00213"></a>00213 , m_size(size)
+<a name="l00214"></a>00214 {}
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="keyword">template</span> <<span class="keyword">typename</span> Char, <span class="keyword">typename</span> Traits>
+<a name="l00217"></a><a class="code" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">00217</a> <span class="keyword">inline</span> <span class="keyword">friend</span> std::basic_ostream<Char, Traits>& <a class="code" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">operator<<</a>(
+<a name="l00218"></a>00218 std::basic_ostream<Char, Traits>& os, <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator</a> <span class="keyword">const</span>& m)
+<a name="l00219"></a>00219 {
+<a name="l00220"></a>00220 <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">dispatch::svg</a>
+<a name="l00221"></a>00221 <
+<a name="l00222"></a>00222 <span class="keyword">typename</span> <a class="code" href="structggl_1_1geometry__not__recognized__tag.html" title="&quot;default&quot; tag">tag<G>::type</a>, G
+<a name="l00223"></a>00223 >::apply(os, m.m_geometry, m.m_style, m.m_size);
+<a name="l00224"></a>00224 os.flush();
+<a name="l00225"></a>00225 <span class="keywordflow">return</span> os;
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keyword">private</span>:
+<a name="l00229"></a>00229 G <span class="keyword">const</span>& m_geometry;
+<a name="l00230"></a>00230 std::string <span class="keyword">const</span>& m_style;
+<a name="l00231"></a>00231 <span class="keywordtype">int</span> m_size;
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00238"></a>00238 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00239"></a><a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd">00239</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator<Geometry></a> <a class="code" href="group__svg.html#g98ba8f58eaff68c96c23f9d9a90bc4fd" title="Main svg function to stream geometries as SVG.">svg</a>(Geometry <span class="keyword">const</span>& t, std::string <span class="keyword">const</span>& style, <span class="keywordtype">int</span> size = -1)
+<a name="l00240"></a>00240 {
+<a name="l00241"></a>00241 concept::check<const Geometry>();
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 <span class="keywordflow">return</span> <a class="code" href="classggl_1_1svg__manipulator.html" title="Generic geometry template manipulator class, takes corresponding output class from...">svg_manipulator<Geometry></a>(t, style, size);
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 } <span class="comment">// namespace ggl</span>
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="preprocessor">#endif // GGL_IO_SVG_WRITE_SVG_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/x01__qt__example_8cpp-example.html 2009-10-25 06:40:07 EDT (Sun, 25 Oct 2009)
@@ -99,7 +99,7 @@
<< (polygon.containsPoint(p, Qt::WindingFill) ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>)
<< std::endl
<< <span class="stringliteral">"GGL within: "</span>
- << (<a name="a3"></a><a class="code" href="group__boolean__relations.html#g95d6465a12b762c77df41369a039f6dc" title="Within check.">ggl::within</a>(p, polygon) ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>)
+ << (<a name="a3"></a><a class="code" href="group__boolean__relations.html#g599c2aa76cf2037eb40514e449ace28d" title="Within check.">ggl::within</a>(p, polygon) ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>)
<< std::endl;
<span class="comment">// Detail: if point is ON boundary, Qt says yes, GGL says no.</span>