|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r57038 - in sandbox/ggl/formal_review_request/libs/ggl/doc: . doxygen_input/sourcecode doxygen_output/html
From: barend.gehrels_at_[hidden]
Date: 2009-10-21 05:23:44
Author: barendgehrels
Date: 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
New Revision: 57038
URL: http://svn.boost.org/trac/boost/changeset/57038
Log:
Updated doc to reflect changes in simplify/convex hull/point order
Added:
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp_source.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_0x6e.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/iterators_2vertex__iterator_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2vertex__iterator_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2vertex__iterator_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2vertex__iterator_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_enum.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_eval.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__order_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__order_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp_source.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_segment_distance_strategy-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_segment_distance_strategy.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_simplify_strategy-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_simplify_strategy.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1vertex__iterator-members.html (contents, props changed)
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1vertex__iterator.html (contents, props changed)
Removed:
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp_source.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator-members.html
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator.html
Text files modified:
sandbox/ggl/formal_review_request/libs/ggl/doc/Doxyfile | 1
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/sourcecode/doxygen_examples.cpp | 15
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/02__linestring__example_8cpp-example.html | 18
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/03__polygon__example_8cpp-example.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp_source.html | 425 ++++++++-------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html | 417 ++++++++-------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html | 285 +++++++---
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html | 318 ++++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html | 345 ++++++------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html | 18
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html | 1015 +++++++++++++++++++--------------------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html | 28
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html | 505 ++++++++++---------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html | 174 ++++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html | 467 ++++++++++-------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html | 209 ++++----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html | 268 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/class_point_list.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html | 41
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html | 1
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html | 29 -
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html | 18
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html | 94 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham-members.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham.html | 25
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html | 105 ++++
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html | 77 +++
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html | 18
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html | 18
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html | 293 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html | 187 +++---
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html | 68 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/equals_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/files.html | 11
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x62.html | 11
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x63.html | 30
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x64.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x67.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x69.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6e.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x6f.html | 24
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x70.html | 11
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x72.html | 16
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x74.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x76.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_func.html | 340 ------------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_type.html | 31
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_vars.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/get__intersection__points_8hpp_source.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals_defs.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__access.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__area.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__centroid.html | 2
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 | 9
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 | 80 ++
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__core.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__distance.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__envelope.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__sectionalize.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__simplify.html | 175 +++---
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__utility.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/hierarchy.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/interior__rings_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/intersection__linestring_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html | 21
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html | 91 +-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp_source.html | 106 ++-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html | 113 ++-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp_source.html | 587 +++++++++++-----------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html | 182 ++++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp_source.html | 95 ++-
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html | 13
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html | 151 +++--
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html | 476 ++++++-----------
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1concept.html | 9
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1traits.html | 3
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers.html | 36
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html | 26
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_type.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp_source.html | 282 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/radian__access_8hpp_source.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html | 170 +++---
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__envelope_8hpp_source.html | 285 +++++-----
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/strategies_8hpp_source.html | 32
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_1area__result.html | 8
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type-members.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type.html | 14
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__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__iterator.html | 12
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html | 1
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html | 25
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html | 28
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html | 28
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html | 2
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html | 6
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html | 10
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html | 4
sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/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 | 4
157 files changed, 4970 insertions(+), 4464 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -98,6 +98,7 @@
../../../boost/ggl/multi/iterators \
../../../boost/ggl/policies/relate \
../../../boost/ggl/strategies \
+ ../../../boost/ggl/strategies/concepts \
../../../boost/ggl/strategies/agnostic \
../../../boost/ggl/strategies/cartesian \
../../../boost/ggl/strategies/spherical \
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/sourcecode/doxygen_examples.cpp
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/sourcecode/doxygen_examples.cpp (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_input/sourcecode/doxygen_examples.cpp 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -218,7 +218,7 @@
{
ggl::linestring<ggl::point_xy<double> > line, simplified;
ggl::read_wkt("linestring(1.1 1.1, 2.5 2.1, 3.1 3.1, 4.9 1.1, 3.1 1.9)", line);
- ggl::simplify(line, std::back_inserter(simplified), 0.5);
+ ggl::simplify(line, simplified, 0.5);
std::cout
<< " original line: " << ggl::dsv(line) << std::endl
<< "simplified line: " << ggl::dsv(simplified) << std::endl;
@@ -233,9 +233,8 @@
ggl::read_wkt("linestring(1.1 1.1, 2.5 2.1, 3.1 3.1, 4.9 1.1, 3.1 1.9)", line);
typedef ggl::strategy::distance::xy_point_segment<P, ggl::segment<const P> > DS;
- typedef std::ostream_iterator<P> OUT;
- typedef ggl::strategy::simplify::douglas_peucker<L, OUT, DS> simplification;
- ggl::simplify(line, OUT(std::cout, "\n"), 0.5, simplification());
+ typedef ggl::strategy::simplify::douglas_peucker<P, DS> simplification;
+ ggl::simplify_inserter(line, std::ostream_iterator<P>(std::cout, "\n"), 0.5, simplification());
}
@@ -454,7 +453,7 @@
ggl::loop(poly.outer(), perimeter<P>(), peri);
std::cout << "Perimeter: " << peri.sum << std::endl;
}
-} //:\\
+} //:\\ --
namespace example_loop2
@@ -486,7 +485,7 @@
std::cout << "Perimeter: " << peri.sum/1000.0 << " km" << std::endl;
*/
}
-} //:\\
+} //:\\ --
@@ -560,7 +559,7 @@
test1(p);
test2(p);
}
-} //:\\
+} //:\\ --
@@ -619,7 +618,7 @@
example_point_2 p(1,2);
test3(p);
}
-} //:\\
+} //:\\ --
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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -137,7 +137,7 @@
<span class="comment">// The distance from a point to a linestring can be calculated</span>
<a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_2d</a> p(1.9, 1.2);
- std::cout << <span class="stringliteral">"distance of "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p)
+ std::cout << <span class="stringliteral">"distance of "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(p)
<< <span class="stringliteral">" to line: "</span> << <a name="a10"></a><a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>(p, ls) << std::endl;
<span class="comment">// A linestring is a vector. However, some algorithms consider "segments",</span>
@@ -184,7 +184,7 @@
{
<a class="code" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">linestring_2d</a> ls_copy;
- std::unique_copy(ls.begin(), ls.end(), std::back_inserter(ls_copy),
+ std::unique_copy(ls.begin(), ls.end(), std::back_inserter(ls_copy),
point_equal<point_2d>());
ls = ls_copy;
std::cout << <span class="stringliteral">"uniquecopy: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(ls) << std::endl;
@@ -192,7 +192,7 @@
<span class="comment">// Lines can be simplified. This removes points, but preserves the shape</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_2d</a> ls_simplified;
- <a name="a12"></a><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>(ls, std::back_inserter(ls_simplified), 0.5);
+ <a name="a12"></a><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>(ls, ls_simplified, 0.5);
std::cout << <span class="stringliteral">"simplified: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(ls_simplified) << std::endl;
@@ -221,7 +221,7 @@
intersection<std::vector<point_2d> >(cb, ls, std::back_inserter(vector_out));
std::cout << <span class="stringliteral">"clipped output as vector:"</span> << std::endl;
- <span class="keywordflow">for</span> (std::vector<std::vector<point_2d> >::const_iterator it
+ <span class="keywordflow">for</span> (std::vector<std::vector<point_2d> >::const_iterator it
= vector_out.begin(); it != vector_out.end(); ++it)
{
std::cout << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(*it) << std::endl;
@@ -229,12 +229,12 @@
<span class="comment">// Calculate the convex hull of the linestring</span>
<a name="_a15"></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> hull;
- <a name="a16"></a><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a>(ls, std::back_inserter(hull.<a name="a17"></a><a class="code" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">outer</a>()));
+ <a name="a16"></a><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>(ls, hull);
std::cout << <span class="stringliteral">"Convex hull:"</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(hull) << std::endl;
<span class="comment">// All the above assumed 2D Cartesian linestrings. 3D is possible as well</span>
<span class="comment">// Let's define a 3D point ourselves, this time using 'float'</span>
- <span class="keyword">typedef</span> <a name="_a18"></a><a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point<float, 3, cs::cartesian></a> <a name="_a19"></a><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">typedef</span> <a name="_a17"></a><a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point<float, 3, cs::cartesian></a> <a name="_a18"></a><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">typedef</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<point_type></a> line_type;
line_type line3d;
line3d.push_back(make<point_type>(1,2,3));
@@ -242,12 +242,12 @@
line3d.push_back(make<point_type>(7,8,9));
<span class="comment">// Not all algorithms work on 3d lines. For example convex hull does NOT.</span>
- <span class="comment">// But for example length, distance, simplify, envelope and stream do.</span>
+ <span class="comment">// But, for example, length, distance, simplify, envelope and stream do.</span>
std::cout << <span class="stringliteral">"3D: length: "</span> << <a class="code" href="group__length.html#g7e3572634111ae0252a474a7f435c5aa" title="Calculate length of a geometry.">length</a>(line3d) << <span class="stringliteral">" line: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(line3d) << std::endl;
<span class="comment">// With DSV you can also use other delimiters, e.g. JSON style</span>
- std::cout << <span class="stringliteral">"JSON: "</span>
- << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(ls, <span class="stringliteral">", "</span>, <span class="stringliteral">"["</span>, <span class="stringliteral">"]"</span>, <span class="stringliteral">", "</span>, <span class="stringliteral">"[ "</span>, <span class="stringliteral">" ]"</span>)
+ std::cout << <span class="stringliteral">"JSON: "</span>
+ << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(ls, <span class="stringliteral">", "</span>, <span class="stringliteral">"["</span>, <span class="stringliteral">"]"</span>, <span class="stringliteral">", "</span>, <span class="stringliteral">"[ "</span>, <span class="stringliteral">" ]"</span>)
<< std::endl;
<span class="keywordflow">return</span> 0;
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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -121,13 +121,13 @@
<span class="comment"> */</span>
<span class="comment">// The number of points have to called per ring separately</span>
- std::cout << <span class="stringliteral">"number of points in outer ring: "</span> << poly.<a name="a9"></a><a class="code" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">outer</a>().size() << std::endl;
+ std::cout << <span class="stringliteral">"number of points in outer ring: "</span> << poly.<a name="a9"></a><a class="code" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a>().size() << std::endl;
<span class="comment">// Polygons can have one or more inner rings, also called holes, donuts, islands, interior rings.</span>
<span class="comment">// Let's add one</span>
{
- poly.<a name="a10"></a><a class="code" href="classggl_1_1polygon.html#0d41c7b42a1444fdc759550644c7924e">inners</a>().resize(1);
- <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#0d41c7b42a1444fdc759550644c7924e">inners</a>().back();
+ poly.<a name="a10"></a><a class="code" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a>().resize(1);
+ <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);
@@ -169,7 +169,7 @@
}
<a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon_2d</a> hull;
- <a name="a13"></a><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a>(poly, std::back_inserter(hull.<a class="code" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">outer</a>()));
+ <a name="a13"></a><a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>(poly, hull);
std::cout << <span class="stringliteral">"Convex hull:"</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(hull) << std::endl;
<span class="comment">// If you really want:</span>
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2area_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2centroid_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2correct_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2envelope_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2intersection_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2sectionalize_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2transform_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/annotated.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/append_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign_8hpp_source.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/buffer_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/c04__b__custom__triangle__example_8cpp-example.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/cart__distance_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/class_point_list.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classes.html
+</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="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__identifier.html">segment_identifier</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__intersection__po Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/combine_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/convert_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy__segments_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/disjoint_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__haversine_8hpp.html
Added: 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/doxygen__design__cross__section_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/files.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_0x67.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_0x74.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x76.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_0x6e.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/get__intersection__points_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals_defs.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__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__distance.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__loop.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__simplify.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__utility.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp_source.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/interior__rings_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/inverse__transformer_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2vertex__iterator_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2vertex__iterator_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.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/math_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.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/merge__intersection__points_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.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_2get__section_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2vertex__iterator_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2vertex__iterator_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
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.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
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_enum.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_eval.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/namespacemembers_vars.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__order_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__order_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp.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/radian__access_8hpp_source.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp_source.html
Modified: 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
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_segment_distance_strategy-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_segment_distance_strategy.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_simplify_strategy-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_simplify_strategy.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator-members.html
Deleted: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__order.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__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__iterator.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html
Modified: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/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
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1vertex__iterator-members.html
Added: sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1vertex__iterator.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/agn__convex__hull_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__convex__hull_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -51,129 +51,129 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_AGNOSTIC_CONVEX_HULL_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_AGNOSTIC_CONVEX_HULL_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#ifdef _MSC_VER</span>
-<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#pragma warning( disable : 4101 )</span>
-<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00015"></a>00015 <span class="preprocessor"></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <cstddef></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <algorithm></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <vector></span>
+<a name="l00012"></a>00012
+<a name="l00013"></a>00013 <span class="preprocessor">#include <cstddef></span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <algorithm></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <vector></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/concept_check.hpp></span> <span class="comment">// for ignore-variable</span>
<a name="l00019"></a>00019
-<a name="l00020"></a>00020 <span class="preprocessor">#include <boost/range/functions.hpp></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="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.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="strategy__traits_8hpp.html">ggl/strategies/strategy_traits.hpp</a>></span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="less_8hpp.html">ggl/util/less.hpp</a>></span>
<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="comment">// TODO: Temporary, comparing tests, this can be removed in the end</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#if defined(GGL_USE_SMOOTH_SORT)</span>
-<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor"># include "SmoothSort.hpp"</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#elif defined(GGL_USE_MERGE_SORT)</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor"># include "MergeSort.hpp"</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#else</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span>
-<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><a class="code" href="namespaceggl_1_1strategy_1_1convex__hull.html">00036</a> <span class="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a> {
+<a name="l00025"></a>00025
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="comment">// TODO: Temporary, comparing tests, this can be removed in the end</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#if defined(GGL_USE_SMOOTH_SORT)</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor"># include "SmoothSort.hpp"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#elif defined(GGL_USE_MERGE_SORT)</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor"># include "MergeSort.hpp"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#else</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span>
+<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
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> RangeIterator, <span class="keyword">typename</span> Strategy>
-<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> get_extremes(<span class="keyword">const</span> Range& range,
-<a name="l00044"></a>00044 RangeIterator& min_it, RangeIterator& max_it,
-<a name="l00045"></a>00045 <span class="keyword">const</span> Strategy& strategy)
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 min_it = boost::begin(range);
-<a name="l00048"></a>00048 max_it = boost::begin(range);
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keywordflow">for</span> (RangeIterator it = boost::begin(range) + 1; it != boost::end(range); ++it)
-<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 <span class="keywordflow">if</span> (strategy.smaller(*it, *min_it))
-<a name="l00053"></a>00053 {
-<a name="l00054"></a>00054 min_it = it;
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keywordflow">if</span> (strategy.larger(*it, *max_it))
-<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 max_it = it;
-<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="keyword">template</span> <<span class="keyword">typename</span> R>
-<a name="l00065"></a>00065 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> sort(R& range)
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="preprocessor"> #if defined(USE_SMOOTH_SORT)</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span> smoothsort::sort(boost::begin(range), boost::end(range));
-<a name="l00069"></a>00069 <span class="preprocessor"> #elif defined(USE_MERGE_SORT)</span>
-<a name="l00070"></a>00070 <span class="preprocessor"></span> comparing::merge_sort<thread_count>(boost::begin(range), boost::end(range), std::less<P>());
-<a name="l00071"></a>00071 <span class="preprocessor"> #else</span>
-<a name="l00072"></a>00072 <span class="preprocessor"></span> std::sort(boost::begin(range), boost::end(range));
-<a name="l00073"></a>00073 <span class="preprocessor"> #endif</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span>}
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 } <span class="comment">// namespace detail</span>
-<a name="l00077"></a>00077 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00038"></a><a class="code" href="namespaceggl_1_1strategy_1_1convex__hull.html">00038</a> <span class="keyword">namespace </span>strategy { <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="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> RangeIterator, <span class="keyword">typename</span> Strategy>
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> get_extremes(<span class="keyword">const</span> Range& range,
+<a name="l00046"></a>00046 RangeIterator& min_it, RangeIterator& max_it,
+<a name="l00047"></a>00047 <span class="keyword">const</span> Strategy& strategy)
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 min_it = boost::begin(range);
+<a name="l00050"></a>00050 max_it = boost::begin(range);
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keywordflow">for</span> (RangeIterator it = boost::begin(range) + 1; it != boost::end(range); ++it)
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keywordflow">if</span> (strategy.smaller(*it, *min_it))
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 min_it = it;
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (strategy.larger(*it, *max_it))
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 max_it = it;
+<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="keyword">template</span> <<span class="keyword">typename</span> R>
+<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> sort(R& range)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<R>::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="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="preprocessor">#if defined(USE_SMOOTH_SORT)</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span> smoothsort::sort
+<a name="l00073"></a>00073 <span class="preprocessor">#elif defined(USE_MERGE_SORT)</span>
+<a name="l00074"></a>00074 <span class="preprocessor"></span> comparing::merge_sort<thread_count>
+<a name="l00075"></a>00075 <span class="preprocessor">#else</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span> std::sort
+<a name="l00077"></a>00077 <span class="preprocessor">#endif</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span>
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="comment">// Completely reworked version from source at:</span>
-<a name="l00081"></a>00081 <span class="comment">// http://www.ddj.com/architect/201806315>
-<a name="l00082"></a>00082 <span class="comment">// also available at http://marknelson.us/2007/08/22/convex>
-<a name="l00083"></a>00083 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00084"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">00084</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a>
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keyword">private</span>:
-<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_1cs__tag.html" title="Meta-function returning coordinate system tag (cs family) of any geometry.">cs_tag<P>::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="l00089"></a>00089 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector<P> container;
-<a name="l00090"></a>00090 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector<P>::const_iterator iterator;
-<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector<P>::const_reverse_iterator rev_iterator;
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 container m_lower_hull;
-<a name="l00094"></a>00094 container m_upper_hull;
-<a name="l00095"></a>00095 container m_copied_input;
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098 <span class="keyword">public</span>:
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="comment">// Default constructor, ranges can be added using "add_range" but note they'll be copied</span>
-<a name="l00101"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">00101</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">graham</a>()
-<a name="l00102"></a>00102 {
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="comment">// Constructor with a range</span>
-<a name="l00106"></a>00106 <span class="keyword">template</span> <<span class="keyword">typename</span> Range>
-<a name="l00107"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#03467845cee70dffe77e7469290d4e62">00107</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">graham</a>(<span class="keyword">const</span> Range& range)
+<a name="l00079"></a>00079 (boost::begin(range), boost::end(range), <a class="code" href="structggl_1_1less.html" title="Less predicate for usage in e.g. std::map.">ggl::less<point_type></a>());
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 } <span class="comment">// namespace detail</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
+<a name="l00086"></a>00086 <span class="comment">// Completely reworked version from source at:</span>
+<a name="l00087"></a>00087 <span class="comment">// http://www.ddj.com/architect/201806315>
+<a name="l00088"></a>00088 <span class="comment">// also available at http://marknelson.us/2007/08/22/convex>
+<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
+<a name="l00090"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">00090</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">graham</a>
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 <span class="keyword">private</span>:
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <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<P>::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="l00095"></a>00095 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector<P> container;
+<a name="l00096"></a>00096 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector<P>::const_iterator iterator;
+<a name="l00097"></a>00097 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector<P>::const_reverse_iterator rev_iterator;
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 container m_lower_hull;
+<a name="l00100"></a>00100 container m_upper_hull;
+<a name="l00101"></a>00101 container m_copied_input;
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="keyword">public</span>:
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <span class="comment">// Default constructor, ranges can be added using "add_range" but note they'll be copied</span>
+<a name="l00107"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">00107</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">graham</a>()
<a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 handle_range(range);
-<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> OutputIterator>
-<a name="l00114"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#23378d3d7d381ddac21b68e449fbccbc">00114</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">get</span>(OutputIterator out)
-<a name="l00115"></a>00115 {
-<a name="l00116"></a>00116 <span class="keywordflow">for</span> (iterator it = m_upper_hull.begin(); it != m_upper_hull.end(); ++it, ++out)
-<a name="l00117"></a>00117 {
-<a name="l00118"></a>00118 *out = *it;
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="comment">// STL Port does not accept iterating from rbegin+1 to rend</span>
-<a name="l00122"></a>00122 std::size_t size = m_lower_hull.size();
-<a name="l00123"></a>00123 <span class="keywordflow">if</span> (size > 0)
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 rev_iterator it = m_lower_hull.rbegin() + 1;
-<a name="l00126"></a>00126 <span class="keywordflow">for</span> (std::size_t i = 1; i < size; ++i, ++it, ++out)
-<a name="l00127"></a>00127 {
-<a name="l00128"></a>00128 *out = *it;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="comment">// Constructor with a range</span>
+<a name="l00112"></a>00112 <span class="keyword">template</span> <<span class="keyword">typename</span> Range>
+<a name="l00113"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#03467845cee70dffe77e7469290d4e62">00113</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">graham</a>(<span class="keyword">const</span> Range& range)
+<a name="l00114"></a>00114 {
+<a name="l00115"></a>00115 handle_range(range);
+<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> OutputIterator>
+<a name="l00120"></a><a class="code" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#67876d356c1bf48171f46c116510f166">00120</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <span class="keyword">get</span>(OutputIterator out, <span class="keywordtype">bool</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>)
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="keywordflow">if</span> (<a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>)
+<a name="l00123"></a>00123 {
+<a name="l00124"></a>00124 get_range_forward(m_upper_hull, out);
+<a name="l00125"></a>00125 get_range_reverse(m_lower_hull, out);
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127 <span class="keywordflow">else</span>
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 get_range_forward(m_lower_hull, out);
+<a name="l00130"></a>00130 get_range_reverse(m_upper_hull, out);
+<a name="l00131"></a>00131 }
+<a name="l00132"></a>00132 }
<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="comment">// Note /</span>
+<a name="l00134"></a>00134
<a name="l00135"></a>00135 <span class="comment">// TODO:</span>
<a name="l00136"></a>00136 <span class="comment">// Consider if it is better to create an iterator over a multi, which is then used here,</span>
<a name="l00137"></a>00137 <span class="comment">// instead of copying the range</span>
@@ -223,8 +223,8 @@
<a name="l00181"></a>00181 detail::sort(lower_points);
<a name="l00182"></a>00182 detail::sort(upper_points);
<a name="l00183"></a>00183
-<a name="l00184"></a>00184 build_half_hull<1>(lower_points, m_lower_hull, *left_it, *right_it);
-<a name="l00185"></a>00185 build_half_hull<-1>(upper_points, m_upper_hull, *left_it, *right_it);
+<a name="l00184"></a>00184 build_half_hull<-1>(lower_points, m_lower_hull, *left_it, *right_it);
+<a name="l00185"></a>00185 build_half_hull<1>(upper_points, m_upper_hull, *left_it, *right_it);
<a name="l00186"></a>00186 }
<a name="l00187"></a>00187
<a name="l00188"></a>00188
@@ -237,87 +237,114 @@
<a name="l00195"></a>00195 container& upper_points)
<a name="l00196"></a>00196 {
<a name="l00197"></a>00197 <span class="keyword">typename</span> strategy_side<cs_tag, P>::type side;
-<a name="l00198"></a>00198
-<a name="l00199"></a>00199 <span class="comment">// Put points in one of the two output sequences</span>
-<a name="l00200"></a>00200 <span class="keywordflow">for</span> (RangeIterator it = boost::begin(range);
-<a name="l00201"></a>00201 it != boost::end(range);
-<a name="l00202"></a>00202 ++it)
-<a name="l00203"></a>00203 {
-<a name="l00204"></a>00204 <span class="keywordflow">if</span> (it != left_it && it != right_it)
-<a name="l00205"></a>00205 {
-<a name="l00206"></a>00206 <span class="keywordtype">int</span> dir = side.side(*left_it, *right_it, *it);
-<a name="l00207"></a>00207 <span class="keywordflow">if</span> ( dir < 0 )
-<a name="l00208"></a>00208 {
-<a name="l00209"></a>00209 upper_points.push_back(*it);
-<a name="l00210"></a>00210 }
-<a name="l00211"></a>00211 <span class="keywordflow">else</span>
-<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 lower_points.push_back(*it);
-<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
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="keyword">template</span> <<span class="keywordtype">int</span> Factor>
-<a name="l00221"></a>00221 <span class="keyword">inline</span> <span class="keywordtype">void</span> build_half_hull(<span class="keyword">const</span> container& input, container& output,
-<a name="l00222"></a>00222 <span class="keyword">const</span> P& left, <span class="keyword">const</span> P& right)
-<a name="l00223"></a>00223 {
-<a name="l00224"></a>00224 output.push_back(left);
-<a name="l00225"></a>00225 <span class="keywordflow">for</span>(iterator it = input.begin(); it != input.end(); ++it)
-<a name="l00226"></a>00226 {
-<a name="l00227"></a>00227 add_to_hull<Factor>(*it, output);
-<a name="l00228"></a>00228 }
-<a name="l00229"></a>00229 add_to_hull<Factor>(right, output);
-<a name="l00230"></a>00230 }
-<a name="l00231"></a>00231
-<a name="l00232"></a>00232 <span class="keyword">template</span> <<span class="keywordtype">int</span> Factor>
-<a name="l00233"></a>00233 <span class="keyword">inline</span> <span class="keywordtype">void</span> add_to_hull(<span class="keyword">const</span> P& p, container& output)
-<a name="l00234"></a>00234 {
-<a name="l00235"></a>00235 <span class="keyword">typename</span> strategy_side<cs_tag, P>::type side;
-<a name="l00236"></a>00236
-<a name="l00237"></a>00237 output.push_back(p);
-<a name="l00238"></a>00238 <span class="keyword">register</span> std::size_t output_size = output.size();
-<a name="l00239"></a>00239 <span class="keywordflow">while</span> (output_size >= 3)
-<a name="l00240"></a>00240 {
-<a name="l00241"></a>00241 rev_iterator rit = output.rbegin();
-<a name="l00242"></a>00242 <span class="keyword">const</span> P& last = *rit++;
-<a name="l00243"></a>00243 <span class="keyword">const</span> P& last2 = *rit++;
-<a name="l00244"></a>00244
-<a name="l00245"></a>00245 <span class="keywordflow">if</span> (Factor * side.side(*rit, last, last2) <= 0)
-<a name="l00246"></a>00246 {
-<a name="l00247"></a>00247 <span class="comment">// Remove last two points from stack, and add last again</span>
-<a name="l00248"></a>00248 <span class="comment">// This is much faster then erasing the one but last.</span>
-<a name="l00249"></a>00249 output.pop_back();
-<a name="l00250"></a>00250 output.pop_back();
-<a name="l00251"></a>00251 output.push_back(last);
-<a name="l00252"></a>00252 output_size--;
-<a name="l00253"></a>00253 }
-<a name="l00254"></a>00254 <span class="keywordflow">else</span>
-<a name="l00255"></a>00255 {
-<a name="l00256"></a>00256 <span class="keywordflow">return</span>;
+<a name="l00198"></a>00198 boost::ignore_unused_variable_warning(side);
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 <span class="comment">// Put points in one of the two output sequences</span>
+<a name="l00201"></a>00201 <span class="keywordflow">for</span> (RangeIterator it = boost::begin(range);
+<a name="l00202"></a>00202 it != boost::end(range);
+<a name="l00203"></a>00203 ++it)
+<a name="l00204"></a>00204 {
+<a name="l00205"></a>00205 <span class="keywordflow">if</span> (it != left_it && it != right_it)
+<a name="l00206"></a>00206 {
+<a name="l00207"></a>00207 <span class="keywordtype">int</span> dir = side.side(*left_it, *right_it, *it);
+<a name="l00208"></a>00208 <span class="keywordflow">switch</span>(dir)
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 <span class="keywordflow">case</span> 1 : <span class="comment">// left</span>
+<a name="l00211"></a>00211 upper_points.push_back(*it);
+<a name="l00212"></a>00212 <span class="keywordflow">break</span>;
+<a name="l00213"></a>00213 <span class="keywordflow">case</span> -1 : <span class="comment">// right</span>
+<a name="l00214"></a>00214 lower_points.push_back(*it);
+<a name="l00215"></a>00215 <span class="keywordflow">break</span>;
+<a name="l00216"></a>00216 <span class="comment">// zero: on line left-right, never part of hull</span>
+<a name="l00217"></a>00217 }
+<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
+<a name="l00223"></a>00223 <span class="keyword">template</span> <<span class="keywordtype">int</span> Factor>
+<a name="l00224"></a>00224 <span class="keyword">inline</span> <span class="keywordtype">void</span> build_half_hull(<span class="keyword">const</span> container& input, container& output,
+<a name="l00225"></a>00225 <span class="keyword">const</span> P& left, <span class="keyword">const</span> P& right)
+<a name="l00226"></a>00226 {
+<a name="l00227"></a>00227 output.push_back(left);
+<a name="l00228"></a>00228 <span class="keywordflow">for</span>(iterator it = input.begin(); it != input.end(); ++it)
+<a name="l00229"></a>00229 {
+<a name="l00230"></a>00230 add_to_hull<Factor>(*it, output);
+<a name="l00231"></a>00231 }
+<a name="l00232"></a>00232 add_to_hull<Factor>(right, output);
+<a name="l00233"></a>00233 }
+<a name="l00234"></a>00234
+<a name="l00235"></a>00235 <span class="keyword">template</span> <<span class="keywordtype">int</span> Factor>
+<a name="l00236"></a>00236 <span class="keyword">inline</span> <span class="keywordtype">void</span> add_to_hull(<span class="keyword">const</span> P& p, container& output)
+<a name="l00237"></a>00237 {
+<a name="l00238"></a>00238 <span class="keyword">typename</span> strategy_side<cs_tag, P>::type side;
+<a name="l00239"></a>00239 boost::ignore_unused_variable_warning(side);
+<a name="l00240"></a>00240
+<a name="l00241"></a>00241 output.push_back(p);
+<a name="l00242"></a>00242 <span class="keyword">register</span> std::size_t output_size = output.size();
+<a name="l00243"></a>00243 <span class="keywordflow">while</span> (output_size >= 3)
+<a name="l00244"></a>00244 {
+<a name="l00245"></a>00245 rev_iterator rit = output.rbegin();
+<a name="l00246"></a>00246 <span class="keyword">const</span> P& last = *rit++;
+<a name="l00247"></a>00247 <span class="keyword">const</span> P& last2 = *rit++;
+<a name="l00248"></a>00248
+<a name="l00249"></a>00249 <span class="keywordflow">if</span> (Factor * side.side(*rit, last, last2) <= 0)
+<a name="l00250"></a>00250 {
+<a name="l00251"></a>00251 <span class="comment">// Remove last two points from stack, and add last again</span>
+<a name="l00252"></a>00252 <span class="comment">// This is much faster then erasing the one but last.</span>
+<a name="l00253"></a>00253 output.pop_back();
+<a name="l00254"></a>00254 output.pop_back();
+<a name="l00255"></a>00255 output.push_back(last);
+<a name="l00256"></a>00256 output_size--;
<a name="l00257"></a>00257 }
-<a name="l00258"></a>00258 }
-<a name="l00259"></a>00259 }
-<a name="l00260"></a>00260
-<a name="l00261"></a>00261
-<a name="l00262"></a>00262 };
-<a name="l00263"></a>00263
-<a name="l00264"></a>00264 }} <span class="comment">// namespace strategy::convex_hull</span>
-<a name="l00265"></a>00265
-<a name="l00266"></a>00266
-<a name="l00267"></a>00267 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00268"></a>00268 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00269"></a>00269 <span class="keyword">struct </span>strategy_convex_hull<cartesian_tag, P>
-<a name="l00270"></a>00270 {
-<a name="l00271"></a>00271 <span class="keyword">typedef</span> strategy::convex_hull::graham<P> <a class="code" href="structggl_1_1strategy__convex__hull.html#ec3cbad2b86bbd620de9d6c669863f32">type</a>;
-<a name="l00272"></a>00272 };
-<a name="l00273"></a>00273 <span class="preprocessor">#endif</span>
-<a name="l00274"></a>00274 <span class="preprocessor"></span>
-<a name="l00275"></a>00275 } <span class="comment">// namespace ggl</span>
-<a name="l00276"></a>00276
-<a name="l00277"></a>00277
-<a name="l00278"></a>00278 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_CONVEX_HULL_HPP</span>
+<a name="l00258"></a>00258 <span class="keywordflow">else</span>
+<a name="l00259"></a>00259 {
+<a name="l00260"></a>00260 <span class="keywordflow">return</span>;
+<a name="l00261"></a>00261 }
+<a name="l00262"></a>00262 }
+<a name="l00263"></a>00263 }
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> OutputIterator>
+<a name="l00266"></a>00266 <span class="keyword">inline</span> <span class="keywordtype">void</span> get_range_forward(Range <span class="keyword">const</span>& range, OutputIterator out)
+<a name="l00267"></a>00267 {
+<a name="l00268"></a>00268 <span class="keywordflow">for</span> (iterator it = range.begin(); it != range.end(); ++it, ++out)
+<a name="l00269"></a>00269 {
+<a name="l00270"></a>00270 *out = *it;
+<a name="l00271"></a>00271 }
+<a name="l00272"></a>00272 }
+<a name="l00273"></a>00273
+<a name="l00274"></a>00274 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> OutputIterator>
+<a name="l00275"></a>00275 <span class="keyword">inline</span> <span class="keywordtype">void</span> get_range_reverse(Range <span class="keyword">const</span>& range, OutputIterator out)
+<a name="l00276"></a>00276 {
+<a name="l00277"></a>00277 <span class="comment">// STL Port does not accept iterating from rbegin+1 to rend</span>
+<a name="l00278"></a>00278 std::size_t size = range.size();
+<a name="l00279"></a>00279 <span class="keywordflow">if</span> (size > 0)
+<a name="l00280"></a>00280 {
+<a name="l00281"></a>00281 rev_iterator it = range.rbegin() + 1;
+<a name="l00282"></a>00282 <span class="keywordflow">for</span> (std::size_t i = 1; i < size; ++i, ++it, ++out)
+<a name="l00283"></a>00283 {
+<a name="l00284"></a>00284 *out = *it;
+<a name="l00285"></a>00285 }
+<a name="l00286"></a>00286 }
+<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 }} <span class="comment">// namespace strategy::convex_hull</span>
+<a name="l00292"></a>00292
+<a name="l00293"></a>00293
+<a name="l00294"></a>00294 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00295"></a>00295 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P>
+<a name="l00296"></a>00296 <span class="keyword">struct </span>strategy_convex_hull<cartesian_tag, P>
+<a name="l00297"></a>00297 {
+<a name="l00298"></a>00298 <span class="keyword">typedef</span> strategy::convex_hull::graham<P> <a class="code" href="structggl_1_1strategy__convex__hull.html#ec3cbad2b86bbd620de9d6c669863f32">type</a>;
+<a name="l00299"></a>00299 };
+<a name="l00300"></a>00300 <span class="preprocessor">#endif</span>
+<a name="l00301"></a>00301 <span class="preprocessor"></span>
+<a name="l00302"></a>00302 } <span class="comment">// namespace ggl</span>
+<a name="l00303"></a>00303
+<a name="l00304"></a>00304
+<a name="l00305"></a>00305 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_CONVEX_HULL_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/agn__simplify_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -69,7 +69,7 @@
<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><a class="code" href="namespaceggl_1_1strategy_1_1simplify.html">00030</a> <span class="keyword">namespace </span><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>
+<a name="l00030"></a><a class="code" href="namespaceggl_1_1strategy_1_1simplify.html">00030</a> <span class="keyword">namespace </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>
<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
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -56,200 +56,239 @@
<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="calculate__null_8hpp.html">ggl/algorithms/detail/calculate_null.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="exterior__ring_8hpp.html">ggl/core/exterior_ring.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 <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="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="nsphere__concept_8hpp.html">ggl/core/concepts/nsphere_concept.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 <span class="preprocessor">#include <<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>></span>
-<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
-<a name="l00048"></a>00048 <span class="keyword">namespace </span>ggl
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a> {
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keyword">template</span><<span class="keyword">typename</span> B, <span class="keyword">typename</span> S>
-<a name="l00055"></a>00055 <span class="keyword">struct </span>box_area
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 <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="l00058"></a>00058
-<a name="l00059"></a>00059 <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="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="comment">// Currently only works for Cartesian boxes</span>
-<a name="l00062"></a>00062 <span class="comment">// Todo: use strategy</span>
-<a name="l00063"></a>00063 <span class="comment">// Todo: use concept</span>
-<a name="l00064"></a>00064 assert_dimension<B, 2>();
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 return_type <span class="keyword">const</span> dx = get<max_corner, 0>(b) - get<min_corner, 0>(b);
-<a name="l00067"></a>00067 return_type <span class="keyword">const</span> dy = get<max_corner, 1>(b) - get<min_corner, 1>(b);
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="keywordflow">return</span> dx * dy;
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071 };
+<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="strategies_8hpp.html">ggl/strategies/strategies.hpp</a>></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="loop_8hpp.html">ggl/util/loop.hpp</a>></span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="math_8hpp.html">ggl/util/math.hpp</a>></span>
+<a name="l00029"></a>00029
+<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__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a> {
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">template</span><<span class="keyword">typename</span> B, <span class="keyword">typename</span> S>
+<a name="l00059"></a>00059 <span class="keyword">struct </span>box_area
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <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="l00062"></a>00062
+<a name="l00063"></a>00063 <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="l00064"></a>00064 {
+<a name="l00065"></a>00065 <span class="comment">// Currently only works for Cartesian boxes</span>
+<a name="l00066"></a>00066 <span class="comment">// Todo: use strategy</span>
+<a name="l00067"></a>00067 <span class="comment">// Todo: use concept</span>
+<a name="l00068"></a>00068 assert_dimension<B, 2>();
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 return_type <span class="keyword">const</span> dx = get<max_corner, 0>(b) - get<min_corner, 0>(b);
+<a name="l00071"></a>00071 return_type <span class="keyword">const</span> dy = get<max_corner, 1>(b) - get<min_corner, 1>(b);
<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> C, <span class="keyword">typename</span> S>
-<a name="l00075"></a>00075 <span class="keyword">struct </span>circle_area
-<a name="l00076"></a>00076 {
-<a name="l00077"></a>00077 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<C>::type coordinate_type;
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 <span class="comment">// Returning the coordinate precision, but if integer, returning a double</span>
-<a name="l00080"></a>00080 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
-<a name="l00081"></a>00081 <
-<a name="l00082"></a>00082 boost::is_integral<coordinate_type>::type::value,
-<a name="l00083"></a>00083 double,
-<a name="l00084"></a>00084 coordinate_type
-<a name="l00085"></a>00085 >::type return_type;
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 <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="l00088"></a>00088 {
-<a name="l00089"></a>00089 <span class="comment">// Currently only works for Cartesian circles</span>
-<a name="l00090"></a>00090 <span class="comment">// Todo: use strategy</span>
-<a name="l00091"></a>00091 <span class="comment">// Todo: use concept</span>
-<a name="l00092"></a>00092 assert_dimension<C, 2>();
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 return_type r = get_radius<0>(c);
-<a name="l00095"></a>00095 r *= r * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math::pi</a>;
-<a name="l00096"></a>00096 <span class="keywordflow">return</span> r;
-<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">// Area of a linear linear_ring, assuming a closed linear_ring</span>
-<a name="l00102"></a>00102 <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> S>
-<a name="l00103"></a>00103 <span class="keyword">struct </span>ring_area
-<a name="l00104"></a>00104 {
-<a name="l00105"></a>00105 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
-<a name="l00106"></a>00106 <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="l00107"></a>00107 {
-<a name="l00108"></a>00108 assert_dimension<R, 2>();
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="comment">// A closed linear_ring has at least four points, if not there is no area</span>
-<a name="l00111"></a>00111 <span class="keywordflow">if</span> (boost::size(ring) >= 4)
-<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 <span class="keyword">typename</span> S::state_type state_type;
-<a name="l00114"></a>00114 <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="l00115"></a>00115 {
-<a name="l00116"></a>00116 <span class="keywordflow">return</span> state_type.area();
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119
-<a name="l00120"></a>00120 <span class="keywordflow">return</span> type();
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122 };
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 <span class="comment">// Area of a polygon, either clockwise or anticlockwise</span>
-<a name="l00125"></a>00125 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy>
-<a name="l00126"></a>00126 <span class="keyword">class </span>polygon_area
-<a name="l00127"></a>00127 {
-<a name="l00128"></a>00128 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type type;
-<a name="l00129"></a>00129 <span class="keyword">static</span> <span class="keyword">inline</span> type call_abs(type <span class="keyword">const</span>& v)
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <span class="preprocessor">#if defined(NUMERIC_ADAPTOR_INCLUDED)</span>
-<a name="l00132"></a>00132 <span class="preprocessor"></span> <span class="keywordflow">return</span> boost::abs(v);
-<a name="l00133"></a>00133 <span class="preprocessor">#else</span>
-<a name="l00134"></a>00134 <span class="preprocessor"></span> <span class="keywordflow">return</span> std::abs(v);
-<a name="l00135"></a>00135 <span class="preprocessor">#endif</span>
-<a name="l00136"></a>00136 <span class="preprocessor"></span> }
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="keyword">public</span>:
-<a name="l00139"></a>00139 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(Polygon <span class="keyword">const</span>& poly,
-<a name="l00140"></a>00140 Strategy <span class="keyword">const</span>& strategy)
-<a name="l00141"></a>00141 {
-<a name="l00142"></a>00142 assert_dimension<Polygon, 2>();
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Polygon>::type ring_type;
-<a name="l00145"></a>00145 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00146"></a>00146 <
-<a name="l00147"></a>00147 <span class="keyword">typename</span> interior_type<Polygon>::type
-<a name="l00148"></a>00148 >::type iterator_type;
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 type a = call_abs(
-<a name="l00151"></a>00151 ring_area<ring_type, Strategy>::apply(<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="l00152"></a>00152
-<a name="l00153"></a>00153 <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="l00154"></a>00154 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="l00155"></a>00155 {
-<a name="l00156"></a>00156 a -= call_abs(ring_area<ring_type, Strategy>::apply(*it, strategy));
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158 <span class="keywordflow">return</span> a;
-<a name="l00159"></a>00159 }
-<a name="l00160"></a>00160 };
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 }} <span class="comment">// namespace detail::area</span>
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> dx * dy;
+<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> C, <span class="keyword">typename</span> S>
+<a name="l00079"></a>00079 <span class="keyword">struct </span>circle_area
+<a name="l00080"></a>00080 {
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<C>::type coordinate_type;
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="comment">// Returning the coordinate precision, but if integer, returning a double</span>
+<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::mpl::if_c
+<a name="l00085"></a>00085 <
+<a name="l00086"></a>00086 boost::is_integral<coordinate_type>::type::value,
+<a name="l00087"></a>00087 double,
+<a name="l00088"></a>00088 coordinate_type
+<a name="l00089"></a>00089 >::type return_type;
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <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="l00092"></a>00092 {
+<a name="l00093"></a>00093 <span class="comment">// Currently only works for Cartesian circles</span>
+<a name="l00094"></a>00094 <span class="comment">// Todo: use strategy</span>
+<a name="l00095"></a>00095 <span class="comment">// Todo: use concept</span>
+<a name="l00096"></a>00096 assert_dimension<C, 2>();
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 return_type r = get_radius<0>(c);
+<a name="l00099"></a>00099 r *= r * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">ggl::math::pi</a>;
+<a name="l00100"></a>00100 <span class="keywordflow">return</span> r;
+<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">// Area of a linear linear_ring</span>
+<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> R,
+<a name="l00109"></a>00109 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00110"></a>00110 <span class="comment">// closing_selector Closed -- for now assuming CLOSED, p(0) == p(n-1)</span>
+<a name="l00111"></a>00111 <span class="keyword">typename</span> S
+<a name="l00112"></a>00112 >
+<a name="l00113"></a>00113 <span class="keyword">struct </span>ring_area
+<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> R, <span class="keyword">typename</span> S>
+<a name="l00118"></a>00118 <span class="keyword">struct </span>ring_area<R, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, S>
+<a name="l00119"></a>00119 {
+<a name="l00120"></a>00120 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
+<a name="l00121"></a>00121 <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="l00122"></a>00122 {
+<a name="l00123"></a>00123 assert_dimension<R, 2>();
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="comment">// A closed linear_ring has at least four points,</span>
+<a name="l00126"></a>00126 <span class="comment">// if not, there is no (zero) area</span>
+<a name="l00127"></a>00127 <span class="keywordflow">if</span> (boost::size(ring) >= 4)
+<a name="l00128"></a>00128 {
+<a name="l00129"></a>00129 <span class="keyword">typename</span> S::state_type state_type;
+<a name="l00130"></a>00130 <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="l00131"></a>00131 {
+<a name="l00132"></a>00132 <span class="keywordflow">return</span> state_type.area();
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 <span class="keywordflow">return</span> type();
+<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> R, <span class="keyword">typename</span> S>
+<a name="l00141"></a>00141 <span class="keyword">struct </span>ring_area<R, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a>, S>
+<a name="l00142"></a>00142 {
+<a name="l00143"></a>00143 <span class="keyword">typedef</span> <span class="keyword">typename</span> S::return_type type;
+<a name="l00144"></a>00144 <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="l00145"></a>00145 {
+<a name="l00146"></a>00146 <span class="comment">// Counter clockwise rings negate the area result</span>
+<a name="l00147"></a>00147 <span class="keywordflow">return</span> -ring_area<R, clockwise, S>::apply(ring, strategy);
+<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">// Area of a polygon, either clockwise or anticlockwise</span>
+<a name="l00153"></a>00153 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00154"></a>00154 <span class="keyword">class </span>polygon_area
+<a name="l00155"></a>00155 {
+<a name="l00156"></a>00156 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type type;
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 <span class="keyword">public</span>:
+<a name="l00159"></a>00159 <span class="keyword">static</span> <span class="keyword">inline</span> type apply(Polygon <span class="keyword">const</span>& poly,
+<a name="l00160"></a>00160 Strategy <span class="keyword">const</span>& strategy)
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 assert_dimension<Polygon, 2>();
<a name="l00163"></a>00163
-<a name="l00164"></a>00164 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00165"></a>00165 <span class="preprocessor"></span>
-<a name="l00166"></a>00166 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00167"></a>00167 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
-<a name="l00168"></a>00168
-<a name="l00169"></a>00169 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G, <span class="keyword">typename</span> S>
-<a name="l00170"></a>00170 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a> : detail::calculate_null<typename S::return_type, G, S> {};
-<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> G, <span class="keyword">typename</span> S>
-<a name="l00174"></a>00174 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><box_tag, G, S> : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::box_area<G, S> {};
+<a name="l00164"></a>00164 <span class="keyword">typedef</span> ring_area
+<a name="l00165"></a>00165 <
+<a name="l00166"></a>00166 <span class="keyword">typename</span> ring_type<Polygon>::type,
+<a name="l00167"></a>00167 Order,
+<a name="l00168"></a>00168 Strategy
+<a name="l00169"></a>00169 > ring_area_type;
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00172"></a>00172 <
+<a name="l00173"></a>00173 <span class="keyword">typename</span> interior_type<Polygon>::type
+<a name="l00174"></a>00174 >::type iterator_type;
<a name="l00175"></a>00175
-<a name="l00176"></a>00176
-<a name="l00177"></a>00177 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> S>
-<a name="l00178"></a>00178 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><nsphere_tag, G, S> : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::circle_area<G, S> {};
-<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> G, <span class="keyword">typename</span> S>
-<a name="l00184"></a>00184 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><ring_tag, G, S> : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::ring_area<G, S> {};
-<a name="l00185"></a>00185
-<a name="l00186"></a>00186 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> S>
-<a name="l00187"></a>00187 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><polygon_tag, G, S> : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::polygon_area<G, S> {};
+<a name="l00176"></a>00176 type a = ring_area_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), strategy);
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178 <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="l00179"></a>00179 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="l00180"></a>00180 {
+<a name="l00181"></a>00181 <span class="comment">// Add ring-area (area of hole should be negative</span>
+<a name="l00182"></a>00182 <span class="comment">// (because other order))</span>
+<a name="l00183"></a>00183 a += ring_area_type::apply(*it, strategy);
+<a name="l00184"></a>00184 }
+<a name="l00185"></a>00185 <span class="keywordflow">return</span> a;
+<a name="l00186"></a>00186 }
+<a name="l00187"></a>00187 };
<a name="l00188"></a>00188
-<a name="l00189"></a>00189 } <span class="comment">// namespace dispatch</span>
-<a name="l00190"></a>00190 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00191"></a>00191 <span class="preprocessor"></span>
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00194"></a><a class="code" href="structggl_1_1area__result.html">00194</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1area__result.html">area_result</a>
-<a name="l00195"></a>00195 {
-<a name="l00196"></a><a class="code" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">00196</a> <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="l00197"></a>00197 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__area.html" title="Traits class binding an area strategy to a coordinate system.">strategy_area</a>
-<a name="l00198"></a>00198 <
-<a name="l00199"></a>00199 <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="l00200"></a>00200 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>
-<a name="l00201"></a><a class="code" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">00201</a> >::type <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy_type</a>;
-<a name="l00202"></a><a class="code" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">00202</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type <a class="code" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">return_type</a>;
-<a name="l00203"></a>00203 };
+<a name="l00189"></a>00189 }} <span class="comment">// namespace detail::area</span>
+<a name="l00190"></a>00190
+<a name="l00191"></a>00191 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00192"></a>00192 <span class="preprocessor"></span>
+<a name="l00193"></a>00193 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00194"></a>00194 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch {
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <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="l00197"></a>00197 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>
+<a name="l00198"></a>00198 : detail::calculate_null
+<a name="l00199"></a>00199 <
+<a name="l00200"></a>00200 typename Strategy::return_type,
+<a name="l00201"></a>00201 Geometry,
+<a name="l00202"></a>00202 Strategy
+<a name="l00203"></a>00203 > {};
<a name="l00204"></a>00204
-<a name="l00216"></a>00216 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00217"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">00217</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1area__result.html">area_result<Geometry>::return_type</a> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(Geometry <span class="keyword">const</span>& geometry)
-<a name="l00218"></a>00218 {
-<a name="l00219"></a>00219 <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="l00220"></a>00220
-<a name="l00221"></a>00221 <span class="keywordflow">return</span> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">dispatch::area</a>
-<a name="l00222"></a>00222 <
-<a name="l00223"></a>00223 <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="l00224"></a>00224 Geometry,
-<a name="l00225"></a>00225 strategy_type
-<a name="l00226"></a>00226 >::apply(geometry, strategy_type());
-<a name="l00227"></a>00227 }
-<a name="l00228"></a>00228
-<a name="l00238"></a>00238 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
-<a name="l00239"></a><a class="code" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">00239</a> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(
-<a name="l00240"></a>00240 Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
-<a name="l00241"></a>00241 {
-<a name="l00242"></a>00242 <span class="keywordflow">return</span> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">dispatch::area</a>
-<a name="l00243"></a>00243 <
-<a name="l00244"></a>00244 <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="l00245"></a>00245 Geometry,
-<a name="l00246"></a>00246 Strategy
-<a name="l00247"></a>00247 >::apply(geometry, strategy);
-<a name="l00248"></a>00248 }
-<a name="l00249"></a>00249
-<a name="l00250"></a>00250 } <span class="comment">// namespace ggl</span>
-<a name="l00251"></a>00251
-<a name="l00252"></a>00252 <span class="preprocessor">#endif // GGL_ALGORITHMS_AREA_HPP</span>
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00207"></a>00207 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><box_tag, Geometry, Order, Strategy>
+<a name="l00208"></a>00208 : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::box_area<Geometry, Strategy> {};
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00212"></a>00212 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><nsphere_tag, Geometry, Order, Strategy>
+<a name="l00213"></a>00213 : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::circle_area<Geometry, Strategy> {};
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216 <span class="comment">// Area of ring currently returns area of closed rings but it might be argued</span>
+<a name="l00217"></a>00217 <span class="comment">// that it is 0.0, because a ring is just a line.</span>
+<a name="l00218"></a>00218 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00219"></a>00219 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><ring_tag, Geometry, Order, Strategy>
+<a name="l00220"></a>00220 : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::ring_area<Geometry, Order, Strategy> {};
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00223"></a>00223 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><polygon_tag, Geometry, Order, Strategy>
+<a name="l00224"></a>00224 : detail::<a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>::polygon_area<Geometry, Order, Strategy> {};
+<a name="l00225"></a>00225
+<a name="l00226"></a>00226 } <span class="comment">// namespace dispatch</span>
+<a name="l00227"></a>00227 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00228"></a>00228 <span class="preprocessor"></span>
+<a name="l00229"></a>00229
+<a name="l00230"></a>00230 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00231"></a><a class="code" href="structggl_1_1area__result.html">00231</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1area__result.html">area_result</a>
+<a name="l00232"></a>00232 {
+<a name="l00233"></a><a class="code" href="structggl_1_1area__result.html#d6428313802f153cd99b803ecde23872">00233</a> <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="l00234"></a>00234 <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1strategy__area.html" title="Traits class binding an area strategy to a coordinate system.">strategy_area</a>
+<a name="l00235"></a>00235 <
+<a name="l00236"></a>00236 <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="l00237"></a>00237 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a>
+<a name="l00238"></a><a class="code" href="structggl_1_1area__result.html#ccb03cf635c157788a99c33d8f3c3a1e">00238</a> >::type <a class="code" href="structggl_1_1strategy_1_1not__implemented.html" title="Indicate compiler/library user that strategy is not implemented.">strategy_type</a>;
+<a name="l00239"></a><a class="code" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">00239</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_type::return_type <a class="code" href="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">return_type</a>;
+<a name="l00240"></a>00240 };
+<a name="l00241"></a>00241
+<a name="l00253"></a>00253 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00254"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">00254</a> <span class="keyword">inline</span> <span class="keyword">typename</span> <a class="code" href="structggl_1_1area__result.html">area_result<Geometry>::return_type</a> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(Geometry <span class="keyword">const</span>& geometry)
+<a name="l00255"></a>00255 {
+<a name="l00256"></a>00256 <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="l00257"></a>00257
+<a name="l00258"></a>00258 <span class="keywordflow">return</span> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">dispatch::area</a>
+<a name="l00259"></a>00259 <
+<a name="l00260"></a>00260 <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="l00261"></a>00261 Geometry,
+<a name="l00262"></a>00262 <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="l00263"></a>00263 strategy_type
+<a name="l00264"></a>00264 >::apply(geometry, strategy_type());
+<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> Strategy>
+<a name="l00277"></a><a class="code" href="group__area.html#g7e0783c73b5f561707c50b445a01b833">00277</a> <span class="keyword">inline</span> <span class="keyword">typename</span> Strategy::return_type <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a>(
+<a name="l00278"></a>00278 Geometry <span class="keyword">const</span>& geometry, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00279"></a>00279 {
+<a name="l00280"></a>00280 <span class="keywordflow">return</span> <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">dispatch::area</a>
+<a name="l00281"></a>00281 <
+<a name="l00282"></a>00282 <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="l00283"></a>00283 Geometry,
+<a name="l00284"></a>00284 <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="l00285"></a>00285 Strategy
+<a name="l00286"></a>00286 >::apply(geometry, strategy);
+<a name="l00287"></a>00287 }
+<a name="l00288"></a>00288
+<a name="l00289"></a>00289 } <span class="comment">// namespace ggl</span>
+<a name="l00290"></a>00290
+<a name="l00291"></a>00291 <span class="preprocessor">#endif // GGL_ALGORITHMS_AREA_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -101,7 +101,7 @@
<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#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(ring.front(), c);
+<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>;
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2convex__hull_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -50,10 +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 Geometry1 , typename Geometry2 > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">ggl::convex_hull</a> (Geometry1 const &geometry, Geometry2 &out)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , 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__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">ggl::convex_hull</a> (Geometry const &geometry, OutputIterator out)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">ggl::convex_hull_inserter</a> (Geometry const &geometry, OutputIterator out)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry, output-iterator version. <br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -52,96 +52,205 @@
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ALGORITHMS_CONVEX_HULL_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/requires.hpp></span>
-<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="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.hpp</a>></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
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="core_2is__multi_8hpp.html">ggl/core/is_multi.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
+<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="l00021"></a>00021
-<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 <span class="preprocessor">#include <<a class="code" href="as__range_8hpp.html">ggl/util/as_range.hpp</a>></span>
-<a name="l00024"></a>00024
+<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="l00044"></a>00044 <span class="keyword">namespace </span>ggl {
-<a name="l00045"></a>00045
-<a name="l00046"></a>00046 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a> {
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator>
-<a name="l00050"></a>00050 <span class="keyword">struct </span>hull
-<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(Geometry <span class="keyword">const</span>& geometry,
-<a name="l00053"></a>00053 OutputIterator out)
-<a name="l00054"></a>00054 {
-<a name="l00055"></a>00055 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Geometry>::type point_type;
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_convex_hull
-<a name="l00058"></a>00058 <
-<a name="l00059"></a>00059 <span class="keyword">typename</span> cs_tag<point_type>::type,
-<a name="l00060"></a>00060 point_type
-<a name="l00061"></a>00061 >::type strategy_type;
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 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><<span class="keyword">typename</span> as_range_type<Geometry>::type>(geometry));
-<a name="l00064"></a>00064 s.get(out);
-<a name="l00065"></a>00065 <span class="keywordflow">return</span> out;
-<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">// namespace detail::convex_hull</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 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 <span class="keyword">template</span>
-<a name="l00078"></a>00078 <
-<a name="l00079"></a>00079 <span class="keyword">typename</span> GeometryTag,
-<a name="l00080"></a>00080 <span class="keywordtype">bool</span> IsMulti,
-<a name="l00081"></a>00081 <span class="keyword">typename</span> Geometry,
-<a name="l00082"></a>00082 <span class="keyword">typename</span> OutputIterator
-<a name="l00083"></a>00083 >
-<a name="l00084"></a>00084 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a> {};
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> OutputIterator>
-<a name="l00087"></a>00087 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a><linestring_tag, false, Linestring, OutputIterator>
-<a name="l00088"></a>00088 : detail::<a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull<Linestring, OutputIterator>
-<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> Ring, <span class="keyword">typename</span> OutputIterator>
-<a name="l00092"></a>00092 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a><ring_tag, false, Ring, OutputIterator>
-<a name="l00093"></a>00093 : detail::<a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull<Ring, OutputIterator>
-<a name="l00094"></a>00094 {};
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> OutputIterator>
-<a name="l00097"></a>00097 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a><polygon_tag, false, Polygon, OutputIterator>
-<a name="l00098"></a>00098 : detail::<a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull<Polygon, OutputIterator>
-<a name="l00099"></a>00099 {};
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 } <span class="comment">// namespace dispatch</span>
-<a name="l00102"></a>00102 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00103"></a>00103 <span class="preprocessor"></span>
-<a name="l00111"></a>00111 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> OutputIterator>
-<a name="l00112"></a><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">00112</a> <span class="keyword">inline</span> OutputIterator <a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a>(Geometry <span class="keyword">const</span>& geometry, OutputIterator out)
-<a name="l00113"></a>00113 {
-<a name="l00114"></a>00114 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type ncg_type;
-<a name="l00115"></a>00115
-<a name="l00116"></a>00116 <span class="keywordflow">return</span> <a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">dispatch::convex_hull</a>
-<a name="l00117"></a>00117 <
-<a name="l00118"></a>00118 <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="l00119"></a>00119 <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="l00120"></a>00120 Geometry,
-<a name="l00121"></a>00121 OutputIterator
-<a name="l00122"></a>00122 >::apply(geometry, out);
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125 } <span class="comment">// namespace ggl</span>
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <span class="preprocessor">#endif // GGL_ALGORITHMS_CONVEX_HULL_HPP</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 <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="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="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="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="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>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -52,155 +52,183 @@
<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
-<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="core_2ring__type_8hpp.html">ggl/core/ring_type.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="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="algorithms_2area_8hpp.html">ggl/algorithms/area.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="disjoint_8hpp.html">ggl/algorithms/disjoint.hpp</a>></span>
-<a name="l00026"></a>00026
+<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="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#de63f8bac74d1e2a56c2d2712eceb8af">correct</a> {
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="comment">// correct an box: make min/max are correct</span>
-<a name="l00035"></a>00035 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
-<a name="l00036"></a>00036 <span class="keyword">inline</span> <span class="keywordtype">void</span> correct_box(B& b)
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 <span class="comment">// Currently only for Cartesian coordinates</span>
-<a name="l00039"></a>00039 <span class="comment">// TODO: adapt using strategies</span>
-<a name="l00040"></a>00040 <span class="comment">// TODO: adapt using traits</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#b723a443a97f7c4ed7c47ac96d7e29ee">coordinate_type<B>::type</a> coordinate_type;
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="keywordflow">if</span> (get<min_corner, 0>(b) > get<max_corner, 0>(b))
-<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 coordinate_type max_value = get<min_corner, 0>(b);
-<a name="l00046"></a>00046 coordinate_type min_value = get<max_corner, 0>(b);
-<a name="l00047"></a>00047 set<min_corner, 0>(b, min_value);
-<a name="l00048"></a>00048 set<max_corner, 0>(b, max_value);
-<a name="l00049"></a>00049 }
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="keywordflow">if</span> (get<min_corner, 1>(b) > get<max_corner, 1>(b))
-<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 coordinate_type max_value = get<min_corner, 1>(b);
-<a name="l00054"></a>00054 coordinate_type min_value = get<max_corner, 1>(b);
-<a name="l00055"></a>00055 set<min_corner, 1>(b, min_value);
-<a name="l00056"></a>00056 set<max_corner, 1>(b, max_value);
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058 }
+<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="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="l00059"></a>00059
-<a name="l00060"></a>00060 <span class="comment">// close a linear_ring, if not closed</span>
-<a name="l00061"></a>00061 <span class="keyword">template</span> <<span class="keyword">typename</span> R>
-<a name="l00062"></a>00062 <span class="keyword">inline</span> <span class="keywordtype">void</span> ensure_closed_ring(R& r)
+<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="keywordflow">if</span> (boost::size(r) > 2)
-<a name="l00065"></a>00065 {
-<a name="l00066"></a>00066 <span class="comment">// check if closed, if not, close it</span>
-<a name="l00067"></a>00067 <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="l00068"></a>00068 {
-<a name="l00069"></a>00069 r.push_back(r.front());
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071 }
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 <span class="comment">// correct a polygon: normalizes all rings, sets outer linear_ring clockwise, sets all</span>
-<a name="l00075"></a>00075 <span class="comment">// inner rings counter clockwise</span>
-<a name="l00076"></a>00076 <span class="keyword">template</span> <<span class="keyword">typename</span> Y>
-<a name="l00077"></a>00077 <span class="keyword">inline</span> <span class="keywordtype">void</span> correct_polygon(Y& poly)
-<a name="l00078"></a>00078 {
-<a name="l00079"></a>00079 <span class="keyword">typename</span> ring_type<Y>::type& outer = <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="l00080"></a>00080 ensure_closed_ring(outer);
-<a name="l00081"></a>00081
-<a name="l00082"></a>00082 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Y>::type point_type;
-<a name="l00083"></a>00083 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Y>::type ring_type;
-<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_area
-<a name="l00085"></a>00085 <
-<a name="l00086"></a>00086 <span class="keyword">typename</span> cs_tag<point_type>::type,
-<a name="l00087"></a>00087 point_type
-<a name="l00088"></a>00088 >::type strategy_type;
-<a name="l00089"></a>00089
-<a name="l00090"></a>00090 strategy_type strategy;
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 <span class="keywordflow">if</span> (detail::area::ring_area<ring_type, strategy_type>::apply(outer, strategy) < 0)
-<a name="l00093"></a>00093 {
-<a name="l00094"></a>00094 std::reverse(boost::begin(outer), boost::end(outer));
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
-<a name="l00098"></a>00098 <
-<a name="l00099"></a>00099 <span class="keyword">typename</span> interior_type<Y>::type
-<a name="l00100"></a>00100 >::type iterator_type;
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <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="l00103"></a>00103 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="l00104"></a>00104 {
-<a name="l00105"></a>00105 ensure_closed_ring(*it);
-<a name="l00106"></a>00106 <span class="keywordflow">if</span> (detail::area::ring_area<ring_type, strategy_type>::apply(*it, strategy) > 0)
-<a name="l00107"></a>00107 {
-<a name="l00108"></a>00108 std::reverse(boost::begin(*it), boost::end(*it));
-<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="comment">// namespace detail::correct</span>
-<a name="l00114"></a>00114 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00115"></a>00115 <span class="preprocessor"></span>
-<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> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G>
-<a name="l00121"></a>00121 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a> {};
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
-<a name="l00124"></a>00124 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a><box_tag, B>
-<a name="l00125"></a>00125 {
-<a name="l00126"></a>00126 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(B& box)
-<a name="l00127"></a>00127 {
-<a name="l00128"></a>00128 detail::correct::correct_box(box);
-<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> R>
-<a name="l00133"></a>00133 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a><ring_tag, R>
-<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(R& ring)
-<a name="l00136"></a>00136 {
-<a name="l00137"></a>00137 detail::correct::ensure_closed_ring(ring);
-<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> P>
-<a name="l00142"></a>00142 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a><polygon_tag, P>
-<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(P& poly)
-<a name="l00145"></a>00145 {
-<a name="l00146"></a>00146 detail::correct::correct_polygon(poly);
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148 };
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150 } <span class="comment">// namespace dispatch</span>
-<a name="l00151"></a>00151 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00152"></a>00152 <span class="preprocessor"></span>
-<a name="l00153"></a>00153 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00154"></a><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">00154</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>(G& geometry)
-<a name="l00155"></a>00155 {
-<a name="l00156"></a>00156 dispatch::correct<typename tag<G>::type, G>::apply(geometry);
-<a name="l00157"></a>00157 }
+<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="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="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="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="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="comment">// namespace ggl</span>
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="preprocessor">#endif // GGL_ALGORITHMS_CORRECT_HPP</span>
+<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="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="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>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -108,194 +108,195 @@
<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 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">ggl::assign_inverse</a>(mbr);
-<a name="l00105"></a>00105 <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="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.second);
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108 };
-<a name="l00109"></a>00109
+<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="l00112"></a>00112 <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> Strategy>
-<a name="l00113"></a>00113 <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="l00114"></a>00114 {
-<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<R>::type iterator_type;
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keywordflow">for</span> (iterator_type it = boost::begin(range); it != boost::end(range); it++)
-<a name="l00118"></a>00118 {
-<a name="l00119"></a>00119 strategy(*it, state);
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122
+<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="l00126"></a>00126 <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="l00127"></a>00127 <span class="keyword">struct </span>envelope_range
-<a name="l00128"></a>00128 {
-<a name="l00130"></a>00130 <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="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="keyword">typename</span> Strategy::state_type state(mbr);
-<a name="l00133"></a>00133 envelope_range_state(range, strategy, state);
-<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::envelope</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>
-<a name="l00145"></a>00145 <
-<a name="l00146"></a>00146 <span class="keyword">typename</span> Tag1, <span class="keyword">typename</span> Tag2,
-<a name="l00147"></a>00147 <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Box,
-<a name="l00148"></a>00148 <span class="keyword">typename</span> Strategy
-<a name="l00149"></a>00149 >
-<a name="l00150"></a>00150 <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="l00151"></a>00151
+<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="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 <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="l00154"></a>00154 <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="l00155"></a>00155 : 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="l00156"></a>00156 {
-<a name="l00157"></a>00157 <span class="keyword">private</span>:
-<a name="l00158"></a>00158 BOOST_CONCEPT_ASSERT( (concept::ConstPoint<P>) );
-<a name="l00159"></a>00159 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00160"></a>00160 };
-<a name="l00161"></a>00161
+<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 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> Strategy>
-<a name="l00164"></a>00164 <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="l00165"></a>00165 {
-<a name="l00171"></a>00171 <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="l00172"></a>00172 {
-<a name="l00173"></a>00173 mbr = b;
-<a name="l00174"></a>00174 }
-<a name="l00175"></a>00175
-<a name="l00176"></a>00176 <span class="keyword">private</span>:
-<a name="l00177"></a>00177 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00178"></a>00178 };
-<a name="l00179"></a>00179
+<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 <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="l00182"></a>00182 <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="l00183"></a>00183 : 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="l00184"></a>00184 {};
-<a name="l00185"></a>00185
+<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 <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="l00188"></a>00188 <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="l00189"></a>00189 : 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="l00190"></a>00190 {
-<a name="l00191"></a>00191 <span class="keyword">private</span>:
-<a name="l00192"></a>00192 BOOST_CONCEPT_ASSERT( (concept::ConstNsphere<S>) );
-<a name="l00193"></a>00193 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00194"></a>00194 };
-<a name="l00195"></a>00195
-<a name="l00196"></a>00196 <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="l00197"></a>00197 <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="l00198"></a>00198 : 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="l00199"></a>00199 {
-<a name="l00200"></a>00200 <span class="keyword">private</span>:
-<a name="l00201"></a>00201 BOOST_CONCEPT_ASSERT( (concept::ConstLinestring<L>) );
-<a name="l00202"></a>00202 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00203"></a>00203 };
-<a name="l00204"></a>00204
+<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 <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="l00207"></a>00207 <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="l00208"></a>00208 : 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="l00209"></a>00209 {
-<a name="l00210"></a>00210 <span class="keyword">private</span>:
-<a name="l00211"></a>00211 BOOST_CONCEPT_ASSERT( (concept::ConstRing<R>) );
-<a name="l00212"></a>00212 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00213"></a>00213 };
-<a name="l00214"></a>00214
+<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 <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="l00217"></a>00217 <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="l00218"></a>00218 {
-<a name="l00219"></a>00219 <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="l00220"></a>00220 {
-<a name="l00221"></a>00221 <span class="comment">// For polygon inspecting outer linear_ring is sufficient</span>
-<a name="l00222"></a>00222
-<a name="l00223"></a>00223 detail::envelope::envelope_range
-<a name="l00224"></a>00224 <
-<a name="l00225"></a>00225 <span class="keyword">typename</span> ring_type<P>::type,
-<a name="l00226"></a>00226 B,
-<a name="l00227"></a>00227 Strategy
-<a name="l00228"></a>00228 >::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="l00229"></a>00229 }
-<a name="l00230"></a>00230
-<a name="l00231"></a>00231 <span class="keyword">private</span>:
-<a name="l00232"></a>00232 BOOST_CONCEPT_ASSERT( (concept::ConstPolygon<P>) );
-<a name="l00233"></a>00233 BOOST_CONCEPT_ASSERT( (concept::Box<B>) );
-<a name="l00234"></a>00234 };
-<a name="l00235"></a>00235
+<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="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 } <span class="comment">// namespace dispatch</span>
-<a name="l00238"></a>00238 <span class="preprocessor">#endif</span>
-<a name="l00239"></a>00239 <span class="preprocessor"></span>
-<a name="l00240"></a>00240
-<a name="l00248"></a>00248 <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="l00249"></a><a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36">00249</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="l00250"></a>00250 {
-<a name="l00251"></a>00251 <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">dispatch::envelope</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<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="l00254"></a>00254 G, B, S
-<a name="l00255"></a>00255 >::apply(geometry, mbr, strategy);
-<a name="l00256"></a>00256 }
-<a name="l00257"></a>00257
+<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="l00260"></a>00260
-<a name="l00273"></a>00273 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> B>
-<a name="l00274"></a><a class="code" href="group__envelope.html#g89671917cfb1753f65d4bcc2fc334bf9">00274</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="l00275"></a>00275 {
-<a name="l00276"></a>00276 <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="l00277"></a>00277 <
-<a name="l00278"></a>00278 <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="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<B>::type</a>>::type,
-<a name="l00280"></a>00280 <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="l00281"></a>00281 B
-<a name="l00282"></a>00282 >::type strategy;
-<a name="l00283"></a>00283
-<a name="l00284"></a>00284 <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="l00285"></a>00285 }
-<a name="l00286"></a>00286
+<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="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="l00294"></a>00294 <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="l00295"></a><a class="code" href="group__envelope.html#g0b2b7b9ef2bc07f4b45695606f3d292d">00295</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="l00296"></a>00296 {
-<a name="l00297"></a>00297 B <a class="code" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>;
-<a name="l00298"></a>00298 <a class="code" href="group__envelope.html#g376bdcefa676ef2b705656b690767b36" title="Calculate envelope of a geometry, using a specified strategy.">dispatch::envelope</a>
-<a name="l00299"></a>00299 <
-<a name="l00300"></a>00300 <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="l00301"></a>00301 G, B, S
-<a name="l00302"></a>00302 >::apply(geometry, box, strategy);
-<a name="l00303"></a>00303
-<a name="l00304"></a>00304 <span class="keywordflow">return</span> box;
-<a name="l00305"></a>00305 }
-<a name="l00306"></a>00306
+<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="l00313"></a>00313 <span class="keyword">template</span><<span class="keyword">typename</span> B, <span class="keyword">typename</span> G>
-<a name="l00314"></a><a class="code" href="group__envelope.html#g938cf2804a87e138cbf4b5b65314a3e4">00314</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="l00315"></a>00315 {
-<a name="l00316"></a>00316 <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="l00317"></a>00317 <
-<a name="l00318"></a>00318 <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="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<B>::type</a>>::type,
-<a name="l00320"></a>00320 <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="l00321"></a>00321 B
-<a name="l00322"></a>00322 >::type strategy;
-<a name="l00323"></a>00323 <span class="keywordflow">return</span> make_envelope<B>(geometry, strategy);
-<a name="l00324"></a>00324 }
-<a name="l00325"></a>00325
+<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 } <span class="comment">// namespace ggl</span>
-<a name="l00328"></a>00328
-<a name="l00329"></a>00329 <span class="preprocessor">#endif // GGL_ALGORITHMS_ENVELOPE_HPP</span>
+<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>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2get__section_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -51,9 +51,9 @@
<tr><td colspan="2"><br><h2>Functions</h2></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#g5c0732d32eb6c6154f615b3a3337f4b9">ggl::get_section</a> (Geometry const &geometry, Section const &section, typename point_const_iterator< Geometry >::type &begin, typename point_const_iterator< Geometry >::type &end)</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">ggl::get_section</a> (Geometry const &geometry, Section const &section, typename vertex_iterator< Geometry, true >::type &begin, typename vertex_iterator< Geometry, true >::type &end)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get iterators for a specified <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a>. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Get iterators for a specified <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a>. <br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -62,7 +62,7 @@
<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="iterators_2point__const__iterator_8hpp.html">ggl/iterators/point_const_iterator.hpp</a>></span>
+<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="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
@@ -77,9 +77,9 @@
<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#g5c0732d32eb6c6154f615b3a3337f4b9" title="Get iterators for a specified section.">get_section</a>
+<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_1point__const__iterator.html" title="Meta-function which defines point-const-iterator type.">ggl::point_const_iterator<Geometry>::type</a> iterator_type;
+<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 {
@@ -89,9 +89,9 @@
<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#g5c0732d32eb6c6154f615b3a3337f4b9" title="Get iterators for a specified section.">get_section</a><polygon_tag, Polygon, 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_1point__const__iterator.html" title="Meta-function which defines point-const-iterator type.">ggl::point_const_iterator<Polygon>::type</a> iterator_type;
+<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 {
@@ -112,11 +112,11 @@
<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#g5c0732d32eb6c6154f615b3a3337f4b9">00085</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9" 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_1point__const__iterator.html" title="Meta-function which defines point-const-iterator type.">point_const_iterator<Geometry>::type</a>& begin,
-<a name="l00087"></a>00087 <span class="keyword">typename</span> <a class="code" href="structggl_1_1point__const__iterator.html" title="Meta-function which defines point-const-iterator type.">point_const_iterator<Geometry>::type</a>& end)
+<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="l00089"></a>00089 <a class="code" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9" title="Get iterators for a specified section.">dispatch::get_section</a>
+<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>,
<a name="l00092"></a>00092 Geometry,
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -305,7 +305,7 @@
<a name="l00308"></a>00308 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < is.count; i++)
<a name="l00309"></a>00309 {
<a name="l00310"></a>00310 GeometryOut p;
-<a name="l00311"></a>00311 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">ggl::copy_coordinates</a>(is.intersections[i], p);
+<a name="l00311"></a>00311 <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="l00312"></a>00312 *out = p;
<a name="l00313"></a>00313 out++;
<a name="l00314"></a>00314 }
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -65,523 +65,520 @@
<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="iterators_2point__const__iterator_8hpp.html">ggl/iterators/point_const_iterator.hpp</a>></span>
-<a name="l00027"></a>00027
-<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="assign__box__corner_8hpp.html">ggl/util/assign_box_corner.hpp</a>></span>
-<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#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="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="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="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="l00109"></a>00109
-<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="structggl_1_1segment.html" title="Class segment: small 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="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="structggl_1_1segment.html" title="Class segment: small 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="l00275"></a>00275
-<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="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="l00278"></a>00278
-<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="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="l00281"></a>00281
-<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="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="l00427"></a>00427
-<a name="l00428"></a>00428 point_type ll, lr, ul, ur;
-<a name="l00429"></a>00429 <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="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 <span class="comment">// A maximum of 10 segments per section seems to give the fastest results</span>
-<a name="l00559"></a>00559 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t max_segments_per_section = 10;
-<a name="l00560"></a>00560 <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="l00561"></a>00561 <
-<a name="l00562"></a>00562 <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="l00563"></a>00563 Geometry,
-<a name="l00564"></a>00564 Sections,
-<a name="l00565"></a>00565 Sections::value,
-<a name="l00566"></a>00566 max_segments_per_section
-<a name="l00567"></a>00567 > sectionalizer_type;
-<a name="l00568"></a>00568
-<a name="l00569"></a>00569 sections.clear();
-<a name="l00570"></a>00570 sectionalizer_type::apply(geometry, sections);
-<a name="l00571"></a>00571 }
+<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="l00570"></a>00570
+<a name="l00571"></a>00571
<a name="l00572"></a>00572
<a name="l00573"></a>00573
-<a name="l00574"></a>00574
+<a name="l00574"></a>00574 } <span class="comment">// namespace ggl</span>
<a name="l00575"></a>00575
-<a name="l00576"></a>00576
-<a name="l00577"></a>00577 } <span class="comment">// namespace ggl</span>
-<a name="l00578"></a>00578
-<a name="l00579"></a>00579 <span class="preprocessor">#endif // GGL_ALGORITHMS_SECTIONALIZE_HPP</span>
+<a name="l00576"></a>00576 <span class="preprocessor">#endif // GGL_ALGORITHMS_SECTIONALIZE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/algorithms_2simplify_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 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 S > </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#g00b5a49a676c29d790764ad67e9fdfbc">ggl::simplify</a> (const G &geometry, G &out, double max_distance, S const &strategy)</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">ggl::simplify</a> (Geometry const &geometry, Geometry &out, double max_distance)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify 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">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g44130eb01685933927c05207a01a84f1">ggl::simplify</a> (const G &geometry, G &out, double max_distance)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename O , 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__simplify.html#gfac2ab8188c31cf7fab43e423884e0ed">ggl::simplify</a> (const G &geometry, O out, double max_distance, S const &strategy)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename O > </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#g188e72f668c33ac75ad08653625a7cbb">ggl::simplify</a> (const G &geometry, O out, double max_distance)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <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">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">ggl::simplify</a> (Geometry const &geometry, Geometry &out, double max_distance, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename OutputIterator > </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#g4285888f1598725bca124878ac16c656">ggl::simplify_inserter</a> (Geometry const &geometry, OutputIterator out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename OutputIterator , 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__simplify.html#gbe0df65c97527e83bcab80ec3232d45a">ggl::simplify_inserter</a> (Geometry const &geometry, OutputIterator out, double max_distance, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
</table>
</div>
<hr size="1">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -54,129 +54,129 @@
<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 <<a class="code" href="algorithms_2distance_8hpp.html">ggl/algorithms/distance.hpp</a>></span>
-<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 <span class="preprocessor">#include <<a class="code" href="agn__simplify_8hpp.html">ggl/strategies/agnostic/agn_simplify.hpp</a>></span>
-<a name="l00021"></a>00021
+<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="l00022"></a>00022
-<a name="l00046"></a>00046 <span class="keyword">namespace </span>ggl
-<a name="l00047"></a>00047 {
-<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__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a> {
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> S>
-<a name="l00053"></a>00053 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_range_strategy(R <span class="keyword">const</span>& range, OutputIterator out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>& strategy)
-<a name="l00054"></a>00054 {
-<a name="l00055"></a>00055 <span class="keywordflow">if</span> (boost::begin(range) == boost::end(range) || max_distance < 0)
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 std::copy(boost::begin(range), boost::end(range), out);
-<a name="l00058"></a>00058 }
-<a name="l00059"></a>00059 <span class="keywordflow">else</span>
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keyword">typename</span> boost::range_const_iterator<R>::type it = boost::begin(range) + 1;
-<a name="l00062"></a>00062 <span class="keywordflow">if</span> (it == boost::end(range) || it + 1 == boost::end(range))
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 std::copy(boost::begin(range), boost::end(range), out);
-<a name="l00065"></a>00065 }
-<a name="l00066"></a>00066 <span class="keywordflow">else</span>
-<a name="l00067"></a>00067 {
-<a name="l00068"></a>00068 strategy.simplify(range, out, max_distance);
-<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> R, <span class="keyword">typename</span> OutputIterator>
-<a name="l00074"></a>00074 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_range(R <span class="keyword">const</span>& range, OutputIterator out, <span class="keywordtype">double</span> max_distance)
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="comment">// Define default strategy</span>
-<a name="l00077"></a>00077 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<R>::type point_type;
-<a name="l00078"></a>00078 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag<point_type>::type cs_tag;
-<a name="l00079"></a>00079 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance_segment
-<a name="l00080"></a>00080 <
-<a name="l00081"></a>00081 cs_tag,
-<a name="l00082"></a>00082 cs_tag,
-<a name="l00083"></a>00083 point_type,
-<a name="l00084"></a>00084 segment<const point_type>
-<a name="l00085"></a>00085 >::type strategy_type;
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 strategy::simplify::douglas_peucker<R, OutputIterator, strategy_type> douglas;
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 simplify_range_strategy(range, out, max_distance, douglas);
-<a name="l00090"></a>00090 }
+<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>
+<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="simplify__concept_8hpp.html">ggl/strategies/concepts/simplify_concept.hpp</a>></span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="clear_8hpp.html">ggl/algorithms/clear.hpp</a>></span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029
+<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__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a> {
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">template</span><<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy>
+<a name="l00061"></a>00061 <span class="keyword">struct </span>simplify_range_inserter
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">template</span> <<span class="keyword">typename</span> OutputIterator>
+<a name="l00064"></a>00064 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>& range, OutputIterator out,
+<a name="l00065"></a>00065 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00066"></a>00066 {
+<a name="l00067"></a>00067 <span class="keywordflow">if</span> (boost::size(range) <= 2 || max_distance < 0)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 std::copy(boost::begin(range), boost::end(range), out);
+<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 strategy.apply(range, out, max_distance);
+<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="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy>
+<a name="l00080"></a>00080 <span class="keyword">struct </span>simplify_copy
+<a name="l00081"></a>00081 {
+<a name="l00082"></a>00082 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>& range, Range& out,
+<a name="l00083"></a>00083 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085 std::copy
+<a name="l00086"></a>00086 (
+<a name="l00087"></a>00087 boost::begin(range), boost::end(range), std::back_inserter(out)
+<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="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> S>
-<a name="l00093"></a>00093 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_ring(R <span class="keyword">const</span>& r_in, OutputIterator out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>& strategy)
-<a name="l00094"></a>00094 {
-<a name="l00095"></a>00095 <span class="comment">// Call do_container for a ring</span>
-<a name="l00096"></a>00096
-<a name="l00097"></a>00097 <span class="comment">// The first/last point (the closing point of the ring) should maybe be excluded because it</span>
-<a name="l00098"></a>00098 <span class="comment">// lies on a line with second/one but last. Here it is never excluded.</span>
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 <span class="comment">// Note also that, especially if max_distance is too large, the output ring might be self intersecting</span>
-<a name="l00101"></a>00101 <span class="comment">// while the input ring is not, although chances are low in normal polygons</span>
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="comment">// Finally the inputring might have 4 points (=correct), the output < 4(=wrong)</span>
-<a name="l00104"></a>00104 <span class="keywordflow">if</span> (boost::size(r_in) <= 4 || max_distance < 0)
-<a name="l00105"></a>00105 {
-<a name="l00106"></a>00106 std::copy(boost::begin(r_in), boost::end(r_in), out);
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108 <span class="keywordflow">else</span>
-<a name="l00109"></a>00109 {
-<a name="l00110"></a>00110 simplify_range_strategy(r_in, out, max_distance, strategy);
-<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> Y, <span class="keyword">typename</span> S>
-<a name="l00115"></a>00115 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_polygon(Y <span class="keyword">const</span>& poly_in, Y& poly_out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>& strategy)
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
-<a name="l00118"></a>00118 <<span class="keyword">typename</span> interior_type<Y>::type>::type iterator_type;
-<a name="l00119"></a>00119 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00120"></a>00120 <<span class="keyword">typename</span> interior_type<Y>::type>::type const_iterator_type;
-<a name="l00121"></a>00121
-<a name="l00122"></a>00122 poly_out.clear();
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 <span class="comment">// Note that if there are inner rings, and distance is too large, they might intersect with the</span>
-<a name="l00125"></a>00125 <span class="comment">// outer ring in the output, while it didn't in the input.</span>
-<a name="l00126"></a>00126 simplify_ring(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly_in), 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>(poly_out)),
-<a name="l00127"></a>00127 max_distance, strategy);
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 <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_out).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>(poly_in)));
-<a name="l00130"></a>00130
-<a name="l00131"></a>00131 const_iterator_type it_in = 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_in));
-<a name="l00132"></a>00132 iterator_type it_out = 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_out));
-<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="keywordflow">for</span> (; it_in != 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_in)); it_in++, it_out++)
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 simplify_ring(*it_in, std::back_inserter(*it_out), max_distance, strategy);
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 }
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 <span class="keyword">template</span><<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Strategy, std::<span class="keywordtype">size_t</span> Minimum>
+<a name="l00094"></a>00094 <span class="keyword">struct </span>simplify_range
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Range <span class="keyword">const</span>& range, Range& out,
+<a name="l00097"></a>00097 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="comment">// Call do_container for a linestring / ring</span>
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="comment">// For a RING:</span>
+<a name="l00102"></a>00102 <span class="comment">// The first/last point (the closing point of the ring) should maybe be excluded because it</span>
+<a name="l00103"></a>00103 <span class="comment">// lies on a line with second/one but last. Here it is never excluded.</span>
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="comment">// Note also that, especially if max_distance is too large, the output ring might be self intersecting</span>
+<a name="l00106"></a>00106 <span class="comment">// while the input ring is not, although chances are low in normal polygons</span>
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="comment">// Finally the inputring might have 4 points (=correct), the output < 4(=wrong)</span>
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keywordflow">if</span> (boost::size(range) <= <span class="keywordtype">int</span>(Minimum) || max_distance < 0.0)
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 simplify_copy<Range, Strategy>::apply
+<a name="l00113"></a>00113 (
+<a name="l00114"></a>00114 range, out, max_distance, strategy
+<a name="l00115"></a>00115 );
+<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 simplify_range_inserter<Range, Strategy>::apply
+<a name="l00120"></a>00120 (
+<a name="l00121"></a>00121 range, std::back_inserter(out), max_distance, 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
+<a name="l00127"></a>00127 <span class="keyword">template</span><<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy>
+<a name="l00128"></a>00128 <span class="keyword">struct </span>simplify_polygon
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Polygon <span class="keyword">const</span>& poly_in, Polygon& poly_out,
+<a name="l00131"></a>00131 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
+<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">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00136"></a>00136 <<span class="keyword">typename</span> interior_type<Polygon>::type>::type iterator_type;
+<a name="l00137"></a>00137 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00138"></a>00138 <<span class="keyword">typename</span> interior_type<Polygon>::type>::type const_iterator_type;
<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keyword">template</span><<span class="keyword">typename</span> Y>
-<a name="l00141"></a>00141 <span class="keyword">inline</span> <span class="keywordtype">void</span> simplify_polygon(Y <span class="keyword">const</span>& poly_in, Y& poly_out, <span class="keywordtype">double</span> max_distance)
-<a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 <span class="comment">// Define default strategy</span>
-<a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Y>::type ring_type;
-<a name="l00145"></a>00145 <span class="keyword">typedef</span> std::back_insert_iterator<ring_type> iterator_type;
+<a name="l00140"></a>00140 <span class="comment">// Note that if there are inner rings, and distance is too large,</span>
+<a name="l00141"></a>00141 <span class="comment">// they might intersect with the outer ring in the output,</span>
+<a name="l00142"></a>00142 <span class="comment">// while it didn't in the input.</span>
+<a name="l00143"></a>00143 simplify_range<ring_type, Strategy, 4>::apply(<a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly_in),
+<a name="l00144"></a>00144 <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(poly_out),
+<a name="l00145"></a>00145 max_distance, strategy);
<a name="l00146"></a>00146
-<a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Y>::type point_type;
-<a name="l00148"></a>00148 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag<point_type>::type cs_tag;
-<a name="l00149"></a>00149 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance_segment
-<a name="l00150"></a>00150 <
-<a name="l00151"></a>00151 cs_tag,
-<a name="l00152"></a>00152 cs_tag,
-<a name="l00153"></a>00153 point_type,
-<a name="l00154"></a>00154 segment<const point_type>
-<a name="l00155"></a>00155 >::type strategy_type;
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 strategy::simplify::douglas_peucker<ring_type, iterator_type, strategy_type> douglas;
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 simplify_polygon(poly_in, poly_out, max_distance, douglas);
-<a name="l00160"></a>00160 }
+<a name="l00147"></a>00147 <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_out).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>(poly_in)));
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 iterator_type it_out = 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_out));
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="keywordflow">for</span> (const_iterator_type it_in = 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_in));
+<a name="l00152"></a>00152 it_in != 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_in));
+<a name="l00153"></a>00153 ++it_in, ++it_out)
+<a name="l00154"></a>00154 {
+<a name="l00155"></a>00155 simplify_range<ring_type, Strategy, 4>::apply(*it_in,
+<a name="l00156"></a>00156 *it_out, max_distance, strategy);
+<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="comment">// namespace detail::simplify</span>
<a name="l00163"></a>00163 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
@@ -186,125 +186,170 @@
<a name="l00167"></a>00167 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
<a name="l00168"></a>00168 {
<a name="l00169"></a>00169
-<a name="l00170"></a>00170 <span class="keyword">template</span> <<span class="keyword">typename</span> Tag, <span class="keyword">typename</span> G>
-<a name="l00171"></a>00171 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>
+<a name="l00170"></a>00170 <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="l00171"></a>00171 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>
<a name="l00172"></a>00172 {
<a name="l00173"></a>00173 };
<a name="l00174"></a>00174
-<a name="l00175"></a>00175 <span class="comment">// Partial specializations</span>
-<a name="l00176"></a>00176 <span class="keyword">template</span> <<span class="keyword">typename</span> R>
-<a name="l00177"></a>00177 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a><linestring_tag, R>
-<a name="l00178"></a>00178 {
-<a name="l00179"></a>00179 <span class="keyword">template</span><<span class="keyword">typename</span> OutputIterator, <span class="keyword">typename</span> S>
-<a name="l00180"></a>00180 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(R <span class="keyword">const</span>& range, OutputIterator out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>& strategy)
-<a name="l00181"></a>00181 {
-<a name="l00182"></a>00182 strategy.simplify(range, out, max_distance);
-<a name="l00183"></a>00183 }
+<a name="l00175"></a>00175 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00176"></a>00176 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a><point_tag, Point, Strategy>
+<a name="l00177"></a>00177 {
+<a name="l00178"></a>00178 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(Point <span class="keyword">const</span>& point, Point& out,
+<a name="l00179"></a>00179 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00180"></a>00180 {
+<a name="l00181"></a>00181 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(point, out);
+<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> OutputIterator>
-<a name="l00186"></a>00186 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(R <span class="keyword">const</span>& range, OutputIterator out, <span class="keywordtype">double</span> max_distance)
-<a name="l00187"></a>00187 {
-<a name="l00188"></a>00188 <span class="comment">// Define default strategy</span>
-<a name="l00189"></a>00189 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<R>::type point_type;
-<a name="l00190"></a>00190 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag<point_type>::type cs_tag;
-<a name="l00191"></a>00191 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance_segment
-<a name="l00192"></a>00192 <
-<a name="l00193"></a>00193 cs_tag,
-<a name="l00194"></a>00194 cs_tag,
-<a name="l00195"></a>00195 point_type,
-<a name="l00196"></a>00196 segment<const point_type>
-<a name="l00197"></a>00197 >::type strategy_type;
-<a name="l00198"></a>00198
-<a name="l00199"></a>00199 strategy::simplify::douglas_peucker<R, OutputIterator, strategy_type> douglas;
-<a name="l00200"></a>00200
-<a name="l00201"></a>00201 detail::simplify::simplify_range_strategy(range, out, max_distance, douglas);
-<a name="l00202"></a>00202 }
-<a name="l00203"></a>00203 };
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <span class="keyword">template</span> <<span class="keyword">typename</span> R>
-<a name="l00206"></a>00206 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a><ring_tag, R>
-<a name="l00207"></a>00207 {
-<a name="l00209"></a>00209 <span class="keyword">template</span><<span class="keyword">typename</span> S>
-<a name="l00210"></a>00210 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(R <span class="keyword">const</span>& ring_in, R& ring_out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>& strategy)
-<a name="l00211"></a>00211 {
-<a name="l00212"></a>00212 <span class="keyword">using</span> detail::simplify::simplify_ring;
-<a name="l00213"></a>00213 simplify_ring(ring_in, std::back_inserter(ring_out), max_distance, strategy);
-<a name="l00214"></a>00214 }
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="keyword">template</span> <<span class="keyword">typename</span> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00187"></a>00187 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a><linestring_tag, Linestring, Strategy>
+<a name="l00188"></a>00188 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>::simplify_range
+<a name="l00189"></a>00189 <
+<a name="l00190"></a>00190 Linestring,
+<a name="l00191"></a>00191 Strategy,
+<a name="l00192"></a>00192 2
+<a name="l00193"></a>00193 >
+<a name="l00194"></a>00194 {};
+<a name="l00195"></a>00195
+<a name="l00196"></a>00196 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy>
+<a name="l00197"></a>00197 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a><ring_tag, Ring, Strategy>
+<a name="l00198"></a>00198 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>::simplify_range
+<a name="l00199"></a>00199 <
+<a name="l00200"></a>00200 Ring,
+<a name="l00201"></a>00201 Strategy,
+<a name="l00202"></a>00202 4
+<a name="l00203"></a>00203 >
+<a name="l00204"></a>00204 {};
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon, <span class="keyword">typename</span> Strategy>
+<a name="l00207"></a>00207 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a><polygon_tag, Polygon, Strategy>
+<a name="l00208"></a>00208 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>::simplify_polygon
+<a name="l00209"></a>00209 <
+<a name="l00210"></a>00210 Polygon,
+<a name="l00211"></a>00211 Strategy
+<a name="l00212"></a>00212 >
+<a name="l00213"></a>00213 {};
+<a name="l00214"></a>00214
<a name="l00215"></a>00215
-<a name="l00217"></a>00217 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(R <span class="keyword">const</span>& ring_in, R& ring_out, <span class="keywordtype">double</span> max_distance)
-<a name="l00218"></a>00218 {
-<a name="l00219"></a>00219 <span class="comment">// Define default strategy</span>
-<a name="l00220"></a>00220 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<R>::type point_type;
-<a name="l00221"></a>00221 <span class="keyword">typedef</span> <span class="keyword">typename</span> cs_tag<point_type>::type cs_tag;
-<a name="l00222"></a>00222 <span class="keyword">typedef</span> <span class="keyword">typename</span> strategy_distance_segment
-<a name="l00223"></a>00223 <
-<a name="l00224"></a>00224 cs_tag,
-<a name="l00225"></a>00225 cs_tag,
-<a name="l00226"></a>00226 point_type,
-<a name="l00227"></a>00227 segment<const point_type>
-<a name="l00228"></a>00228 >::type strategy_type;
-<a name="l00229"></a>00229 <span class="keyword">typedef</span> std::back_insert_iterator<R> iterator_type;
+<a name="l00216"></a>00216 <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="l00217"></a>00217 <span class="keyword">struct </span><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">simplify_inserter</a>
+<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> Line<span class="keywordtype">string</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00223"></a>00223 <span class="keyword">struct </span><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">simplify_inserter</a><linestring_tag, Linestring, Strategy>
+<a name="l00224"></a>00224 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>::simplify_range_inserter
+<a name="l00225"></a>00225 <
+<a name="l00226"></a>00226 Linestring,
+<a name="l00227"></a>00227 Strategy
+<a name="l00228"></a>00228 >
+<a name="l00229"></a>00229 {};
<a name="l00230"></a>00230
-<a name="l00231"></a>00231 strategy::simplify::douglas_peucker<R, iterator_type, strategy_type> douglas;
-<a name="l00232"></a>00232
-<a name="l00233"></a>00233 detail::simplify::simplify_ring(ring_in, std::back_inserter(ring_out), max_distance, douglas);
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 };
-<a name="l00236"></a>00236
-<a name="l00237"></a>00237 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00238"></a>00238 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a><polygon_tag, P>
-<a name="l00239"></a>00239 {
-<a name="l00241"></a>00241 <span class="keyword">template</span><<span class="keyword">typename</span> S>
-<a name="l00242"></a>00242 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& poly_in, P& poly_out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>& strategy)
-<a name="l00243"></a>00243 {
-<a name="l00244"></a>00244 detail::simplify::simplify_polygon(poly_in, poly_out, max_distance, strategy);
-<a name="l00245"></a>00245 }
-<a name="l00246"></a>00246
-<a name="l00248"></a>00248 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(P <span class="keyword">const</span>& poly_in, P& poly_out, <span class="keywordtype">double</span> max_distance)
-<a name="l00249"></a>00249 {
-<a name="l00250"></a>00250 detail::simplify::simplify_polygon(poly_in, poly_out, max_distance);
-<a name="l00251"></a>00251 }
-<a name="l00252"></a>00252 };
-<a name="l00253"></a>00253
-<a name="l00254"></a>00254 } <span class="comment">// namespace dispatch</span>
-<a name="l00255"></a>00255 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00256"></a>00256 <span class="preprocessor"></span>
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258 <span class="comment">// Model 1, using output iterator</span>
-<a name="l00259"></a>00259
-<a name="l00275"></a>00275 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> O>
-<a name="l00276"></a><a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb">00276</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>(<span class="keyword">const</span> G& geometry, O out, <span class="keywordtype">double</span> max_distance)
-<a name="l00277"></a>00277 {
-<a name="l00278"></a>00278 <span class="keyword">typedef</span> dispatch::simplify<typename tag<G>::type, G> simplify_type;
-<a name="l00279"></a>00279 simplify_type::apply(geometry, out, max_distance);
-<a name="l00280"></a>00280 }
-<a name="l00281"></a>00281
-<a name="l00298"></a>00298 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> O, <span class="keyword">typename</span> S>
-<a name="l00299"></a><a class="code" href="group__simplify.html#gfac2ab8188c31cf7fab43e423884e0ed">00299</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>(<span class="keyword">const</span> G& geometry, O out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>& strategy)
-<a name="l00300"></a>00300 {
-<a name="l00301"></a>00301 <span class="keyword">typedef</span> dispatch::simplify<typename tag<G>::type, G> simplify_type;
-<a name="l00302"></a>00302 simplify_type::apply(geometry, out, max_distance, strategy);
+<a name="l00231"></a>00231 <span class="keyword">template</span> <<span class="keyword">typename</span> Ring, <span class="keyword">typename</span> Strategy>
+<a name="l00232"></a>00232 <span class="keyword">struct </span><a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">simplify_inserter</a><ring_tag, Ring, Strategy>
+<a name="l00233"></a>00233 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>::simplify_range_inserter
+<a name="l00234"></a>00234 <
+<a name="l00235"></a>00235 Ring,
+<a name="l00236"></a>00236 Strategy
+<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 } <span class="comment">// namespace dispatch</span>
+<a name="l00242"></a>00242 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00243"></a>00243 <span class="preprocessor"></span>
+<a name="l00244"></a>00244
+<a name="l00255"></a>00255 <span class="keyword">template</span><<span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Strategy>
+<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="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="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="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="structggl_1_1segment.html" title="Class segment: small 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="l00305"></a>00305 <span class="comment">// Model 2, where output is same type as input</span>
-<a name="l00306"></a>00306
-<a name="l00316"></a>00316 <span class="keyword">template</span><<span class="keyword">typename</span> G>
-<a name="l00317"></a><a class="code" href="group__simplify.html#g44130eb01685933927c05207a01a84f1">00317</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>(<span class="keyword">const</span> G& geometry, G& out, <span class="keywordtype">double</span> max_distance)
-<a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <span class="keyword">typedef</span> dispatch::simplify<typename tag<G>::type, G> simplify_type;
-<a name="l00320"></a>00320 simplify_type::apply(geometry, out, max_distance);
-<a name="l00321"></a>00321 }
-<a name="l00322"></a>00322
-<a name="l00333"></a>00333 <span class="keyword">template</span><<span class="keyword">typename</span> G, <span class="keyword">typename</span> S>
-<a name="l00334"></a><a class="code" href="group__simplify.html#g00b5a49a676c29d790764ad67e9fdfbc">00334</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>(<span class="keyword">const</span> G& geometry, G& out, <span class="keywordtype">double</span> max_distance, S <span class="keyword">const</span>& strategy)
-<a name="l00335"></a>00335 {
-<a name="l00336"></a>00336 <span class="keyword">typedef</span> dispatch::simplify<typename tag<G>::type, G> simplify_type;
-<a name="l00337"></a>00337 simplify_type::apply(geometry, out, max_distance, strategy);
-<a name="l00338"></a>00338 }
-<a name="l00339"></a>00339
-<a name="l00340"></a>00340 } <span class="comment">// namespace ggl</span>
-<a name="l00341"></a>00341
-<a name="l00342"></a>00342 <span class="preprocessor">#endif // GGL_ALGORITHMS_SIMPLIFY_HPP</span>
+<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="structggl_1_1segment.html" title="Class segment: small 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="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>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -92,8 +92,8 @@
<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 assign_box_corner<min_corner, min_corner>(b1, lower_left);
-<a name="l00088"></a>00088 assign_box_corner<max_corner, max_corner>(b1, 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="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))
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -64,9 +64,12 @@
<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="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="structggl_1_1segment.html" title="Class segment: small 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="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="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>
@@ -91,7 +94,7 @@
<tr><td class="indexkey"><a class="el" href="structggl_1_1is__multi.html">ggl::is_multi< Geometry ></a></td><td class="indexvalue">Meta-function defining "true" for multi geometries (<a class="el" href="structggl_1_1multi__point.html">multi_point</a>, etc) </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1is__radian.html">ggl::is_radian< CoordinateSystem ></a></td><td class="indexvalue">Meta-function to verify if a coordinate system is <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1less.html">ggl::less< P ></a></td><td class="indexvalue">Less predicate for usage in e.g. std::map </td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< P, V, A ></a></td><td class="indexvalue">A <a class="el" 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> (linear <a class="el" 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>) is a closed line which should not be selfintersecting </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< P, V, ClockWise, A ></a></td><td class="indexvalue">A <a class="el" 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> (linear <a class="el" 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>) is a closed line which should not be selfintersecting </td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1linestring.html">ggl::linestring< P, V, A ></a></td><td class="indexvalue">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> (named so by OGC) is a collection (default a vector) of points </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1linestring__tag.html">ggl::linestring_tag</a></td><td class="indexvalue">OGC Linestring 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__linestring.html">ggl::multi_linestring< L, V, A ></a></td><td class="indexvalue"></td></tr>
@@ -103,7 +106,7 @@
<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__const__iterator.html">ggl::point_const_iterator< Geometry ></a></td><td class="indexvalue">Meta-function which defines point-const-iterator type </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>
<tr><td class="indexkey"><a class="el" href="structggl_1_1point__type.html">ggl::point_type< 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="classggl_1_1point__xy.html">ggl::point_xy< T, C ></a></td><td class="indexvalue">2D <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> in Cartesian coordinate system </td></tr>
@@ -112,7 +115,7 @@
<tr><td class="indexkey"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction< S1, S2 ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, 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="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>
@@ -136,6 +139,7 @@
<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="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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation </td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td><td class="indexvalue">Distance calculation for spherical coordinates on a perfect sphere using <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html" title="Distance calculation for spherical coordinates on a perfect sphere using haversine...">haversine</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment< 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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a></td><td class="indexvalue">Strategy 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_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>: <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html" title="Strategy for distance point to point: pythagoras.">pythagoras</a> </td></tr>
@@ -209,6 +213,7 @@
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access< G, I, D ></a></td><td class="indexvalue">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 </td></tr>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1interior__rings.html">ggl::traits::interior_rings< G ></a></td><td class="indexvalue">Traits class defining <a class="el" href="structggl_1_1traits_1_1access.html" title="Traits class which gives access (get,set) to points.">access</a> to <a class="el" href="structggl_1_1traits_1_1interior__rings.html" title="Traits class defining access to interior_rings of a polygon.">interior_rings</a> 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_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>
@@ -216,6 +221,7 @@
<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>
<tr><td class="indexkey"><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std< G ></a></td><td class="indexvalue">Traits class, optional, indicating that the std-library should be used </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structggl_1_1vertex__iterator.html">ggl::vertex_iterator< Geometry, IsConst ></a></td><td class="indexvalue">Meta-function which defines <a class="el" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator</a> type </td></tr>
<tr><td class="indexkey"><a class="el" href="class_point_list.html">PointList</a></td><td class="indexvalue"></td></tr>
</table>
</div>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -88,7 +88,7 @@
<a name="l00057"></a>00057 {
<a name="l00058"></a>00058 <span class="keyword">typename</span> point_type<G>::type point_type;
<a name="l00059"></a>00059
-<a name="l00060"></a>00060 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(point, point_type);
+<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 };
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/as__range_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -55,6 +55,9 @@
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Range , typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#99e0a8eac282cd44fbdb1a47666ea084">ggl::as_range</a> (Geometry &input)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Range , typename Geometry > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range const & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">ggl::as_range</a> (Geometry const &input)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function getting either the range (ring, <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>) itself or the outer ring. <br></td></tr>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -52,78 +52,112 @@
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_AS_RANGE_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/type_traits.hpp></span>
-<a name="l00013"></a>00013
-<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="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="core_2tags_8hpp.html">ggl/core/tags.hpp</a>></span>
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl {
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
+<a name="l00014"></a>00014
+<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="core_2is__multi_8hpp.html">ggl/core/is_multi.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="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">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<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> GeometryTag, <span class="keyword">typename</span> Geometry>
-<a name="l00026"></a>00026 <span class="keyword">struct </span>as_range_type
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028 <span class="keyword">typedef</span> Geometry type;
-<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> Geometry>
-<a name="l00032"></a>00032 <span class="keyword">struct </span>as_range_type<polygon_tag, Geometry>
-<a name="l00033"></a>00033 {
-<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Geometry>::type type;
-<a name="l00035"></a>00035 };
-<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> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range>
-<a name="l00040"></a>00040 <span class="keyword">struct </span><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="l00041"></a>00041 {
-<a name="l00042"></a>00042 <span class="keyword">static</span> <span class="keyword">inline</span> Range <span class="keyword">const</span>& <span class="keyword">get</span>(Geometry <span class="keyword">const</span>& input)
-<a name="l00043"></a>00043 {
-<a name="l00044"></a>00044 <span class="keywordflow">return</span> input;
-<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> Geometry, <span class="keyword">typename</span> Range>
-<a name="l00049"></a>00049 <span class="keyword">struct </span><a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">as_range</a><polygon_tag, Geometry, Range>
-<a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keyword">inline</span> Range <span class="keyword">const</span>& <span class="keyword">get</span>(Geometry <span class="keyword">const</span>& input)
-<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(input);
-<a name="l00054"></a>00054 }
-<a name="l00055"></a>00055 };
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 } <span class="comment">// namespace dispatch</span>
-<a name="l00058"></a>00058 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00059"></a>00059 <span class="preprocessor"></span>
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>ggl {
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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> GeometryTag, <span class="keywordtype">bool</span> IsMulti, <span class="keyword">typename</span> Geometry>
+<a name="l00028"></a>00028 <span class="keyword">struct </span>as_range_type
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> Geometry type;
+<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> Geometry>
+<a name="l00035"></a>00035 <span class="keyword">struct </span>as_range_type<polygon_tag, false, Geometry>
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<Geometry>::type type;
+<a name="l00038"></a>00038 };
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range>
+<a name="l00043"></a>00043 <span class="keyword">struct </span><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="l00044"></a>00044 {
+<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">inline</span> Range & <span class="keyword">get</span>(Geometry & input)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> input;
+<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> Geometry, <span class="keyword">typename</span> Range>
+<a name="l00052"></a>00052 <span class="keyword">struct </span><a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">as_range</a><polygon_tag, Geometry, Range>
+<a name="l00053"></a>00053 {
+<a name="l00054"></a>00054 <span class="keyword">static</span> <span class="keyword">inline</span> Range & <span class="keyword">get</span>(Geometry & input)
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(input);
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
<a name="l00060"></a>00060
-<a name="l00066"></a>00066 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00067"></a><a class="code" href="structggl_1_1as__range__type.html">00067</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1as__range__type.html" title="Meta-function utility returning either type itself, or outer ring.">as_range_type</a>
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> dispatch::as_range_type
-<a name="l00070"></a>00070 <
-<a name="l00071"></a>00071 <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="l00072"></a>00072 Geometry
-<a name="l00073"></a><a class="code" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">00073</a> ><a class="code" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">::type</a> <a class="code" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a>;
-<a name="l00074"></a>00074 };
-<a name="l00075"></a>00075
-<a name="l00082"></a>00082 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Geometry>
-<a name="l00083"></a><a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">00083</a> <span class="keyword">inline</span> Range <span class="keyword">const</span>& <a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">as_range</a>(Geometry <span class="keyword">const</span>& input)
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <span class="keywordflow">return</span> <a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">dispatch::as_range</a>
-<a name="l00086"></a>00086 <
-<a name="l00087"></a>00087 <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="l00088"></a>00088 Geometry,
-<a name="l00089"></a>00089 Range
-<a name="l00090"></a>00090 ><a class="code" href="group__access.html#g6cf833a7f9622af2fc05fd94aa61153f" title="get a coordinate value of a point / nsphere">::get</a>(input);
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 } <span class="comment">// namespace ggl</span>
-<a name="l00094"></a>00094
-<a name="l00095"></a>00095 <span class="preprocessor">#endif // GGL_UTIL_AS_RANGE_HPP</span>
+<a name="l00061"></a>00061 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry, <span class="keyword">typename</span> Range>
+<a name="l00062"></a>00062 <span class="keyword">struct </span>as_range_const
+<a name="l00063"></a>00063 {
+<a name="l00064"></a>00064 <span class="keyword">static</span> <span class="keyword">inline</span> Range <span class="keyword">const</span>& <span class="keyword">get</span>(Geometry <span class="keyword">const</span>& input)
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066 <span class="keywordflow">return</span> input;
+<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> Geometry, <span class="keyword">typename</span> Range>
+<a name="l00071"></a>00071 <span class="keyword">struct </span>as_range_const<polygon_tag, Geometry, Range>
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keyword">inline</span> Range <span class="keyword">const</span>& <span class="keyword">get</span>(Geometry <span class="keyword">const</span>& input)
+<a name="l00074"></a>00074 {
+<a name="l00075"></a>00075 <span class="keywordflow">return</span> <a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>(input);
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077 };
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079 } <span class="comment">// namespace dispatch</span>
+<a name="l00080"></a>00080 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span>
+<a name="l00082"></a>00082
+<a name="l00088"></a>00088 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00089"></a><a class="code" href="structggl_1_1as__range__type.html">00089</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1as__range__type.html" title="Meta-function utility returning either type itself, or outer ring.">as_range_type</a>
+<a name="l00090"></a>00090 {
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keyword">typename</span> dispatch::as_range_type
+<a name="l00092"></a>00092 <
+<a name="l00093"></a>00093 <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="l00094"></a>00094 <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="l00095"></a>00095 Geometry
+<a name="l00096"></a><a class="code" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">00096</a> ><a class="code" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">::type</a> <a class="code" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">type</a>;
+<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> Range, <span class="keyword">typename</span> Geometry>
+<a name="l00106"></a><a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">00106</a> <span class="keyword">inline</span> Range <span class="keyword">const</span>& <a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">as_range</a>(Geometry <span class="keyword">const</span>& input)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keywordflow">return</span> dispatch::as_range_const
+<a name="l00109"></a>00109 <
+<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="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>
+<a name="l00117"></a><a class="code" href="namespaceggl.html#99e0a8eac282cd44fbdb1a47666ea084">00117</a> <span class="keyword">inline</span> Range& <a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">as_range</a>(Geometry& input)
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> <a class="code" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b" title="Function getting either the range (ring, linestring) itself or the outer ring.">dispatch::as_range</a>
+<a name="l00120"></a>00120 <
+<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="l00125"></a>00125 }
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 } <span class="comment">// namespace ggl</span>
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="preprocessor">#endif // GGL_UTIL_AS_RANGE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -66,10 +66,18 @@
<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 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>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -180,213 +180,294 @@
<a name="l00168"></a>00168
<a name="l00169"></a>00169
<a name="l00170"></a>00170
-<a name="l00171"></a>00171 }} <span class="comment">// namespace detail::assign</span>
-<a name="l00172"></a>00172 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00173"></a>00173 <span class="preprocessor"></span>
-<a name="l00174"></a>00174 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00175"></a>00175 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00176"></a>00176 {
+<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="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="l00179"></a>00179 <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="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 <span class="keyword">template</span> <<span class="keyword">typename</span> P>
-<a name="l00182"></a>00182 <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="l00183"></a>00183 {
-<a name="l00184"></a>00184 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<P>::type coordinate_type;
+<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="l00186"></a>00186 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00187"></a>00187 <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="l00188"></a>00188 {
-<a name="l00189"></a>00189 set<0>(point, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00190"></a>00190 set<1>(point, boost::numeric_cast<coordinate_type>(c2));
-<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> P>
-<a name="l00195"></a>00195 <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="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<P>::type coordinate_type;
+<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">template</span> <<span class="keyword">typename</span> T>
-<a name="l00200"></a>00200 <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="l00201"></a>00201 {
-<a name="l00202"></a>00202 set<0>(point, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00203"></a>00203 set<1>(point, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00204"></a>00204 set<2>(point, boost::numeric_cast<coordinate_type>(c3));
-<a name="l00205"></a>00205 }
-<a name="l00206"></a>00206 };
-<a name="l00207"></a>00207
-<a name="l00208"></a>00208 <span class="keyword">template</span> <<span class="keyword">typename</span> B>
-<a name="l00209"></a>00209 <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="l00210"></a>00210 {
-<a name="l00211"></a>00211 <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="l00212"></a>00212
-<a name="l00213"></a>00213 <span class="comment">// Here we assign 4 coordinates to a box.</span>
-<a name="l00214"></a>00214 <span class="comment">// -> Most logical is: x1,y1,x2,y2</span>
-<a name="l00215"></a>00215 <span class="comment">// In case the user reverses x1/x2 or y1/y2, we could reverse them (THAT IS NOT IMPLEMENTED)</span>
-<a name="l00216"></a>00216
-<a name="l00217"></a>00217 <span class="comment">// Note also comment in util/assign_box_corner -></span>
-<a name="l00218"></a>00218 <span class="comment">// ("Most logical is LOWER, UPPER and sub-order LEFT, RIGHT")</span>
-<a name="l00219"></a>00219 <span class="comment">// (That is assigning 4 points from a box. So lower-left, lower-right, upper-left, upper-right)</span>
-<a name="l00220"></a>00220 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00221"></a>00221 <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="l00222"></a>00222 {
-<a name="l00223"></a>00223 set<min_corner, 0>(box, boost::numeric_cast<coordinate_type>(x1));
-<a name="l00224"></a>00224 set<min_corner, 1>(box, boost::numeric_cast<coordinate_type>(y1));
-<a name="l00225"></a>00225 set<max_corner, 0>(box, boost::numeric_cast<coordinate_type>(x2));
-<a name="l00226"></a>00226 set<max_corner, 1>(box, boost::numeric_cast<coordinate_type>(y2));
-<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
-<a name="l00233"></a>00233
-<a name="l00234"></a>00234 <span class="keyword">template</span> <<span class="keyword">typename</span> S>
-<a name="l00235"></a>00235 <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="l00236"></a>00236 {
-<a name="l00237"></a>00237 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<S>::type coordinate_type;
-<a name="l00238"></a>00238 <span class="keyword">typedef</span> <span class="keyword">typename</span> radius_type<S>::type radius_type;
-<a name="l00239"></a>00239
-<a name="l00241"></a>00241 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00242"></a>00242 <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="l00243"></a>00243 {
-<a name="l00244"></a>00244 set<0>(sphercle, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00245"></a>00245 set<1>(sphercle, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00246"></a>00246 }
-<a name="l00247"></a>00247
-<a name="l00248"></a>00248 <span class="keyword">template</span> <<span class="keyword">typename</span> T, <span class="keyword">typename</span> R>
-<a name="l00249"></a>00249 <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="l00250"></a>00250 T <span class="keyword">const</span>& c2, R <span class="keyword">const</span>& radius)
-<a name="l00251"></a>00251 {
-<a name="l00252"></a>00252 set<0>(sphercle, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00253"></a>00253 set<1>(sphercle, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00254"></a>00254 set_radius<0>(sphercle, boost::numeric_cast<radius_type>(radius));
-<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> S>
-<a name="l00259"></a>00259 <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="l00260"></a>00260 {
-<a name="l00261"></a>00261 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<S>::type coordinate_type;
-<a name="l00262"></a>00262 <span class="keyword">typedef</span> <span class="keyword">typename</span> radius_type<S>::type radius_type;
-<a name="l00263"></a>00263
-<a name="l00265"></a>00265 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00266"></a>00266 <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="l00267"></a>00267 {
-<a name="l00268"></a>00268 set<0>(sphercle, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00269"></a>00269 set<1>(sphercle, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00270"></a>00270 set<2>(sphercle, boost::numeric_cast<coordinate_type>(c3));
-<a name="l00271"></a>00271 }
-<a name="l00272"></a>00272
-<a name="l00274"></a>00274 <span class="keyword">template</span> <<span class="keyword">typename</span> T, <span class="keyword">typename</span> R>
-<a name="l00275"></a>00275 <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="l00276"></a>00276 T <span class="keyword">const</span>& c2, T <span class="keyword">const</span>& c3, R <span class="keyword">const</span>& radius)
-<a name="l00277"></a>00277 {
-<a name="l00278"></a>00278
-<a name="l00279"></a>00279 set<0>(sphercle, boost::numeric_cast<coordinate_type>(c1));
-<a name="l00280"></a>00280 set<1>(sphercle, boost::numeric_cast<coordinate_type>(c2));
-<a name="l00281"></a>00281 set<2>(sphercle, boost::numeric_cast<coordinate_type>(c3));
-<a name="l00282"></a>00282 set_radius<0>(sphercle, boost::numeric_cast<radius_type>(radius));
-<a name="l00283"></a>00283 }
-<a name="l00284"></a>00284
-<a name="l00285"></a>00285 };
-<a name="l00286"></a>00286
+<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="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 <span class="keyword">template</span> <<span class="keyword">typename</span> GeometryTag, <span class="keyword">typename</span> Geometry>
-<a name="l00289"></a>00289 <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="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> Po<span class="keywordtype">int</span>>
-<a name="l00293"></a>00293 <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="l00294"></a>00294 : 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="l00295"></a>00295 {};
-<a name="l00296"></a>00296
-<a name="l00297"></a>00297 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00298"></a>00298 <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="l00299"></a>00299 : 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="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> GeometryTag, <span class="keyword">typename</span> Geometry>
-<a name="l00304"></a>00304 <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="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="l00305"></a>00305
-<a name="l00306"></a>00306 <span class="keyword">template</span> <<span class="keyword">typename</span> Box>
-<a name="l00307"></a>00307 <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="l00308"></a>00308 : 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="l00309"></a>00309 {};
-<a name="l00310"></a>00310
-<a name="l00311"></a>00311
-<a name="l00312"></a>00312 } <span class="comment">// namespace dispatch</span>
-<a name="l00313"></a>00313 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00314"></a>00314 <span class="preprocessor"></span>
+<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="l00315"></a>00315
-<a name="l00320"></a>00320 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00321"></a><a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73">00321</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="l00322"></a>00322 {
-<a name="l00323"></a>00323 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00324"></a>00324 <
-<a name="l00325"></a>00325 <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="l00326"></a>00326 G,
-<a name="l00327"></a>00327 <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="l00328"></a>00328 >::apply(geometry, c1, c2);
-<a name="l00329"></a>00329 }
+<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="l00335"></a>00335 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00336"></a><a class="code" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">00336</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="l00337"></a>00337 {
-<a name="l00338"></a>00338 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00339"></a>00339 <
-<a name="l00340"></a>00340 <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="l00341"></a>00341 G,
-<a name="l00342"></a>00342 <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="l00343"></a>00343 >::apply(geometry, c1, c2, c3);
-<a name="l00344"></a>00344 }
+<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="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="l00345"></a>00345
-<a name="l00350"></a>00350 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> T>
-<a name="l00351"></a><a class="code" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">00351</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="l00352"></a>00352 {
-<a name="l00353"></a>00353 <a class="code" href="group__access.html#ge58b5c7b493d0112202dc139af200c73" title="assign two values to a 2D point">dispatch::assign</a>
-<a name="l00354"></a>00354 <
-<a name="l00355"></a>00355 <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="l00356"></a>00356 G,
-<a name="l00357"></a>00357 <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="l00358"></a>00358 >::apply(geometry, c1, c2, c3, c4);
-<a name="l00359"></a>00359 }
+<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
-<a name="l00367"></a>00367 <span class="keyword">template</span> <<span class="keyword">typename</span> G, <span class="keyword">typename</span> R>
-<a name="l00368"></a><a class="code" href="group__access.html#ge87a43e061a27e450e01f00c228ed472">00368</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="l00369"></a>00369 {
-<a name="l00370"></a>00370 <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="l00371"></a>00371 <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="l00372"></a>00372 }
+<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="l00374"></a>00374
-<a name="l00382"></a>00382 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00383"></a><a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">00383</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="l00384"></a>00384 {
-<a name="l00385"></a>00385 <a class="code" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd" title="assign to a box inverse infinite">dispatch::assign_inverse</a>
-<a name="l00386"></a>00386 <
-<a name="l00387"></a>00387 <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="l00388"></a>00388 G
-<a name="l00389"></a>00389 >::apply(geometry);
-<a name="l00390"></a>00390 }
-<a name="l00391"></a>00391
-<a name="l00398"></a>00398 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
-<a name="l00399"></a><a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0">00399</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="l00400"></a>00400 {
-<a name="l00401"></a>00401 <a class="code" href="group__access.html#g2fba6ded1fb6ecc7dba897b55c70f2d0" title="assign zero values to a box, point">dispatch::assign_zero</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<G>::type</a>,
-<a name="l00404"></a>00404 G
-<a name="l00405"></a>00405 >::apply(geometry);
-<a name="l00406"></a>00406 }
-<a name="l00407"></a>00407
-<a name="l00408"></a>00408 } <span class="comment">// namespace ggl</span>
-<a name="l00409"></a>00409
-<a name="l00410"></a>00410 <span class="preprocessor">#endif // GGL_ALGORITHMS_ASSIGN_HPP</span>
+<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="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>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/assign__box__corner_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
+++ (empty file)
@@ -1,84 +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/util/assign_box_corner.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>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 colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<std::size_t C1, std::size_t C2, 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#e5791c5c360cbb58d16b18cb46323175">ggl::assign_box_corner</a> (B const &box, P &point)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> 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 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>
-</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/assign__box__corner_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
+++ (empty file)
@@ -1,113 +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/util/assign_box_corner.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_UTIL_ASSIGN_BOX_CORNER_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_UTIL_ASSIGN_BOX_CORNER_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 <boost/numeric/conversion/cast.hpp></span>
-<a name="l00015"></a>00015
-<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
-<a name="l00018"></a>00018 <span class="comment">// TODO: merge with "assign"</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="l00028"></a>00028 <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> B, <span class="keyword">typename</span> P>
-<a name="l00029"></a><a class="code" href="namespaceggl.html#e5791c5c360cbb58d16b18cb46323175">00029</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#e5791c5c360cbb58d16b18cb46323175" title="Assign one point of a 2D box.">assign_box_corner</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& <a class="code" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>)
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031 <span class="comment">// Be sure both are 2-Dimensional</span>
-<a name="l00032"></a>00032 assert_dimension<B, 2>();
-<a name="l00033"></a>00033 assert_dimension<P, 2>();
-<a name="l00034"></a>00034
-<a name="l00035"></a>00035 <span class="comment">// Copy coordinates</span>
-<a name="l00036"></a>00036 <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="l00037"></a>00037
-<a name="l00038"></a>00038 set<0>(point, boost::numeric_cast<coordinate_type>(get<C1, 0>(box)));
-<a name="l00039"></a>00039 set<1>(point, boost::numeric_cast<coordinate_type>(get<C2, 1>(box)));
-<a name="l00040"></a>00040 }
-<a name="l00041"></a>00041
-<a name="l00048"></a>00048 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> P>
-<a name="l00049"></a><a class="code" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">00049</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="l00050"></a>00050 {
-<a name="l00051"></a>00051 assign_box_corner<min_corner, min_corner>(box, lower_left);
-<a name="l00052"></a>00052 assign_box_corner<max_corner, min_corner>(box, lower_right);
-<a name="l00053"></a>00053 assign_box_corner<min_corner, max_corner>(box, upper_left);
-<a name="l00054"></a>00054 assign_box_corner<max_corner, max_corner>(box, upper_right);
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 } <span class="comment">// namespace</span>
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="preprocessor">#endif // GGL_UTIL_ASSIGN_BOX_CORNER_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/box_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/box_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -71,8 +71,8 @@
<a name="l00042"></a>00042
<a name="l00046"></a><a class="code" href="classggl_1_1box.html#c7888e7869f90177bbc524467fa9e6c4">00046</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1box.html#40a32b03ef937f268b28716cd3a19ff4">box</a>(P <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a>, P <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#ad3ec53ea62b0bfa3cb897cea62ea0f0">max_corner</a>)
<a name="l00047"></a>00047 {
-<a name="l00048"></a>00048 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" 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#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(max_corner, m_max_corner);
+<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#47f607c06a2a5432eac75d8bd5cf4a61">00052</a> <span class="keyword">inline</span> P <span class="keyword">const</span>& <a class="code" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">min_corner</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_min_corner; }
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -58,112 +58,111 @@
<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="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="assign__box__corner_8hpp.html">ggl/util/assign_box_corner.hpp</a>></span>
-<a name="l00020"></a>00020
-<a name="l00021"></a>00021 <span class="comment">// Buffer functions</span>
-<a name="l00022"></a>00022 <span class="comment">// Was before: "grow" but then only for box</span>
-<a name="l00023"></a>00023 <span class="comment">// Now "buffer", but still only implemented for a box...</span>
-<a name="l00024"></a>00024
-<a name="l00034"></a>00034 <span class="keyword">namespace </span>ggl
-<a name="l00035"></a>00035 {
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00038"></a>00038 <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="l00039"></a>00039
-<a name="l00040"></a>00040 <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="l00041"></a>00041 <span class="keyword">struct </span>box_loop
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<BoxOut>::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(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>, BoxOut& box_out)
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 set<C, D>(box_out, boost::numeric_cast<coordinate_type>(get<C, D>(box_in) + distance));
-<a name="l00048"></a>00048 box_loop<BoxIn, BoxOut, T, C, D + 1, N>::apply(box_in, <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, box_out);
-<a name="l00049"></a>00049 }
-<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> 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> N>
-<a name="l00053"></a>00053 <span class="keyword">struct </span>box_loop<BoxIn, BoxOut, T, C, N, N>
-<a name="l00054"></a>00054 {
-<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(BoxIn <span class="keyword">const</span>&, T <span class="keyword">const</span>&, BoxOut&) {}
-<a name="l00056"></a>00056 };
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="comment">// Extends a box with the same amount in all directions</span>
-<a name="l00059"></a>00059 <span class="keyword">template</span><<span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> T>
-<a name="l00060"></a>00060 <span class="keyword">inline</span> <span class="keywordtype">void</span> buffer_box(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>, BoxOut& box_out)
-<a name="l00061"></a>00061 {
-<a name="l00062"></a>00062 assert_dimension_equal<BoxIn, BoxOut>();
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t N = <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<BoxIn>::value</a>;
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 box_loop<BoxIn, BoxOut, T, min_corner, 0, N>::apply(box_in, -distance, box_out);
-<a name="l00067"></a>00067 box_loop<BoxIn, BoxOut, T, max_corner, 0, N>::apply(box_in, +distance, box_out);
-<a name="l00068"></a>00068 }
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 }} <span class="comment">// namespace detail::buffer</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 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<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> 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="l00078"></a>00078 <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="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>
+<a name="l00022"></a>00022 <span class="comment">// Now "buffer", but still only implemented for a box...</span>
+<a name="l00023"></a>00023
+<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__buffer.html#g8eba9385881e8f0d9e45e379df214b63" 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
+<a name="l00041"></a>00041 {
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<BoxOut>::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(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>, BoxOut& box_out)
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 set<C, D>(box_out, boost::numeric_cast<coordinate_type>(get<C, D>(box_in) + distance));
+<a name="l00047"></a>00047 box_loop<BoxIn, BoxOut, T, C, D + 1, N>::apply(box_in, <a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>, box_out);
+<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> 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> N>
+<a name="l00052"></a>00052 <span class="keyword">struct </span>box_loop<BoxIn, BoxOut, T, 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(BoxIn <span class="keyword">const</span>&, T <span class="keyword">const</span>&, BoxOut&) {}
+<a name="l00055"></a>00055 };
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="comment">// Extends a box with the same amount in all directions</span>
+<a name="l00058"></a>00058 <span class="keyword">template</span><<span class="keyword">typename</span> BoxIn, <span class="keyword">typename</span> BoxOut, <span class="keyword">typename</span> T>
+<a name="l00059"></a>00059 <span class="keyword">inline</span> <span class="keywordtype">void</span> buffer_box(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>, BoxOut& box_out)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 assert_dimension_equal<BoxIn, BoxOut>();
+<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="classcore__dispatch_1_1dimension.html">dimension<BoxIn>::value</a>;
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 box_loop<BoxIn, BoxOut, T, min_corner, 0, N>::apply(box_in, -distance, box_out);
+<a name="l00066"></a>00066 box_loop<BoxIn, BoxOut, T, max_corner, 0, N>::apply(box_in, +distance, box_out);
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068
+<a name="l00069"></a>00069 }} <span class="comment">// namespace detail::buffer</span>
+<a name="l00070"></a>00070 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<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> 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="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> BoxIn, <span class="keyword">typename</span> T, <span class="keyword">typename</span> BoxOut>
-<a name="l00082"></a>00082 <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="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 <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="l00085"></a>00085 T <span class="keyword">const</span>& chord_length, BoxIn& box_out)
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 detail::buffer::buffer_box(box_in, distance, box_out);
-<a name="l00088"></a>00088 }
-<a name="l00089"></a>00089 };
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="comment">// Many things to do. Point is easy, other geometries require self intersections</span>
-<a name="l00092"></a>00092 <span class="comment">// For point, note that it should output as a polygon (like the rest). Buffers</span>
-<a name="l00093"></a>00093 <span class="comment">// of a set of geometries are often lateron combined using a "dissolve" operation.</span>
-<a name="l00094"></a>00094 <span class="comment">// Two points close to each other get a combined kidney shaped buffer then.</span>
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 } <span class="comment">// namespace dispatch</span>
-<a name="l00097"></a>00097 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
-<a name="l00098"></a>00098 <span class="preprocessor"></span>
-<a name="l00099"></a>00099
-<a name="l00111"></a>00111 <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="l00112"></a><a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63">00112</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="l00113"></a>00113 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="l00114"></a>00114 {
-<a name="l00115"></a>00115 <a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63" title="Calculate buffer (= new geometry) around specified distance of geometry.">dispatch::buffer</a>
-<a name="l00116"></a>00116 <
-<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<Input>::type</a>,
-<a name="l00118"></a>00118 <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="l00119"></a>00119 Input,
-<a name="l00120"></a>00120 T,
-<a name="l00121"></a>00121 Output
-<a name="l00122"></a>00122 >::apply(geometry_in, distance, chord_length, geometry_out);
-<a name="l00123"></a>00123 }
-<a name="l00124"></a>00124
-<a name="l00134"></a>00134 <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="l00135"></a><a class="code" href="group__buffer.html#g86e90005b6d11abc10459e02e4f4ed22">00135</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="l00136"></a>00136 {
-<a name="l00137"></a>00137 Output geometry_out;
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 <a class="code" href="group__buffer.html#g8eba9385881e8f0d9e45e379df214b63" title="Calculate buffer (= new geometry) around specified distance of geometry.">dispatch::buffer</a>
-<a name="l00140"></a>00140 <
-<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<Input>::type</a>,
-<a name="l00142"></a>00142 <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="l00143"></a>00143 Input,
-<a name="l00144"></a>00144 T,
-<a name="l00145"></a>00145 Output
-<a name="l00146"></a>00146 >::apply(geometry, distance, chord_length, geometry_out);
-<a name="l00147"></a>00147
-<a name="l00148"></a>00148 <span class="keywordflow">return</span> geometry_out;
-<a name="l00149"></a>00149 }
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 } <span class="comment">// namespace ggl</span>
-<a name="l00152"></a>00152
-<a name="l00153"></a>00153 <span class="preprocessor">#endif // GGL_ALGORITHMS_BUFFER_HPP</span>
+<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="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)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 detail::buffer::buffer_box(box_in, distance, box_out);
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088 };
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090 <span class="comment">// Many things to do. Point is easy, other geometries require self intersections</span>
+<a name="l00091"></a>00091 <span class="comment">// For point, note that it should output as a polygon (like the rest). Buffers</span>
+<a name="l00092"></a>00092 <span class="comment">// of a set of geometries are often lateron combined using a "dissolve" operation.</span>
+<a name="l00093"></a>00093 <span class="comment">// Two points close to each other get a combined kidney shaped buffer then.</span>
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 } <span class="comment">// namespace dispatch</span>
+<a name="l00096"></a>00096 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<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="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>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -75,7 +75,7 @@
<span class="comment">// Specializations of area dispatch structure, implement algorithm</span>
<span class="keyword">template</span><<span class="keyword">typename</span> P, <span class="keyword">typename</span> S>
-<span class="keyword">struct </span><a name="a1"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><ring_tag, triangle<P>, S>
+<span class="keyword">struct </span><a name="a1"></a><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><ring_tag, triangle<P>, <a name="a2"></a><a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>, S>
{
<span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> apply(triangle<P> <span class="keyword">const</span>& t, S <span class="keyword">const</span>&)
{
@@ -95,12 +95,12 @@
t[1] = boost::make_tuple(5, 0);
t[2] = boost::make_tuple(2.5, 2.5);
- std::cout << <span class="stringliteral">"Triangle: "</span> << <a name="a2"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(t) << std::endl;
+ std::cout << <span class="stringliteral">"Triangle: "</span> << <a name="a3"></a><a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(t) << std::endl;
std::cout << <span class="stringliteral">"Area: "</span> << <a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">ggl::area</a>(t) << std::endl;
<span class="comment">//ggl::point_xy<double> c;</span>
boost::tuple<double, double> c;
- <a name="a3"></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#g2b743cdd7177313b561780ba87c633cd" title="Calculate centroid.">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;
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -124,149 +124,151 @@
<a name="l00090"></a>00090 CalculationType
<a name="l00091"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">00091</a> >::type <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a>;
<a name="l00092"></a>00092
-<a name="l00093"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">00093</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance<calculation_type></a> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">return_type</a>;
-<a name="l00094"></a>00094
+<a name="l00093"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#4a6f6649a2e25a6c584c29a5c6a3bee0">00093</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="l00094"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">00094</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance<calculation_type></a> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">return_type</a>;
<a name="l00095"></a>00095
-<a name="l00096"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">00096</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="l00097"></a>00097 <span class="keyword"> </span>{
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 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="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<P2></a>) );
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="comment">// Calculate distance using Pythagoras</span>
-<a name="l00103"></a>00103 <span class="comment">// (Leave comment above for Doxygen)</span>
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 assert_dimension_equal<P1, P2>();
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">return_type</a>(detail::compute_pythagoras
-<a name="l00108"></a>00108 <
-<a name="l00109"></a>00109 P1, P2,
-<a name="l00110"></a>00110 <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>::value</a>,
-<a name="l00111"></a>00111 <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a>
-<a name="l00112"></a>00112 >::apply(p1, p2));
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114 };
-<a name="l00115"></a>00115
+<a name="l00096"></a>00096
+<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="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>
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 assert_dimension_equal<P1, P2>();
+<a name="l00107"></a>00107
+<a name="l00108"></a>00108 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">return_type</a>(detail::compute_pythagoras
+<a name="l00109"></a>00109 <
+<a name="l00110"></a>00110 P1, P2,
+<a name="l00111"></a>00111 <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>::value</a>,
+<a name="l00112"></a>00112 <a class="code" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a>
+<a name="l00113"></a>00113 >::apply(p1, p2));
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 };
<a name="l00116"></a>00116
-<a name="l00128"></a>00128 <span class="keyword">template</span>
-<a name="l00129"></a>00129 <
-<a name="l00130"></a>00130 <span class="keyword">typename</span> P,
-<a name="l00131"></a>00131 <span class="keyword">typename</span> Segment,
-<a name="l00132"></a>00132 <span class="keyword">typename</span> Strategy = pythagoras<P, typename point_type<Segment>::type>
-<a name="l00133"></a>00133 >
-<a name="l00134"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">00134</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html" title="Strategy for distance point to segment.">xy_point_segment</a>
-<a name="l00135"></a>00135 {
-<a name="l00136"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">00136</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, 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="l00137"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">00137</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance<coordinate_type></a> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">return_type</a>;
-<a name="l00138"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#2e1bc521c8c39e2dfcbf4724df4f8b58">00138</a> <span class="keyword">typedef</span> Strategy <a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#2e1bc521c8c39e2dfcbf4724df4f8b58">distance_strategy_type</a>; <span class="comment">// OBSOLETE!</span>
-<a name="l00139"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">00139</a> <span class="keyword">typedef</span> Strategy <a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">point_strategy_type</a>;
+<a name="l00117"></a>00117
+<a name="l00129"></a>00129 <span class="keyword">template</span>
+<a name="l00130"></a>00130 <
+<a name="l00131"></a>00131 <span class="keyword">typename</span> P,
+<a name="l00132"></a>00132 <span class="keyword">typename</span> Segment,
+<a name="l00133"></a>00133 <span class="keyword">typename</span> Strategy = pythagoras<P, typename point_type<Segment>::type>
+<a name="l00134"></a>00134 >
+<a name="l00135"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">00135</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html" title="Strategy for distance point to segment.">xy_point_segment</a>
+<a name="l00136"></a>00136 {
+<a name="l00137"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#cfb9d185bcc22815ec15d07389ad03b9">00137</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="l00138"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">00138</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, 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="l00139"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">00139</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance<coordinate_type></a> <a class="code" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">return_type</a>;
<a name="l00140"></a>00140
-<a name="l00141"></a>00141
-<a name="l00142"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">00142</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_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">operator()</a>(P <span class="keyword">const</span>& p, Segment <span class="keyword">const</span>& s)<span class="keyword"> const</span>
-<a name="l00143"></a>00143 <span class="keyword"> </span>{
-<a name="l00144"></a>00144 assert_dimension_equal<P, Segment>();
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 <span class="comment">/* Algorithm</span>
-<a name="l00147"></a>00147 <span class="comment"> POINT v(x2 - x1, y2 - y1);</span>
-<a name="l00148"></a>00148 <span class="comment"> POINT w(px - x1, py - y1);</span>
-<a name="l00149"></a>00149 <span class="comment"> c1 = w . v</span>
-<a name="l00150"></a>00150 <span class="comment"> c2 = v . v</span>
-<a name="l00151"></a>00151 <span class="comment"> b = c1 / c2</span>
-<a name="l00152"></a>00152 <span class="comment"> RETURN POINT(x1 + b * vx, y1 + b * vy);</span>
-<a name="l00153"></a>00153 <span class="comment"> */</span>
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const
-<a name="l00156"></a>00156 <
-<a name="l00157"></a>00157 <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<Segment>::type</a>
-<a name="l00158"></a>00158 >::type segment_point_type;
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 segment_point_type v, w;
+<a name="l00141"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">00141</a> <span class="keyword">typedef</span> Strategy <a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">point_strategy_type</a>;
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a><a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">00144</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_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">operator()</a>(P <span class="keyword">const</span>& p, Segment <span class="keyword">const</span>& s)<span class="keyword"> const</span>
+<a name="l00145"></a>00145 <span class="keyword"> </span>{
+<a name="l00146"></a>00146 assert_dimension_equal<P, Segment>();
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148 <span class="comment">/* Algorithm</span>
+<a name="l00149"></a>00149 <span class="comment"> POINT v(x2 - x1, y2 - y1);</span>
+<a name="l00150"></a>00150 <span class="comment"> POINT w(px - x1, py - y1);</span>
+<a name="l00151"></a>00151 <span class="comment"> c1 = w . v</span>
+<a name="l00152"></a>00152 <span class="comment"> c2 = v . v</span>
+<a name="l00153"></a>00153 <span class="comment"> b = c1 / c2</span>
+<a name="l00154"></a>00154 <span class="comment"> RETURN POINT(x1 + b * vx, y1 + b * vy);</span>
+<a name="l00155"></a>00155 <span class="comment"> */</span>
+<a name="l00156"></a>00156
+<a name="l00157"></a>00157 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const
+<a name="l00158"></a>00158 <
+<a name="l00159"></a>00159 <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<Segment>::type</a>
+<a name="l00160"></a>00160 >::type segment_point_type;
<a name="l00161"></a>00161
-<a name="l00162"></a>00162 <span class="comment">// TODO</span>
-<a name="l00163"></a>00163 <span class="comment">// ASSUMPTION: segment</span>
-<a name="l00164"></a>00164 <span class="comment">// SOLVE THIS USING OTHER FUNCTIONS using get<,></span>
-<a name="l00165"></a>00165 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(s.second, v);
-<a name="l00166"></a>00166 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(p, w);
-<a name="l00167"></a>00167 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(v, s.first);
-<a name="l00168"></a>00168 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(w, s.first);
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 Strategy strategy;
+<a name="l00162"></a>00162 segment_point_type v, w;
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="comment">// TODO</span>
+<a name="l00165"></a>00165 <span class="comment">// ASSUMPTION: segment</span>
+<a name="l00166"></a>00166 <span class="comment">// SOLVE THIS USING OTHER FUNCTIONS using get<,></span>
+<a name="l00167"></a>00167 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(s.second, v);
+<a name="l00168"></a>00168 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(p, w);
+<a name="l00169"></a>00169 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(v, s.first);
+<a name="l00170"></a>00170 <a class="code" href="group__arithmetic.html#g7c04cab8a69747a37549b75aefc227f9" title="Subtracts a point to another.">subtract_point</a>(w, s.first);
<a name="l00171"></a>00171
-<a name="l00172"></a>00172 <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="l00173"></a>00173 <span class="keywordflow">if</span> (c1 <= 0)
-<a name="l00174"></a>00174 {
-<a name="l00175"></a>00175 <span class="keywordflow">return</span> strategy(p, s.first);
-<a name="l00176"></a>00176 }
-<a name="l00177"></a>00177 <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="l00178"></a>00178 <span class="keywordflow">if</span> (c2 <= c1)
-<a name="l00179"></a>00179 {
-<a name="l00180"></a>00180 <span class="keywordflow">return</span> strategy(p, s.second);
-<a name="l00181"></a>00181 }
-<a name="l00182"></a>00182
-<a name="l00183"></a>00183 <span class="comment">// Even in case of char's, we have to turn to a point<double/float></span>
-<a name="l00184"></a>00184 <span class="comment">// because of the division.</span>
-<a name="l00185"></a>00185 <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> b = c1 / c2;
-<a name="l00186"></a>00186
-<a name="l00187"></a>00187 <span class="comment">// Note that distances with integer coordinates do NOT work because</span>
-<a name="l00188"></a>00188 <span class="comment">// - the project point is integer</span>
-<a name="l00189"></a>00189 <span class="comment">// - if we solve that, the used distance_strategy cannot handle double points</span>
-<a name="l00190"></a>00190 segment_point_type projected;
-<a name="l00191"></a>00191 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(s.first, projected);
-<a name="l00192"></a>00192 <a class="code" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d" title="Multiplies each coordinate of a point by a value.">multiply_value</a>(v, b);
-<a name="l00193"></a>00193 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(projected, v);
-<a name="l00194"></a>00194
-<a name="l00195"></a>00195 <span class="keywordflow">return</span> strategy(p, projected);
+<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="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="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);
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="comment">// Even in case of char's, we have to turn to a point<double/float></span>
+<a name="l00186"></a>00186 <span class="comment">// because of the division.</span>
+<a name="l00187"></a>00187 <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> b = c1 / c2;
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 <span class="comment">// Note that distances with integer coordinates do NOT work because</span>
+<a name="l00190"></a>00190 <span class="comment">// - the project point is integer</span>
+<a name="l00191"></a>00191 <span class="comment">// - if we solve that, the used distance_strategy cannot handle double points</span>
+<a name="l00192"></a>00192 segment_point_type projected;
+<a name="l00193"></a>00193 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(s.first, projected);
+<a name="l00194"></a>00194 <a class="code" href="group__arithmetic.html#gfc95bf881239da6c1f64f5b8d63dbe9d" title="Multiplies each coordinate of a point by a value.">multiply_value</a>(v, b);
+<a name="l00195"></a>00195 <a class="code" href="group__arithmetic.html#g3be737bb0f230fe9349df97e4c7ff09f" title="Adds a point to another.">add_point</a>(projected, v);
<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::distance</span>
+<a name="l00197"></a>00197 <span class="keywordflow">return</span> strategy(p, projected);
+<a name="l00198"></a>00198
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200 };
<a name="l00201"></a>00201
-<a name="l00202"></a>00202
+<a name="l00202"></a>00202 }} <span class="comment">// namespace strategy::distance</span>
<a name="l00203"></a>00203
-<a name="l00204"></a>00204 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00205"></a>00205 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00206"></a>00206 <span class="keyword">struct </span>strategy_distance<cartesian_tag, cartesian_tag, P1, P2>
-<a name="l00207"></a>00207 {
-<a name="l00208"></a>00208 <span class="keyword">typedef</span> strategy::distance::pythagoras<P1, P2> <a class="code" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">type</a>;
-<a name="l00209"></a>00209 };
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment>
-<a name="l00212"></a>00212 <span class="keyword">struct </span>strategy_distance_segment<cartesian_tag, cartesian_tag, Point, Segment>
-<a name="l00213"></a>00213 {
-<a name="l00214"></a>00214 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Segment>::type segment_point_type;
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216 <span class="keyword">typedef</span> strategy::distance::xy_point_segment
-<a name="l00217"></a>00217 <
-<a name="l00218"></a>00218 Point,
-<a name="l00219"></a>00219 Segment,
-<a name="l00220"></a>00220 <span class="keyword">typename</span> strategy_distance
-<a name="l00221"></a>00221 <
-<a name="l00222"></a>00222 cartesian_tag, cartesian_tag, Point, segment_point_type
-<a name="l00223"></a>00223 ><a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">::type</a>
-<a name="l00224"></a>00224 > <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
-<a name="l00225"></a>00225 };
-<a name="l00226"></a>00226 <span class="preprocessor">#endif</span>
-<a name="l00227"></a>00227 <span class="preprocessor"></span>
-<a name="l00228"></a>00228
-<a name="l00229"></a>00229 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00230"></a><a class="code" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html">00230</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag.html">strategy_tag</a><strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::pythagoras<P1, P2> >
-<a name="l00231"></a>00231 {
-<a name="l00232"></a><a class="code" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html#c2105145e587929fce337ec44821b5a8">00232</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a> <a class="code" href="structggl_1_1strategy__tag__distance__point__point.html">type</a>;
-<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> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment, <span class="keyword">typename</span> PPStrategy>
-<a name="l00236"></a><a class="code" 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">00236</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag.html">strategy_tag</a><strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::xy_point_segment<Point, Segment, PPStrategy> >
-<a name="l00237"></a>00237 {
-<a name="l00238"></a><a class="code" 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">00238</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a> <a class="code" href="structggl_1_1strategy__tag__distance__point__segment.html">type</a>;
-<a name="l00239"></a>00239 };
-<a name="l00240"></a>00240
-<a name="l00241"></a>00241
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00207"></a>00207 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00208"></a>00208 <span class="keyword">struct </span>strategy_distance<cartesian_tag, cartesian_tag, P1, P2>
+<a name="l00209"></a>00209 {
+<a name="l00210"></a>00210 <span class="keyword">typedef</span> strategy::distance::pythagoras<P1, P2> <a class="code" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">type</a>;
+<a name="l00211"></a>00211 };
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment>
+<a name="l00214"></a>00214 <span class="keyword">struct </span>strategy_distance_segment<cartesian_tag, cartesian_tag, Point, Segment>
+<a name="l00215"></a>00215 {
+<a name="l00216"></a>00216 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<Segment>::type segment_point_type;
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <span class="keyword">typedef</span> strategy::distance::xy_point_segment
+<a name="l00219"></a>00219 <
+<a name="l00220"></a>00220 Point,
+<a name="l00221"></a>00221 Segment,
+<a name="l00222"></a>00222 <span class="keyword">typename</span> strategy_distance
+<a name="l00223"></a>00223 <
+<a name="l00224"></a>00224 cartesian_tag, cartesian_tag, Point, segment_point_type
+<a name="l00225"></a>00225 ><a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">::type</a>
+<a name="l00226"></a>00226 > <a class="code" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">type</a>;
+<a name="l00227"></a>00227 };
+<a name="l00228"></a>00228 <span class="preprocessor">#endif</span>
+<a name="l00229"></a>00229 <span class="preprocessor"></span>
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00232"></a><a class="code" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html">00232</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag.html">strategy_tag</a><strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::pythagoras<P1, P2> >
+<a name="l00233"></a>00233 {
+<a name="l00234"></a><a class="code" href="structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html#c2105145e587929fce337ec44821b5a8">00234</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy__tag__distance__point__point.html">strategy_tag_distance_point_point</a> <a class="code" href="structggl_1_1strategy__tag__distance__point__point.html">type</a>;
+<a name="l00235"></a>00235 };
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237 <span class="keyword">template</span> <<span class="keyword">typename</span> Po<span class="keywordtype">int</span>, <span class="keyword">typename</span> Segment, <span class="keyword">typename</span> PPStrategy>
+<a name="l00238"></a><a class="code" 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">00238</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy__tag.html">strategy_tag</a><strategy::<a class="code" href="group__distance.html#g22a618786d2601e9201896a8346c161b" title="Calculate distance between two geometries with a specified strategy.">distance</a>::xy_point_segment<Point, Segment, PPStrategy> >
+<a name="l00239"></a>00239 {
+<a name="l00240"></a><a class="code" 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">00240</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy__tag__distance__point__segment.html">strategy_tag_distance_point_segment</a> <a class="code" href="structggl_1_1strategy__tag__distance__point__segment.html">type</a>;
+<a name="l00241"></a>00241 };
<a name="l00242"></a>00242
-<a name="l00243"></a>00243 } <span class="comment">// namespace ggl</span>
+<a name="l00243"></a>00243
<a name="l00244"></a>00244
-<a name="l00245"></a>00245
-<a name="l00246"></a>00246 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_DISTANCE_HPP</span>
+<a name="l00245"></a>00245 } <span class="comment">// namespace ggl</span>
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="preprocessor">#endif // GGL_STRATEGY_CARTESIAN_DISTANCE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/class_point_list.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/class_point_list.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -43,7 +43,7 @@
</div>
</div>
<div class="contents">
-<h1>PointList Class Reference</h1><!-- doxytag: class="PointList" -->Inherited by <a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< Point, PointList, PointAlloc ></a>.
+<h1>PointList Class Reference</h1><!-- doxytag: class="PointList" -->Inherited by <a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< Point, PointList, ClockWise, PointAlloc ></a>.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -43,28 +43,29 @@
</div>
</div>
<div class="contents">
-<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_W">W</a> | <a class="qindex" href="#
letter_X">X</a></div><p>
+<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="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></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_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><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_01_4.html">access< ggl::detail::intersect
ion::intersection_point< P > ></a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </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_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__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_1area__result.html">area_result</a> (<a class="el" href="namespaceggl.html">ggl</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< P
1, 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_1as__range__type.html">as_range_type</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_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 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="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="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_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 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_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="structggl_1_1segment.html">segment</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="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_1box__tag.html">box_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_1segment__identifier.html">segment_identifier</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_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="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_1traits_1_1interior__rings.html">inter
ior_rings</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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 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_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="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_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 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_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_1cartesian__tag.html">cartesian_tag</a> (<a class="el" href="namespaceggl.html">ggl</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="classggl_1_1centro
id__exception.html">centroid_exception</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_1circular__iterator.html">circular_iterator</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="structggl_1_1traits_1_1clear.html">clear</a> (<a class="e
l" href="namespaceggl_1_1traits.html">ggl::traits</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_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="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.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_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_1strategy_1_1intersection_1_1liang__barsky.html">liang_barsky</a> (<a c
lass="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_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_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_1linear__ring.html">linear_ring</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_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_1linestring.html">linestring</a> (<a class="el" href="namespaceggl.html">ggl</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_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_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>) </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_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="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ll_point_segment</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</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_1envel
ope.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>) </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__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_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__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__linestring.html">multi_linestring</a> (<a class="el" href="namespaceggl.html">ggl</a>) &
nbsp; </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__linestring__tag.html">multi_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="structggl_1_1traits_1_1coordinate__type.html">coordinate_type</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</a>) </td><td><a cla
ss="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__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__point__tag.html">multi_point_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">coordinate_type< ggl::detail::intersection::intersection_point< P > ></a> (<a class="e
l" href="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__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_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__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_coordina
te</a> (<a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</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__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_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_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.html">strategy_tag</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="classggl_1_1nsphere.html">nsphere</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 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_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_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_1de9im.html">de9im</a> (<a class="el" href="namespaceggl.html">ggl</a>) </td><td><a class="el" href="structggl_1_1nsphere__tag.html">nsphere_tag</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
__segment.html">de9im_segment</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__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="classggl_1_1degree.html">degree</a> (<a class="el" href="namespaceggl.html">ggl</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__tag__unknown.html">strategy_tag_unknown</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_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__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__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_1point__const__iterator.html">point_const_iterator</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_1dimension.html">dimension</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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="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_1dimension.html">dimension</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>) </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="classcore__dispatch_1_1dimension.html">core_dispatch::dimension</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_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_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_1point__xy.html">point_xy</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_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="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_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_1topological__dimension.html">topological_dimension</a> (<a class="el" href="namespaceggl.html">ggl</a>)&n
bsp; </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.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_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__transforme
r_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 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 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_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 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_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.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_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="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_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_1
radius__access.html">radius_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_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 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="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="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 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_1stra
tegy_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 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__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 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__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 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_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>) </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_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_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="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_W">W</a> | <a class="qindex" href="#letter_X">X</a></div><p>
+</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 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_1geometry__collection__tag.html">geometry_collection_tag</a> (<a class="el" href="namespaceggl.html">ggl</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_01_4.html">access< 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_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.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="el" href="structggl_1_1geometry__not__recognized__tag.html">geometry_not_recognized_tag</a> (<a class="el" href="namespaceggl.html">ggl</a>)&nb
sp; </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="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_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_1as__range__type.html">as_ra
nge_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_1section.html">section</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 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="structggl_1_1sections.html">sections</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_1segment.html">segment</a> (<a class="el" href="namespaceggl.html">ggl</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 </div></td></tr></table>
ints.html">segment_intersection_points</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__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_1interior__type.html">interior_type</a> (<a class="el" href="namespaceggl.html">ggl</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 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__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="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__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="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__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 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_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 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__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_1circular__iterator.html">circular_iterator</a> (<a class="el" href="namespaceggl.html">ggl</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_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_1traits_1_1clear.html">clear</a> (<a class="el" href="namespaceggl_1_1traits.html">ggl::traits</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 c
lass="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_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_1linear__ring.html">linear_ring</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_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_1linestring.html">linestring</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_1_const_linestring.html">ConstLinestring</a> (<a class="el" href="namespaceggl_1_1concept.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_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_nsphere.html">Const
Nsphere</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_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="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ll_point_segment</a> (<a class="el" href="namespaceggl_1_1strategy_1_1distance.html">ggl::strategy::distance</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_pol
ygon.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_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></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>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -43,7 +43,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl::linear_ring< P, V, A > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< P, V, A ></a>, including all inherited members.<p><table>
+<h1>ggl::linear_ring< P, V, ClockWise, A > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< P, V, ClockWise, A ></a>, including all inherited members.<p><table>
</table></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1linear__ring.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -45,7 +45,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl::linear_ring< P, V, A > Class Template Reference</h1><!-- doxytag: class="ggl::linear_ring" -->A <a class="el" 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> (linear <a class="el" 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>) is a closed line which should not be selfintersecting.
+<h1>ggl::linear_ring< P, V, ClockWise, A > Class Template Reference</h1><!-- doxytag: class="ggl::linear_ring" -->A <a class="el" 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> (linear <a class="el" 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>) is a closed line which should not be selfintersecting.
<a href="#_details">More...</a>
<p>
@@ -54,8 +54,8 @@
<tr><td></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename P, template< typename, typename > class V = std::vector, template< typename > class A = std::allocator><br>
- class ggl::linear_ring< P, V, A ></h3>
+<h3>template<typename P, template< typename, typename > class V = std::vector, bool ClockWise = true, template< typename > class A = std::allocator><br>
+ class ggl::linear_ring< P, V, ClockWise, A ></h3>
A <a class="el" 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> (linear <a class="el" 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>) is a closed line which should not be selfintersecting.
<p>
@@ -70,7 +70,7 @@
<p>
<a class="el" href="03__polygon__example_8cpp-example.html#_a11">03_polygon_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="linear__ring_8hpp_source.html#l00039">39</a> of file <a class="el" href="linear__ring_8hpp_source.html">linear_ring.hpp</a>.</p>
+<p>Definition at line <a class="el" href="linear__ring_8hpp_source.html#l00041">41</a> of file <a class="el" href="linear__ring_8hpp_source.html">linear_ring.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -91,7 +91,7 @@
<dl compact><dt><b>Examples: </b></dt><dd>
<p>
-<a class="el" href="02__linestring__example_8cpp-example.html#_a18">02_linestring_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#_a8">07_graph_route_example.cpp</a>, and <a class="el" href="x03__b__soci__example_8cpp-example.html#_a0">x03_b_soci_example.cpp</a>.</dl>
+<a class="el" href="02__linestring__example_8cpp-example.html#_a17">02_linestring_example.cpp</a>, <a class="el" href="07__graph__route__example_8cpp-example.html#_a8">07_graph_route_example.cpp</a>, and <a class="el" href="x03__b__soci__example_8cpp-example.html#_a0">x03_b_soci_example.cpp</a>.</dl>
<p>Definition at line <a class="el" href="point_8hpp_source.html#l00034">34</a> of file <a class="el" href="point_8hpp_source.html">point.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="114e475fd2f5f30fac7f60ef732dd402"></a><!-- doxytag: member="ggl::point::coordinate_type" ref="114e475fd2f5f30fac7f60ef732dd402" args="" -->
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -48,7 +48,6 @@
<tr class="memlist"><td><a class="el" href="classggl_1_1point.html#e3cedeca07933bd026e910ee8bb4547b">coordinate_system</a> typedef</td><td><a class="el" href="classggl_1_1point.html">ggl::point< T, 2, C ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1point.html#114e475fd2f5f30fac7f60ef732dd402">coordinate_type</a> typedef</td><td><a class="el" href="classggl_1_1point.html">ggl::point< T, 2, C ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1point.html#1feea795639ff3f2d985cc9ca32d2f9e">get</a>() const</td><td><a class="el" href="classggl_1_1point.html">ggl::point< T, 2, C ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1point__xy.html#3c5f9d94906145cc473019b8eaf66e7d">operator<</a>(point_xy const &other) const </td><td><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy< T, C ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf">point</a>()</td><td><a class="el" href="classggl_1_1point.html">ggl::point< T, 2, C ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1point.html#18fecbb13a7e7fe65b42ee624a7b6834">point</a>(Tconst &v0, Tconst &v1=0, Tconst &v2=0)</td><td><a class="el" href="classggl_1_1point.html">ggl::point< T, 2, C ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1point__xy.html#1accd1e9e84fdf9cf8d9da084d239167">point_xy</a>()</td><td><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy< T, C ></a></td><td></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1point__xy.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -55,9 +55,6 @@
<a href="classggl_1_1point__xy-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">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#3c5f9d94906145cc473019b8eaf66e7d">operator<</a> (<a class="el" href="classggl_1_1point__xy.html">point_xy</a> const &other) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Compare two points. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">point_xy</a> (T const &x, T const &y)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor with x/y values. <br></td></tr>
@@ -259,32 +256,6 @@
</div>
</div><p>
-<a class="anchor" name="3c5f9d94906145cc473019b8eaf66e7d"></a><!-- doxytag: member="ggl::point_xy::operator<" ref="3c5f9d94906145cc473019b8eaf66e7d" args="(point_xy const &other) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename C = cs::cartesian> </div>
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="classggl_1_1point__xy.html">ggl::point_xy</a>< T, C >::operator< </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classggl_1_1point__xy.html">point_xy</a>< T, C > const & </td>
- <td class="paramname"> <em>other</em> </td>
- <td> ) </td>
- <td> const</td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Compare two points.
-<p>
-
-<p>Definition at line <a class="el" href="point__xy_8hpp_source.html#l00055">55</a> of file <a class="el" href="point__xy_8hpp_source.html">point_xy.hpp</a>.</p>
-
-</div>
-</div><p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -43,15 +43,15 @@
</div>
</div>
<div class="contents">
-<h1>ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#114bcb53b0264af8edaa53d8e42bf45f">clear</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#0d41c7b42a1444fdc759550644c7924e">inners</a>() const </td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#75a7c6b2f0fbc0c3e3127188f576c38f">inners</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">outer</a>() const </td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#6cdf9123dd3442b13cfd032555baea2f">outer</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#8dda8bcf15991e114554c6dcfb9c7231">point_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#1c6fe805fcbf99e4b70afe9202c820aa">ring_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a></td><td></td></tr>
+<h1>ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf">clear</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a>() const </td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">inners</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a>() const </td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">outer</a>()</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#662c4458e3099e30097a3fc909d54941">point_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">ring_type</a> typedef</td><td><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td><td></td></tr>
</table></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1polygon.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -45,7 +45,7 @@
</div>
</div>
<div class="contents">
-<h1>ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc > Class Template Reference</h1><!-- doxytag: class="ggl::polygon" -->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.
+<h1>ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc > Class Template Reference</h1><!-- doxytag: class="ggl::polygon" -->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.
<a href="#_details">More...</a>
<p>
@@ -54,29 +54,30 @@
<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 RingList< <a class="el" href="classggl_1_1linear__ring.html">ring_type</a>, <br class="typebreak">
-RingAlloc< <a class="el" href="classggl_1_1linear__ring.html">ring_type</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a></td></tr>
+RingAlloc< <a class="el" href="classggl_1_1linear__ring.html">ring_type</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_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_1polygon.html#8dda8bcf15991e114554c6dcfb9c7231">point_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_1polygon.html#662c4458e3099e30097a3fc909d54941">point_type</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classggl_1_1linear__ring.html">linear_ring</a>< Point, <br class="typebreak">
-<a class="el" href="class_point_list.html">PointList</a>, PointAlloc > </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#1c6fe805fcbf99e4b70afe9202c820aa">ring_type</a></td></tr>
+<a class="el" href="class_point_list.html">PointList</a>, ClockWise, <br class="typebreak">
+PointAlloc > </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">ring_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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#114bcb53b0264af8edaa53d8e42bf45f">clear</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_1polygon.html#45859e712d67f58e5813e87759892bdf">clear</a> ()</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility method, clears outer and inner rings. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#75a7c6b2f0fbc0c3e3127188f576c38f">inners</a> ()</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility method, clears outer and inner rings. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">inners</a> ()</td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#0d41c7b42a1444fdc759550644c7924e">inners</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a> () const </td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#6cdf9123dd3442b13cfd032555baea2f">outer</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">outer</a> ()</td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">outer</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> const & </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a> () const </td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator><br>
- class ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></h3>
+<h3>template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator><br>
+ class ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></h3>
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.
<p>
@@ -85,6 +86,7 @@
<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 </td></tr>
<tr><td valign="top"></td><td valign="top"><em>PointList</em> </td><td>optional container type for points, for example std::vector, std::list, std::deque </td></tr>
<tr><td valign="top"></td><td valign="top"><em>RingList</em> </td><td>optional container type for inner rings, for example std::vector, std::list, std::deque </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>ClockWise</em> </td><td>optional parameter, true for clockwise direction, false for CounterClockWise direction </td></tr>
<tr><td valign="top"></td><td valign="top"><em>PointAlloc</em> </td><td>container-allocator-type </td></tr>
<tr><td valign="top"></td><td valign="top"><em>RingAlloc</em> </td><td>container-allocator-type </td></tr>
</table>
@@ -94,16 +96,16 @@
<p>
<a class="el" href="02__linestring__example_8cpp-example.html#_a15">02_linestring_example.cpp</a>, <a class="el" href="03__polygon__example_8cpp-example.html#_a0">03_polygon_example.cpp</a>, and <a class="el" href="06__transformation__example_8cpp-example.html#_a4">06_transformation_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00046">46</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00051">51</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="8dda8bcf15991e114554c6dcfb9c7231"></a><!-- doxytag: member="ggl::polygon::point_type" ref="8dda8bcf15991e114554c6dcfb9c7231" args="" -->
+<a class="anchor" name="662c4458e3099e30097a3fc909d54941"></a><!-- doxytag: member="ggl::polygon::point_type" ref="662c4458e3099e30097a3fc909d54941" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
+template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
<table class="memname">
<tr>
- <td class="memname">typedef Point <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc >::<a class="el" href="structggl_1_1point__type.html">point_type</a> </td>
+ <td class="memname">typedef Point <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc >::<a class="el" href="structggl_1_1point__type.html">point_type</a> </td>
</tr>
</table>
</div>
@@ -111,18 +113,18 @@
<p>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00053">53</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00058">58</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="1c6fe805fcbf99e4b70afe9202c820aa"></a><!-- doxytag: member="ggl::polygon::ring_type" ref="1c6fe805fcbf99e4b70afe9202c820aa" args="" -->
+<a class="anchor" name="6d7c8304fda2d2f1850cf2eb994c441a"></a><!-- doxytag: member="ggl::polygon::ring_type" ref="6d7c8304fda2d2f1850cf2eb994c441a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
+template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
<table class="memname">
<tr>
- <td class="memname">typedef <a class="el" href="classggl_1_1linear__ring.html">linear_ring</a><Point, <a class="el" href="class_point_list.html">PointList</a>, PointAlloc> <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc >::<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> </td>
+ <td class="memname">typedef <a class="el" href="classggl_1_1linear__ring.html">linear_ring</a><Point, <a class="el" href="class_point_list.html">PointList</a>, ClockWise, PointAlloc> <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc >::<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> </td>
</tr>
</table>
</div>
@@ -130,18 +132,18 @@
<p>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00054">54</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00059">59</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="5c966fd82091bfdbe8d6693059b37864"></a><!-- doxytag: member="ggl::polygon::inner_container_type" ref="5c966fd82091bfdbe8d6693059b37864" args="" -->
+<a class="anchor" name="745719d755446c294264911892d97182"></a><!-- doxytag: member="ggl::polygon::inner_container_type" ref="745719d755446c294264911892d97182" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
+template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
<table class="memname">
<tr>
- <td class="memname">typedef RingList<<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> , RingAlloc<<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> > > <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc >::<a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> </td>
+ <td class="memname">typedef RingList<<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> , RingAlloc<<a class="el" href="classggl_1_1linear__ring.html">ring_type</a> > > <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc >::<a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> </td>
</tr>
</table>
</div>
@@ -149,19 +151,19 @@
<p>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00055">55</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00060">60</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="be04d3ead04813a25be1a219076358a8"></a><!-- doxytag: member="ggl::polygon::outer" ref="be04d3ead04813a25be1a219076358a8" args="() const " -->
+<a class="anchor" name="5faae375ec2c4b4547da615fa8864e74"></a><!-- doxytag: member="ggl::polygon::outer" ref="5faae375ec2c4b4547da615fa8864e74" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
+template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> const& <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc >::outer </td>
+ <td class="memname"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a> const& <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc >::outer </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
@@ -173,19 +175,19 @@
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="02__linestring__example_8cpp-example.html#a17">02_linestring_example.cpp</a>, and <a class="el" href="03__polygon__example_8cpp-example.html#a9">03_polygon_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00057">57</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<a class="el" href="03__polygon__example_8cpp-example.html#a9">03_polygon_example.cpp</a>.</dl>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00062">62</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="0d41c7b42a1444fdc759550644c7924e"></a><!-- doxytag: member="ggl::polygon::inners" ref="0d41c7b42a1444fdc759550644c7924e" args="() const " -->
+<a class="anchor" name="5a8564eeeaa4f244e6f70ab10395a63f"></a><!-- doxytag: member="ggl::polygon::inners" ref="5a8564eeeaa4f244e6f70ab10395a63f" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
+template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> const& <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc >::inners </td>
+ <td class="memname"><a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> const& <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc >::inners </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
@@ -198,18 +200,18 @@
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="03__polygon__example_8cpp-example.html#a10">03_polygon_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00058">58</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00063">63</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="6cdf9123dd3442b13cfd032555baea2f"></a><!-- doxytag: member="ggl::polygon::outer" ref="6cdf9123dd3442b13cfd032555baea2f" args="()" -->
+<a class="anchor" name="41e0bbcd9d466a41d8eecd6041f3c22c"></a><!-- doxytag: member="ggl::polygon::outer" ref="41e0bbcd9d466a41d8eecd6041f3c22c" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
+template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a>& <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc >::outer </td>
+ <td class="memname"><a class="el" href="classggl_1_1linear__ring.html">ring_type</a>& <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc >::outer </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
@@ -221,18 +223,18 @@
<p>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00060">60</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00065">65</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="75a7c6b2f0fbc0c3e3127188f576c38f"></a><!-- doxytag: member="ggl::polygon::inners" ref="75a7c6b2f0fbc0c3e3127188f576c38f" args="()" -->
+<a class="anchor" name="c750a19a332ddfe4958ad62c78de8109"></a><!-- doxytag: member="ggl::polygon::inners" ref="c750a19a332ddfe4958ad62c78de8109" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
+template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a>& <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc >::inners </td>
+ <td class="memname"><a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a>& <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc >::inners </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
@@ -244,18 +246,18 @@
<p>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00061">61</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00066">66</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="114bcb53b0264af8edaa53d8e42bf45f"></a><!-- doxytag: member="ggl::polygon::clear" ref="114bcb53b0264af8edaa53d8e42bf45f" args="()" -->
+<a class="anchor" name="45859e712d67f58e5813e87759892bdf"></a><!-- doxytag: member="ggl::polygon::clear" ref="45859e712d67f58e5813e87759892bdf" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
+template<typename Point, template< typename, typename > class PointList = std::vector, template< typename, typename > class RingList = std::vector, bool ClockWise = true, template< typename > class PointAlloc = std::allocator, template< typename > class RingAlloc = std::allocator> </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc >::clear </td>
+ <td class="memname">void <a class="el" href="classggl_1_1polygon.html">ggl::polygon</a>< Point, <a class="el" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc >::clear </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
@@ -269,7 +271,7 @@
Utility method, clears outer and inner rings.
<p>
-<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00064">64</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
+<p>Definition at line <a class="el" href="polygon_8hpp_source.html#l00069">69</a> of file <a class="el" href="polygon_8hpp_source.html">polygon.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -45,7 +45,7 @@
<div class="contents">
<h1>ggl::strategy::convex_hull::graham< P > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#5fdc022ecff10cfbea0d8d0f0dc4bcad">add_range</a>(const Range &range)</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#23378d3d7d381ddac21b68e449fbccbc">get</a>(OutputIterator out)</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#67876d356c1bf48171f46c116510f166">get</a>(OutputIterator out, bool clockwise)</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#00ccb1a05057f89cd1d557506e9eba1d">graham</a>()</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#03467845cee70dffe77e7469290d4e62">graham</a>(const Range &range)</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#886de91332db9c491dd1ea63c476a1c3">handle_input</a>()</td><td><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham< P ></a></td><td></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1convex__hull_1_1graham.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -54,7 +54,7 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#5fdc022ecff10cfbea0d8d0f0dc4bcad">add_range</a> (const Range &range)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename OutputIterator > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#23378d3d7d381ddac21b68e449fbccbc">get</a> (OutputIterator out)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#67876d356c1bf48171f46c116510f166">get</a> (OutputIterator out, bool clockwise)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Range > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html#03467845cee70dffe77e7469290d4e62">graham</a> (const Range &range)</td></tr>
@@ -69,7 +69,7 @@
class ggl::strategy::convex_hull::graham< P ></h3>
-<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00084">84</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
+<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00090">90</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="00ccb1a05057f89cd1d557506e9eba1d"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham::graham" ref="00ccb1a05057f89cd1d557506e9eba1d" args="()" -->
<div class="memitem">
@@ -90,7 +90,7 @@
<p>
-<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00101">101</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
+<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00107">107</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
</div>
</div><p>
@@ -116,12 +116,12 @@
<p>
-<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00107">107</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
+<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00113">113</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="23378d3d7d381ddac21b68e449fbccbc"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham::get" ref="23378d3d7d381ddac21b68e449fbccbc" args="(OutputIterator out)" -->
+<a class="anchor" name="67876d356c1bf48171f46c116510f166"></a><!-- doxytag: member="ggl::strategy::convex_hull::graham::get" ref="67876d356c1bf48171f46c116510f166" args="(OutputIterator out, bool clockwise)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@@ -133,9 +133,18 @@
<td class="memname">void <a class="el" href="classggl_1_1strategy_1_1convex__hull_1_1graham.html">ggl::strategy::convex_hull::graham</a>< P >::get </td>
<td>(</td>
<td class="paramtype">OutputIterator </td>
- <td class="paramname"> <em>out</em> </td>
- <td> ) </td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"> <em>clockwise</em></td><td> </td>
+ </tr>
+ <tr>
<td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
@@ -143,7 +152,7 @@
<p>
-<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00114">114</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
+<p>Definition at line <a class="el" href="agn__convex__hull_8hpp_source.html#l00120">120</a> of file <a class="el" href="agn__convex__hull_8hpp_source.html">agn_convex_hull.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track-members.html 2009-10-21 05:23:22 EDT (Wed, 21 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::distance::cross_track< P, S > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#06581a2187a083f85b27f19b97366549">cross_track</a>(double r=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">operator()</a>(P const &p, S const &s) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">point_strategy_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#08edd81bdb1f8a1296dbaebfc1ca3932">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, 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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1cross__track.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,228 @@
+<!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_1distance.html">distance</a>::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">cross_track</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::strategy::distance::cross_track< P, S > Class Template Reference<br>
+<small>
+[<a class="el" href="group__distance.html">distance calculation</a>]</small>
+</h1><!-- doxytag: class="ggl::strategy::distance::cross_track" -->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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> 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>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a><br class="typebreak">
+< typename <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag</a>< P ><br class="typebreak">
+::type, typename <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag</a><br class="typebreak">
+< P >::type, P, P >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">point_strategy_type</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef P </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#08edd81bdb1f8a1296dbaebfc1ca3932">point_type</a></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_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_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_1distance_1_1cross__track.html#06581a2187a083f85b27f19b97366549">cross_track</a> (double r=1.0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#64feaa8d5b329b87c74700e183edcf0b">operator()</a> (P const &p, S const &s) const </td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename P, typename S><br>
+ class ggl::strategy::distance::cross_track< P, S ></h3>
+
+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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation.
+<p>
+Class which calculates the <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> of a <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> to a <a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a>, using latlong points <dl class="see" compact><dt><b>See also:</b></dt><dd>http://williams.best.vwh.net/avform.htm </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 </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>S</em> </td><td><a class="el" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> type </td></tr>
+ </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>
+<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">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P , typename S > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>< P, S >::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+<a class="anchor" name="08edd81bdb1f8a1296dbaebfc1ca3932"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::point_type" ref="08edd81bdb1f8a1296dbaebfc1ca3932" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P , typename S > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef P <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>< P, S >::<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="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>
+
+</div>
+</div><p>
+<a class="anchor" name="bb01d09347d2f4f9bec8ab177592643e"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::point_strategy_type" ref="bb01d09347d2f4f9bec8ab177592643e" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P , typename S > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef <a class="el" href="structggl_1_1strategy__distance.html">strategy_distance</a>< typename <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag</a><P>::type, typename <a class="el" href="structggl_1_1cs__tag.html">ggl::cs_tag</a><P>::type, P, P >::type <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>< P, S >::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#bb01d09347d2f4f9bec8ab177592643e">point_strategy_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>
+
+</div>
+</div><p>
+<hr><h2>Constructor & Destructor Documentation</h2>
+<a class="anchor" name="06581a2187a083f85b27f19b97366549"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::cross_track" ref="06581a2187a083f85b27f19b97366549" args="(double r=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P , typename S > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>< P, S >::<a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">cross_track</a> </td>
+ <td>(</td>
+ <td class="paramtype">double </td>
+ <td class="paramname"> <em>r</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="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>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="64feaa8d5b329b87c74700e183edcf0b"></a><!-- doxytag: member="ggl::strategy::distance::cross_track::operator()" ref="64feaa8d5b329b87c74700e183edcf0b" args="(P const &p, S const &s) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P , typename S > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html#e62cf6b01d4e29e04700ef45e0b15db3">return_type</a> <a class="el" href="classggl_1_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track</a>< P, S >::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P const & </td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">S const & </td>
+ <td class="paramname"> <em>s</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="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>
+
+</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/classggl_1_1strategy_1_1distance_1_1haversine-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1distance_1_1haversine-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -45,7 +45,11 @@
<div class="contents">
<h1>ggl::strategy::distance::haversine< P1, P2 > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a>(double r=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a>(double r=1.0)</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">operator()</a>(P1 const &p1, P2 const &p2) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">operator()</a>(const P1 &p1, const P2 &p2) const </td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8ee0701ef57352296292047e3dcc3330">point_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td><td></td></tr>
</table></div>
<hr size="1">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -56,13 +56,21 @@
<a href="classggl_1_1strategy_1_1distance_1_1haversine-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 P1 </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8ee0701ef57352296292047e3dcc3330">point_type</a></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_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a></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_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_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_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a> (double r=1.0)</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_1distance_1_1haversine.html#85ea8852c843a8950010229d0da4504a">haversine</a> (double r=1.0)</td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">operator()</a> (const P1 &p1, const P2 &p2) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#4e6620683b788431de8942b0376af7af">operator()</a> (P1 const &p1, P2 const &p2) const </td></tr>
+
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template<typename P1, typename P2 = P1><br>
@@ -80,7 +88,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="haversine_8hpp_source.html#l00048">48</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
+<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>
<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">
@@ -97,6 +105,44 @@
<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>
+<a class="anchor" name="8ee0701ef57352296292047e3dcc3330"></a><!-- doxytag: member="ggl::strategy::distance::haversine::point_type" ref="8ee0701ef57352296292047e3dcc3330" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P1, typename P2 = P1> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef P1 <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>< P1, P2 >::<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="distance__haversine_8hpp_source.html#l00052">52</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="8fd848a2bbc5857c70fa6bce5ffac5d3"></a><!-- doxytag: member="ggl::strategy::distance::haversine::return_type" ref="8fd848a2bbc5857c70fa6bce5ffac5d3" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P1, typename P2 = P1> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef double <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>< P1, P2 >::<a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
<p>Definition at line <a class="el" href="haversine_8hpp_source.html#l00052">52</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
</div>
@@ -122,11 +168,68 @@
<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>
+
+</div>
+</div><p>
+<a class="anchor" name="85ea8852c843a8950010229d0da4504a"></a><!-- doxytag: member="ggl::strategy::distance::haversine::haversine" ref="85ea8852c843a8950010229d0da4504a" args="(double r=1.0)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P1, typename P2 = P1> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>< P1, P2 >::<a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">haversine</a> </td>
+ <td>(</td>
+ <td class="paramtype">double </td>
+ <td class="paramname"> <em>r</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="haversine_8hpp_source.html#l00054">54</a> of file <a class="el" href="haversine_8hpp_source.html">haversine.hpp</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="4e6620683b788431de8942b0376af7af"></a><!-- doxytag: member="ggl::strategy::distance::haversine::operator()" ref="4e6620683b788431de8942b0376af7af" args="(P1 const &p1, P2 const &p2) const " -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P1, typename P2 = P1> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">return_type</a> <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine</a>< P1, P2 >::operator() </td>
+ <td>(</td>
+ <td class="paramtype">P1 const & </td>
+ <td class="paramname"> <em>p1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P2 const & </td>
+ <td class="paramname"> <em>p2</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="distance__haversine_8hpp_source.html#l00058">58</a> of file <a class="el" href="distance__haversine_8hpp_source.html">distance_haversine.hpp</a>.</p>
+
+</div>
+</div><p>
<a class="anchor" name="cfc29c7f64c6136784283fab579fa970"></a><!-- doxytag: member="ggl::strategy::distance::haversine::operator()" ref="cfc29c7f64c6136784283fab579fa970" args="(const P1 &p1, const P2 &p2) const " -->
<div class="memitem">
<div class="memproto">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -44,7 +44,9 @@
</div>
<div class="contents">
<h1>ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS > Member List</h1>This is the complete list of members for <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#45491352f7c455ea801781c8b7c812d9">apply</a>(Range const &range, OutputIterator out, double max_distance)</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#d9c2f3932590f7088e2cdf032c41458b">distance_strategy_type</a> typedef</td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">simplify</a>(const R &range, O_IT out, double max_distance) const </td><td><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a></td><td></td></tr>
</table></div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -56,12 +56,18 @@
<a href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker-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 PointDistanceStrategy </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#d9c2f3932590f7088e2cdf032c41458b">distance_strategy_type</a></td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PSDS </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">simplify</a> (const R &range, O_IT out, double max_distance) const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Call simplification on an iterator pair. <br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Range , typename OutputIterator > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static OutputIterator </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#45491352f7c455ea801781c8b7c812d9">apply</a> (Range const &range, OutputIterator out, double max_distance)</td></tr>
+
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template<typename R, typename O_IT, typename PSDS><br>
@@ -80,6 +86,17 @@
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> uses itself a point-segment-distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> which can be specified </dd></dl>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend and Maarten, 1995/1996 <p>
+Barend, revised for Generic Geometry Library, 2008</dd></dl>
+The <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">douglas_peucker</a> <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> simplifies 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 vector of points using the well-known Douglas-Peucker algorithm. For the algorithm, see for example: <dl class="see" compact><dt><b>See also:</b></dt><dd>http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm <p>
+http://www2.dcs.hull.ac.uk/CISRG/projects/Royal-Inst/demos/dp.html </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>Point</em> </td><td>the <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PointDistanceStrategy</em> </td><td>point-segment <a class="el" href="namespaceggl_1_1strategy_1_1distance.html">distance</a> <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used </td></tr>
+ </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>This <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> uses itself a point-segment-distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> which can be specified </dd></dl>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Barend and Maarten, 1995/1996 <p>
Barend, revised for Generic Geometry Library, 2008 </dd></dl>
<p>Definition at line <a class="el" href="agn__simplify_8hpp_source.html#l00079">79</a> of file <a class="el" href="agn__simplify_8hpp_source.html">agn_simplify.hpp</a>.</p>
@@ -103,6 +120,25 @@
</div>
</div><p>
+<a class="anchor" name="d9c2f3932590f7088e2cdf032c41458b"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::distance_strategy_type" ref="d9c2f3932590f7088e2cdf032c41458b" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename R , typename O_IT , typename PSDS > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef PointDistanceStrategy <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>< R, O_IT, PSDS >::<a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="simplify__douglas__peucker_8hpp_source.html#l00166">166</a> of file <a class="el" href="simplify__douglas__peucker_8hpp_source.html">simplify_douglas_peucker.hpp</a>.</p>
+
+</div>
+</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="dca55aa87f6d5b49df52585fa0f97add"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::simplify" ref="dca55aa87f6d5b49df52585fa0f97add" args="(const R &range, O_IT out, double max_distance) const " -->
<div class="memitem">
@@ -145,6 +181,47 @@
</div>
</div><p>
+<a class="anchor" name="45491352f7c455ea801781c8b7c812d9"></a><!-- doxytag: member="ggl::strategy::simplify::douglas_peucker::apply" ref="45491352f7c455ea801781c8b7c812d9" args="(Range const &range, OutputIterator out, double max_distance)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename R , typename O_IT , typename PSDS > </div>
+<div class="memtemplate">
+template<typename Range , typename OutputIterator > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">static OutputIterator <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker</a>< R, O_IT, PSDS >::apply </td>
+ <td>(</td>
+ <td class="paramtype">Range const & </td>
+ <td class="paramname"> <em>range</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OutputIterator </td>
+ <td class="paramname"> <em>out</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double </td>
+ <td class="paramname"> <em>max_distance</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="simplify__douglas__peucker_8hpp_source.html#l00170">170</a> of file <a class="el" href="simplify__douglas__peucker_8hpp_source.html">simplify_douglas_peucker.hpp</a>.</p>
+
+</div>
+</div><p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -69,7 +69,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00044">44</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00049">49</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -79,7 +79,7 @@
class ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 ></h3>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00049">49</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00054">54</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="ffa7fb0b1ff1d5fd75be30486c0d46a8"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer< P1, P2, 2, 2 >::coordinate_type" ref="ffa7fb0b1ff1d5fd75be30486c0d46a8" args="" -->
<div class="memitem">
@@ -98,7 +98,7 @@
<p>Reimplemented in <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_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>, and <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00052">52</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00057">57</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -119,7 +119,7 @@
<p>Reimplemented in <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00053">53</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00058">58</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -138,7 +138,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00054">54</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00059">59</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -216,7 +216,7 @@
<p>Reimplemented in <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#2a4a593ed9bfa13f35718c475f8e99fb">ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></a>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00058">58</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00063">63</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -241,7 +241,7 @@
<p>Reimplemented in <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00069">69</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00074">74</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -275,7 +275,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00075">75</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00080">80</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -298,7 +298,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00093">93</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00098">98</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -318,7 +318,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00055">55</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00060">60</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -80,7 +80,7 @@
class ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 ></h3>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00121">121</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00126">126</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="f18e27122021194c07a471589ba9307d"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer< P1, P2, 3, 3 >::coordinate_type" ref="f18e27122021194c07a471589ba9307d" args="" -->
<div class="memitem">
@@ -99,7 +99,7 @@
<p>Reimplemented in <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>, and <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00124">124</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00129">129</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -118,7 +118,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00125">125</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00130">130</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -137,7 +137,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00126">126</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00131">131</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -255,7 +255,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00129">129</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00134">134</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -278,7 +278,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00143">143</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00148">148</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -312,7 +312,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00151">151</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00156">156</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -335,7 +335,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00169">169</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00174">174</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -355,7 +355,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00127">127</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00132">132</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -59,161 +59,160 @@
<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="assign__box__corner_8hpp.html">ggl/util/assign_box_corner.hpp</a>></span>
-<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="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="l00062"></a>00062
-<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="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="l00073"></a>00073
-<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="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="l00105"></a>00105
-<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="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="l00116"></a>00116
-<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="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="l00123"></a>00123
-<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="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="l00148"></a>00148
-<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="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="l00155"></a>00155
-<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="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="l00162"></a>00162
-<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 assert_dimension_equal<Box, Geometry>();
-<a name="l00180"></a>00180 <a class="code" href="group__combine.html#gf2336ad085ad8b79cde5a759ab229199" title="Combines a box with another geometry (box, point).">dispatch::combine</a>
-<a name="l00181"></a>00181 <
-<a name="l00182"></a>00182 <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="l00183"></a>00183 Box, Geometry
-<a name="l00184"></a>00184 >::apply(box, geometry);
-<a name="l00185"></a>00185 }
-<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_COMBINE_HPP</span>
+<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>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -96,96 +96,109 @@
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
<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> T1, <span class="keyword">typename</span> T2, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
-<a name="l00063"></a>00063 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a>
-<a name="l00064"></a>00064 {
-<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> T, <span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
-<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><T, T, G1, G2>
+<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 <span class="comment">// Same geometry type -> copy coordinates from G1 to G2</span>
-<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> T, <span class="keyword">typename</span> G>
-<a name="l00074"></a>00074 <span class="keyword">struct </span><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">convert</a><T, T, G, G>
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="comment">// Same geometry -> can be copied</span>
-<a name="l00077"></a>00077 };
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080 <span class="comment">// Partial specializations</span>
-<a name="l00081"></a>00081 <span class="keyword">template</span> <<span class="keyword">typename</span> B, <span class="keyword">typename</span> R>
-<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><box_tag, ring_tag, B, R>
-<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(B <span class="keyword">const</span>& box, R& ring)
-<a name="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="comment">// go from box to ring -> add coordinates in correct order</span>
-<a name="l00087"></a>00087 <span class="comment">// only valid for 2D</span>
-<a name="l00088"></a>00088 assert_dimension<B, 2>();
+<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 ring.clear();
-<a name="l00091"></a>00091 <span class="keyword">typename</span> point_type<B>::type point;
-<a name="l00092"></a>00092
-<a name="l00093"></a>00093 <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="l00094"></a>00094 <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="l00095"></a>00095
-<a name="l00096"></a>00096 <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="l00097"></a>00097 <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="l00098"></a>00098
-<a name="l00099"></a>00099 <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="l00100"></a>00100 <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="l00101"></a>00101
-<a name="l00102"></a>00102 <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="l00103"></a>00103 <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="l00104"></a>00104
-<a name="l00105"></a>00105 <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="l00106"></a>00106 <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="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> B, <span class="keyword">typename</span> P>
-<a name="l00111"></a>00111 <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, B, P>
-<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(B <span class="keyword">const</span>& box, P& polygon)
-<a name="l00114"></a>00114 {
-<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keyword">typename</span> ring_type<P>::type ring_type;
+<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 convert<box_tag, ring_tag, 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="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> P, <span class="keyword">typename</span> B>
-<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><point_tag, box_tag, P, B>
-<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(P <span class="keyword">const</span>& point, B& box)
-<a name="l00125"></a>00125 {
-<a name="l00126"></a>00126 <span class="comment">// go from point to box -> box with volume of zero, 2D or 3D</span>
-<a name="l00127"></a>00127 <span class="keyword">static</span> <span class="keyword">const</span> std::size_t N = <a class="code" href="classcore__dispatch_1_1dimension.html">dimension<P>::value</a>;
-<a name="l00128"></a>00128
-<a name="l00129"></a>00129 detail::convert::point_to_box<P, B, min_corner, 0, N>::apply(point, box);
-<a name="l00130"></a>00130 detail::convert::point_to_box<P, B, max_corner, 0, N>::apply(point, box);
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132 };
-<a name="l00133"></a>00133
-<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="l00147"></a>00147 <span class="keyword">template</span> <<span class="keyword">typename</span> G1, <span class="keyword">typename</span> G2>
-<a name="l00148"></a><a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">00148</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="l00149"></a>00149 {
-<a name="l00150"></a>00150 <a class="code" href="group__convert.html#ge07fa83176190049c856e35f77d0f569" title="Converts one geometry to another geometry.">dispatch::convert</a>
-<a name="l00151"></a>00151 <
-<a name="l00152"></a>00152 <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="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<G2>::type</a>,
-<a name="l00154"></a>00154 G1,
-<a name="l00155"></a>00155 G2
-<a name="l00156"></a>00156 >::apply(geometry1, geometry2);
-<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_CONVERT_HPP</span>
+<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="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="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="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>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/copy_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -51,9 +51,9 @@
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Src , typename Dst > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">ggl::copy_coordinates</a> (const Src &source, Dst &dest)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4">ggl::copy_coordinates</a> (Src const &source, Dst &dest)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies coordinates from source to destination <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">Copies coordinates from source to destination <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">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -54,11 +54,11 @@
<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/numeric/conversion/cast.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="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00019"></a>00019
+<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="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="keyword">namespace </span>ggl
@@ -68,9 +68,9 @@
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>copy {
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="keyword">template</span> <<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst, std::<span class="keywordtype">size_t</span> D, std::<span class="keywordtype">size_t</span> N>
-<a name="l00029"></a>00029 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>
+<a name="l00029"></a>00029 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>
<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> copy(<span class="keyword">const</span> Src& source, Dst& dest)
+<a name="l00031"></a>00031 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> copy(Src <span class="keyword">const</span>& source, Dst& dest)
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> coordinate_type<Dst>::type coordinate_type;
<a name="l00034"></a>00034
@@ -80,33 +80,37 @@
<a name="l00038"></a>00038 };
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">template</span> <<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst, std::<span class="keywordtype">size_t</span> N>
-<a name="l00041"></a>00041 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a><Src, Dst, N, N>
+<a name="l00041"></a>00041 <span class="keyword">struct </span><a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a><Src, Dst, N, N>
<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> copy(<span class="keyword">const</span> Src& source, Dst& dest)
+<a name="l00043"></a>00043 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> copy(Src <span class="keyword">const</span>& , Dst& )
<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 boost::ignore_unused_variable_warning(source);
-<a name="l00046"></a>00046 boost::ignore_unused_variable_warning(dest);
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048 };
-<a name="l00049"></a>00049
-<a name="l00050"></a>00050 }} <span class="comment">// namespace detail::copy</span>
-<a name="l00051"></a>00051 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span>
-<a name="l00053"></a>00053
-<a name="l00063"></a>00063 <span class="keyword">template</span> <<span class="keyword">typename</span> Src, <span class="keyword">typename</span> Dst>
-<a name="l00064"></a><a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">00064</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(<span class="keyword">const</span> Src& source, Dst& dest)
-<a name="l00065"></a>00065 {
-<a name="l00066"></a>00066 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="l00067"></a>00067 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="l00068"></a>00068
-<a name="l00069"></a>00069
-<a name="l00070"></a>00070 <span class="comment">//assert_dimension_equal<Dst, Src>();</span>
-<a name="l00071"></a>00071 detail::copy::copy_coordinates<Src, Dst, 0, dimension<Src>::value>::copy(source, dest);
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074 } <span class="comment">// namespace ggl</span>
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="preprocessor">#endif // GGL_UTIL_COPY_HPP</span>
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 };
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 }} <span class="comment">// namespace detail::copy</span>
+<a name="l00049"></a>00049 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00051"></a>00051
+<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="l00066"></a>00066
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="comment">//assert_dimension_equal<Dst, Src>();</span>
+<a name="l00069"></a>00069 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">detail::copy::copy_coordinates</a>
+<a name="l00070"></a>00070 <
+<a name="l00071"></a>00071 Src,
+<a name="l00072"></a>00072 Dst,
+<a name="l00073"></a>00073 0,
+<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...">dimension<Src>::type::value</a>
+<a name="l00075"></a>00075 >::copy(source, dest);
+<a name="l00076"></a>00076 }
+<a name="l00077"></a>00077
+<a name="l00078"></a>00078 } <span class="comment">// namespace ggl</span>
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="preprocessor">#endif // GGL_UTIL_COPY_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -59,7 +59,7 @@
<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="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_2point__const__iterator_8hpp.html">ggl/iterators/point_const_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
@@ -78,7 +78,7 @@
<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_1point__const__iterator.html" title="Meta-function which defines point-const-iterator type.">ggl::point_const_iterator<Ring>::type</a> iterator;
+<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>
@@ -105,8 +105,8 @@
<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="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);
@@ -133,7 +133,7 @@
<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="l00094"></a>00094 seg_id, to_index,
<a name="l00095"></a>00095 current_output
<a name="l00096"></a>00096 );
<a name="l00097"></a>00097 }
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/core_2point__type_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -106,7 +106,7 @@
<a name="l00073"></a>00073 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<Ring>::type type;
<a name="l00074"></a>00074 };
<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="comment">// Specialization for polygon: the point-type is the point-type of its rinsg</span>
+<a name="l00076"></a>00076 <span class="comment">// Specialization for polygon: the point-type is the point-type of its rings</span>
<a name="l00077"></a>00077 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
<a name="l00078"></a>00078 <span class="keyword">struct </span>point_type<polygon_tag, Polygon>
<a name="l00079"></a>00079 {
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -78,7 +78,7 @@
<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.">math::equals</a>(get<D>(p1), get<D>(p2)))
+<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 }
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 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/strategies/concepts/distance_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">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"><b>ggl::concept::PointDistanceStrategy< Strategy >::apply_checker</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_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"><b>ggl::concept::PointSegmentDistanceStrategy< Strategy >::apply_checker</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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__concept_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,172 @@
+<!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/distance_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_DISTANCE_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_DISTANCE_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include <vector></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include <iterator></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="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 { <span class="keyword">namespace </span>concept {
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022
+<a name="l00027"></a>00027 <span class="keyword">template</span> <<span class="keyword">typename</span> Strategy>
+<a name="l00028"></a><a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html" title="Checks strategy for point-segment-distance.">PointDistanceStrategy</a>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">private</span> :
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="comment">// 1) must define point_type</span>
+<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="l00037"></a>00037 );
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="comment">// 2) must define return_type</span>
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type rtype;
+<a name="l00041"></a>00041
+<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="l00046"></a>00046 {
+<a name="l00047"></a>00047 Strategy s;
+<a name="l00048"></a>00048 ptype *p1;
+<a name="l00049"></a>00049 ptype *p2;
+<a name="l00050"></a>00050 rtype r = s(*p1, *p2);
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 boost::ignore_unused_variable_warning(r);
+<a name="l00053"></a>00053 }
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<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="l00060"></a>00060 }
+<a name="l00061"></a>00061 };
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00068"></a>00068 <span class="keyword">template</span> <<span class="keyword">typename</span> Strategy>
+<a name="l00069"></a><a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">00069</a> <span class="keyword">struct </span><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="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">private</span> :
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="comment">// 1) must define point_type</span>
+<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="l00078"></a>00078 );
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="comment">// 2) must define return_type</span>
+<a name="l00081"></a>00081 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::return_type rtype;
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="comment">// 3) must define underlying point-distance-strategy</span>
+<a name="l00084"></a>00084 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::point_strategy_type stype;
+<a name="l00085"></a>00085 BOOST_CONCEPT_ASSERT
+<a name="l00086"></a>00086 (
+<a name="l00087"></a>00087 (<a class="code" href="structggl_1_1concept_1_1_point_distance_strategy.html" title="Checks strategy for point-segment-distance.">concept::PointDistanceStrategy<stype></a>)
+<a name="l00088"></a>00088 );
+<a name="l00089"></a>00089
+<a name="l00090"></a>00090
+<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="l00095"></a>00095 {
+<a name="l00096"></a>00096 Strategy s;
+<a name="l00097"></a>00097 ptype *p1;
+<a name="l00098"></a>00098 ptype *p2;
+<a name="l00099"></a>00099 rtype r = s(*p1, <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment<const ptype></a>(*p1, *p2));
+<a name="l00100"></a>00100 boost::ignore_unused_variable_warning(r);
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 };
+<a name="l00103"></a>00103
+<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="l00108"></a>00108 }
+<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="comment">// namespace ggl::concept</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_DISTANCE_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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/distance__cross__track_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 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/spherical/distance_cross_track.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_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation. 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_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_1distance.html">ggl::strategy::distance</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/distance__cross__track_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 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/spherical/distance_cross_track.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_SPHERICAL_DISTANCE_CROSS_TRACK_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_SPHERICAL_DISTANCE_CROSS_TRACK_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="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="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="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="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="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="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="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="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="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="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="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="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="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>
+</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/distance__haversine_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 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/spherical/distance_haversine.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_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance calculation for spherical coordinates on a perfect sphere using <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html" title="Distance calculation for spherical coordinates on a perfect sphere using haversine...">haversine</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_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_1distance.html">ggl::strategy::distance</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/distance__haversine_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,171 @@
+<!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/distance_haversine.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_SPHERICAL_DISTANCE_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_SPHERICAL_DISTANCE_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="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="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="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="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="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="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="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="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="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="l00116"></a>00116
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="preprocessor">#endif // GGL_STRATEGY_SPHERICAL_DISTANCE_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/doxygen__design__cross__section_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/doxygen__design__cross__section_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -54,7 +54,7 @@
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="comment">//---------------------------------------------------------------------------------------------------</span>
<a name="l00014"></a>00014
-<a name="l00821"></a>00821 <span class="preprocessor">#endif // _DOXYGEN_DESIGN_RATIONALE_HPP</span>
+<a name="l00822"></a>00822 <span class="preprocessor">#endif // _DOXYGEN_DESIGN_RATIONALE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -75,8 +75,8 @@
<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(B1 <span class="keyword">const</span>& box1, B2 <span class="keyword">const</span>& box2)
<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.">math::equals</a>(get<min_corner, D>(box1), get<min_corner, D>(box2))
-<a name="l00043"></a>00043 || !<a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">math::equals</a>(get<max_corner, D>(box1), get<max_corner, D>(box2)))
+<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<min_corner, D>(box1), get<min_corner, D>(box2))
+<a name="l00043"></a>00043 || !<a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">ggl::math::equals</a>(get<max_corner, D>(box1), get<max_corner, D>(box2)))
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00046"></a>00046 }
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -97,6 +97,7 @@
<tr><td class="indexkey">ggl/core/<a class="el" href="interior__rings_8hpp.html">interior_rings.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="is__linear_8hpp.html">is_linear.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/core/<a class="el" href="core_2is__multi_8hpp.html">is_multi.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <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>
@@ -141,8 +142,8 @@
<tr><td class="indexkey">ggl/iterators/<a class="el" href="base_8hpp.html">base.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/iterators/<a class="el" href="circular__iterator_8hpp.html">circular_iterator.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/iterators/<a class="el" href="ever__circling__iterator_8hpp.html">ever_circling_iterator.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/iterators/<a class="el" href="iterators_2point__const__iterator_8hpp.html">point_const_iterator.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/iterators/<a class="el" href="segment__iterator_8hpp.html">segment_iterator.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/iterators/<a class="el" href="iterators_2vertex__iterator_8hpp.html">vertex_iterator.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2area_8hpp.html">area.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2centroid_8hpp.html">centroid.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/multi/algorithms/<a class="el" href="multi_2algorithms_2convex__hull_8hpp.html">convex_hull.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -170,7 +171,7 @@
<tr><td class="indexkey">ggl/multi/geometries/<a class="el" href="multi__linestring_8hpp.html">multi_linestring.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/multi/geometries/<a class="el" href="multi__point_8hpp.html">multi_point.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/multi/geometries/<a class="el" href="multi__polygon_8hpp.html">multi_polygon.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/multi/iterators/<a class="el" href="multi_2iterators_2point__const__iterator_8hpp.html">point_const_iterator.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">ggl/multi/iterators/<a class="el" href="multi_2iterators_2vertex__iterator_8hpp.html">vertex_iterator.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/policies/relate/<a class="el" href="de9im_8hpp.html">de9im.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/policies/relate/<a class="el" href="direction_8hpp.html">direction.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/policies/relate/<a class="el" href="intersection__points_8hpp.html">intersection_points.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -183,6 +184,7 @@
<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__simplify_8hpp.html">agn_simplify.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="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="cart__compare_8hpp.html">cart_compare.hpp</a> [code]</td><td class="indexvalue"></td></tr>
@@ -190,6 +192,10 @@
<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/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/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="haversine_8hpp.html">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>
@@ -197,7 +203,6 @@
<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>
<tr><td class="indexkey">ggl/strategies/transform/<a class="el" href="matrix__transformers_8hpp.html">matrix_transformers.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="as__range_8hpp.html">as_range.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">ggl/util/<a class="el" href="assign__box__corner_8hpp.html">assign_box_corner.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="copy_8hpp.html">copy.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="for__each__coordinate_8hpp.html">for_each_coordinate.hpp</a> [code]</td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">ggl/util/<a class="el" href="get__cs__as__radian_8hpp.html">get_cs_as_radian.hpp</a> [code]</td><td class="indexvalue"></td></tr>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -86,6 +86,8 @@
: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">ggl::strategy::intersection::liang_barsky< B, P ></a>
<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#45491352f7c455ea801781c8b7c812d9">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -102,15 +102,18 @@
, <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_const_ring.html#1b6553b6ed0d5716bbc0044f7f29cfb2">ggl::concept::ConstRing< R ></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_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="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="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_const_polygon.html#efa7d199dbc8b2e17308e175fe4e33ca">ggl::concept::ConstPolygon< P ></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_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="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>
@@ -121,7 +124,7 @@
<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#40a32b03ef937f268b28716cd3a19ff4">ggl::box< P ></a>
+: <a class="el" href="classggl_1_1box.html#c7888e7869f90177bbc524467fa9e6c4">ggl::box< P ></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>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -93,7 +93,7 @@
<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#114bcb53b0264af8edaa53d8e42bf45f">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+: <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
@@ -137,28 +137,30 @@
<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_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_1point.html#114e475fd2f5f30fac7f60ef732dd402">ggl::point< T, D, C ></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_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_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_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="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="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_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="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="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_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="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="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>
<li>count
-: <a class="el" href="structggl_1_1segment__intersection__points.html#a1ecc423597a6f800f82f1ab092bd346">ggl::segment_intersection_points< P ></a>
-, <a class="el" href="structggl_1_1section.html#c53669933d966cf7c9c19b8376b5b731">ggl::section< Box, DimensionCount ></a>
+: <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>
+<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>
<li>ct
-: <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_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_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>
</ul>
</div>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -105,8 +105,7 @@
<li>disjoint()
: <a class="el" href="structggl_1_1de9im.html#80e3fee3098017c06891ec7690d9154b">ggl::de9im</a>
<li>distance_strategy_type
-: <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#2e1bc521c8c39e2dfcbf4724df4f8b58">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
-, <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a>
+: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#d9c2f3932590f7088e2cdf032c41458b">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a>
<li>dsv_manipulator()
: <a class="el" href="classggl_1_1dsv__manipulator.html#5bbe82845f3e20b44d2b75cc8faebf43">ggl::dsv_manipulator< Geometry ></a>
<li>duplicate
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x67.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x67.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -85,7 +85,7 @@
<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_01_4.html#a25393c19c53fae14f51f6be484113b9">ggl::traits::access< ggl::detail::intersection::intersection_point< P > ></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#23378d3d7d381ddac21b68e449fbccbc">ggl::strategy::convex_hull::graham< P ></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()
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -89,9 +89,9 @@
<li>ii
: <a class="el" href="structggl_1_1de9im.html#797d776515bb2c1b87c5fd71e11d2ce1">ggl::de9im</a>
<li>inner_container_type
-: <a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+: <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#0d41c7b42a1444fdc759550644c7924e">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+: <a class="el" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -85,9 +85,9 @@
<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__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ggl::point_const_iterator< 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>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -93,19 +93,20 @@
, <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__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_1haversine.html#cfc29c7f64c6136784283fab579fa970">ggl::strategy::distance::haversine< 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="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_1within_1_1winding.html#8ce0e3219bdded9943af7bc594a7f1be">ggl::strategy::within::winding< P, PS ></a>
, <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">ggl::strategy::distance::ll_point_segment< P, S ></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_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_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="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">ggl::strategy::area::by_triangles< PS, CalculationType ></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="classggl_1_1strategy_1_1centroid_1_1geolib1995.html#2b418413c02d508b0f570efff0102ff6">ggl::strategy::centroid::geolib1995< PC, PS ></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>
@@ -117,12 +118,11 @@
<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>
-, <a class="el" href="classggl_1_1point__xy.html#3c5f9d94906145cc473019b8eaf66e7d">ggl::point_xy< T, C ></a>
+: <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_1cartesian__distance.html#5a78899edbed0eae576b6fdc5f784ad2">ggl::cartesian_distance< T ></a>
-, <a class="el" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">ggl::svg_manipulator< G ></a>
+: <a class="el" href="classggl_1_1svg__manipulator.html#7c706fce0e2e9a7ae577f4f2d8062282">ggl::svg_manipulator< G ></a>
+, <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>
<li>operator==()
: <a class="el" href="structggl_1_1segment__identifier.html#fcb85b5b91f3c3b9fb67ef8851a154eb">ggl::segment_identifier</a>
@@ -133,7 +133,7 @@
: <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#6cdf9123dd3442b13cfd032555baea2f">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+: <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>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -96,13 +96,18 @@
: <a class="el" href="classggl_1_1point.html#526fb447a893414486fa85caa170cdbf">ggl::point< T, D, C ></a>
<li>point_strategy_type
: <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_1area__result.html#d6428313802f153cd99b803ecde23872">ggl::area_result< Geometry ></a>
-, <a class="el" href="structggl_1_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">ggl::segment< P ></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_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_1polygon.html#8dda8bcf15991e114554c6dcfb9c7231">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+, <a class="el" href="structggl_1_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">ggl::segment< P ></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_1strategy_1_1distance_1_1xy__point__segment.html#cfb9d185bcc22815ec15d07389ad03b9">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
<li>point_xy()
-: <a class="el" href="classggl_1_1point__xy.html#1accd1e9e84fdf9cf8d9da084d239167">ggl::point_xy< T, C ></a>
+: <a class="el" href="classggl_1_1point__xy.html#844ec61e1186e2bb423a26c01e9a72d6">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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -104,22 +104,24 @@
<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="structggl_1_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">ggl::policies::relate::segments_de9im< S1, S2 ></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_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">ggl::strategy::distance::ll_point_segment< P, S ></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="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">ggl::area_result< Geometry ></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="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></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_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_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">ggl::strategy::distance::haversine< P1, P2 ></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_1by__triangles.html#f2ef55e9d5310d400a6e43a25f6c989d">ggl::strategy::area::by_triangles< PS, 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__tupled.html#fd5a4a56a3f161178b97885e9ae27738">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
, <a class="el" href="classggl_1_1strategy_1_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">ggl::strategy::area::by_spherical_excess< P ></a>
-, <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">ggl::strategy::distance::ll_point_segment< P, S ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html#8fd848a2bbc5857c70fa6bce5ffac5d3">ggl::strategy::distance::haversine< P1, P2 ></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>
<li>ring_type
-: <a class="el" href="classggl_1_1polygon.html#1c6fe805fcbf99e4b70afe9202c820aa">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+: <a class="el" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></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>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -106,7 +106,7 @@
, <a class="el" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">ggl::strategy_distance_segment< CsTag1, CsTag2, Point, Segment ></a>
, <a class="el" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">ggl::strategy_distance< T1, T2, P1, P2 ></a>
, <a class="el" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">ggl::strategy_area< T, P ></a>
-, <a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">ggl::point_const_iterator< Geometry ></a>
+, <a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">ggl::vertex_iterator< Geometry, IsConst ></a>
, <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#02acc738dfcd073102d0c33b600556f9">ggl::traits::tag< ggl::detail::intersection::intersection_point< P > ></a>
, <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#b77a740fb26f4ade02637e33c02ead68">ggl::traits::coordinate_system< ggl::detail::intersection::intersection_point< P > ></a>
, <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#7f398e2aac26bbcf7f62ddae080c8e28">ggl::traits::coordinate_type< ggl::detail::intersection::intersection_point< P > ></a>
@@ -121,7 +121,7 @@
, <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_1select__coordinate__type.html#426688c132982dabdbdd4213bf9f3cfd">ggl::select_coordinate_type< T1, T2 ></a>
-, <a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">ggl::as_range_type< Geometry ></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__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>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x76.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/functions_0x76.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -84,7 +84,9 @@
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
<li>value
: <a class="el" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">ggl::traits::use_std< G ></a>
+, <a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">ggl::traits::point_order< G ></a>
, <a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">ggl::sections< Box, DimensionCount ></a>
+, <a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">ggl::point_order< Geometry ></a>
<li>value_type
: <a class="el" href="structggl_1_1segment__iterator.html#e7521e2f53256bf6bd96b99079c92b4f">ggl::segment_iterator< Base, Point ></a>
<li>very_small()
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -52,28 +52,28 @@
</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>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>
</ul>
</div>
</div>
@@ -85,303 +85,11 @@
: <a class="el" href="classggl_1_1strategy_1_1intersection_1_1liang__barsky.html#8e27188bc1054b3017c059cce6b3c330">ggl::strategy::intersection::liang_barsky< B, P ></a>
<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#45491352f7c455ea801781c8b7c812d9">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></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_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#40a32b03ef937f268b28716cd3a19ff4">ggl::box< P ></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#114bcb53b0264af8edaa53d8e42bf45f">ggl::polygon< Point, PointList, RingList, 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__tupled.html#036ae4e5762ae6b9f981e7b9d39f0b2a">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></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__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__tupled.html#fc31e769602ef50ec62d22ed157554b4">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-, <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__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>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_01_4.html#a25393c19c53fae14f51f6be484113b9">ggl::traits::access< ggl::detail::intersection::intersection_point< P > ></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#23378d3d7d381ddac21b68e449fbccbc">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#0d41c7b42a1444fdc759550644c7924e">ggl::polygon< Point, PointList, RingList, 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>
-<li>ll_point_segment()
-: <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#bd6a906cc460c9073ed833922392407c">ggl::strategy::distance::ll_point_segment< P, S ></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#ad3ec53ea62b0bfa3cb897cea62ea0f0">ggl::box< P ></a>
-<li>min_corner()
-: <a class="el" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">ggl::box< P ></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_1haversine.html#cfc29c7f64c6136784283fab579fa970">ggl::strategy::distance::haversine< P1, P2 ></a>
-, <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">ggl::strategy::distance::ll_point_segment< P, S ></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="classggl_1_1strategy_1_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">ggl::strategy::area::by_triangles< PS, CalculationType ></a>
-, <a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">ggl::less< P ></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>
-, <a class="el" href="classggl_1_1point__xy.html#3c5f9d94906145cc473019b8eaf66e7d">ggl::point_xy< T, C ></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#be04d3ead04813a25be1a219076358a8">ggl::polygon< Point, PointList, RingList, 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="structggl_1_1segment.html#e8e37a9f4eeacb317a1ce971da6cbd87">ggl::segment< P ></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_01_4.html#bce25b446714591183532373ceeaf1f7">ggl::traits::access< ggl::detail::intersection::intersection_point< P > ></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>simplify()
-: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></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-21 05:23:22 EDT (Wed, 21 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>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>
+ </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="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#40a32b03ef937f268b28716cd3a19ff4">ggl::box< P ></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">
+<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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,157 @@
+<!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>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>
+ </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>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>
+</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-21 05:23:22 EDT (Wed, 21 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="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>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>
+ </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-21 05:23:22 EDT (Wed, 21 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 class="current">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>
+ </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#a3b3465a611c79f0b33bda06e92ba561">ggl::ever_circling_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_0x67.html 2009-10-21 05:23:22 EDT (Wed, 21 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 class="current">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>
+ </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_01_4.html#a25393c19c53fae14f51f6be484113b9">ggl::traits::access< ggl::detail::intersection::intersection_point< P > ></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-21 05:23:22 EDT (Wed, 21 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 class="current">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>
+ </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>
+</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-21 05:23:22 EDT (Wed, 21 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 class="current">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>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<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>
+</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-21 05:23:22 EDT (Wed, 21 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 class="current">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>
+ </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>
+<li>ll_point_segment()
+: <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#bd6a906cc460c9073ed833922392407c">ggl::strategy::distance::ll_point_segment< P, S ></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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,119 @@
+<!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>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>
+ </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#ad3ec53ea62b0bfa3cb897cea62ea0f0">ggl::box< P ></a>
+<li>min_corner()
+: <a class="el" href="classggl_1_1box.html#47f607c06a2a5432eac75d8bd5cf4a61">ggl::box< P ></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_0x6e.html 2009-10-21 05:23:22 EDT (Wed, 21 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="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">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>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<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>
+</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,153 @@
+<!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>n</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="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_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">ggl::strategy::distance::haversine< P1, P2 ></a>
+, <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#ded28ff8067850eab6befbf3cec37098">ggl::strategy::distance::ll_point_segment< P, S ></a>
+, <a class="el" href="structggl_1_1less.html#d92a2c426998512de2eb68328c0292e5">ggl::less< P ></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="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_1area_1_1by__triangles.html#44a2feaa28620a60ce740cfad2374894">ggl::strategy::area::by_triangles< PS, CalculationType ></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_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>
+</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,116 @@
+<!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>n</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,116 @@
+<!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>n</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>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>
+</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-21 05:23:22 EDT (Wed, 21 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>n</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="structggl_1_1segment.html#e8e37a9f4eeacb317a1ce971da6cbd87">ggl::segment< P ></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_01_4.html#bce25b446714591183532373ceeaf1f7">ggl::traits::access< ggl::detail::intersection::intersection_point< P > ></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>simplify()
+: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#dca55aa87f6d5b49df52585fa0f97add">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></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-21 05:23:22 EDT (Wed, 21 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>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 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-21 05:23:22 EDT (Wed, 21 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>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 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-21 05:23:22 EDT (Wed, 21 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="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>n</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-21 05:23:22 EDT (Wed, 21 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>n</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-21 05:23:22 EDT (Wed, 21 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="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>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 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-21 05:23:22 EDT (Wed, 21 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="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>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 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-21 05:23:22 EDT (Wed, 21 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="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>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 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -106,12 +106,11 @@
<li>difference_type
: <a class="el" href="structggl_1_1segment__iterator.html#e3d45134f345df9ec7aa89f8e2e95bdf">ggl::segment_iterator< Base, Point ></a>
<li>distance_strategy_type
-: <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#2e1bc521c8c39e2dfcbf4724df4f8b58">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>
-, <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a>
+: <a class="el" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#d9c2f3932590f7088e2cdf032c41458b">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a>
</ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<li>inner_container_type
-: <a class="el" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+: <a class="el" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a>
<li>iterator_category
: <a class="el" href="structggl_1_1segment__iterator.html#8f0ff7afda611c09fb9df03c70c99d76">ggl::segment_iterator< Base, Point ></a>
</ul>
@@ -125,9 +124,9 @@
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
<li>ncg
: <a class="el" href="structggl_1_1coordinate__system.html#c53f29d9ef862a2f281a9bf516521c46">ggl::coordinate_system< G ></a>
-, <a class="el" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ggl::point_const_iterator< 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>
, <a class="el" href="structggl_1_1coordinate__type.html#a2452b2ff15dcb3de239e970cce63bd7">ggl::coordinate_type< G ></a>
</ul>
@@ -137,12 +136,17 @@
<li>P2
: <a class="el" href="structggl_1_1distance__result.html#09dd903d489dbfa0ec23306ec7b88d02">ggl::distance_result< G1, G2 ></a>
<li>point_strategy_type
-: <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>
+, <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_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">ggl::segment< P ></a>
-, <a class="el" href="classggl_1_1polygon.html#8dda8bcf15991e114554c6dcfb9c7231">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></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_1segment.html#47f8bba55326d5ae988dc3a5a9f146c7">ggl::segment< P ></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_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_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>
@@ -156,17 +160,18 @@
<li>return_type
: <a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html#f98549b351e37683bc7999d389f170f0">ggl::strategy::distance::ll_point_segment< P, S ></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="structggl_1_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">ggl::area_result< Geometry ></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_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></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_1area__result.html#4915057a85bc6a0c7292b3db1e4f33be">ggl::area_result< Geometry ></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_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_1policies_1_1relate_1_1segments__de9im.html#93b91d42efd81a1b75c016fe886bd3b4">ggl::policies::relate::segments_de9im< S1, S2 ></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_1area_1_1by__spherical__excess.html#9378e1ffdce5a34e96aa1ec3245ac718">ggl::strategy::area::by_spherical_excess< P ></a>
+, <a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html#84941aff66a66a38844da63b99590932">ggl::policies::relate::segments_direction< S1, S2 ></a>
<li>ring_type
-: <a class="el" href="classggl_1_1polygon.html#1c6fe805fcbf99e4b70afe9202c820aa">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+: <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
@@ -201,7 +206,7 @@
, <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#0ca47e830e61d4f6c0b33c5e8eaa5c4e">ggl::as_range_type< Geometry ></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>
@@ -217,7 +222,7 @@
, <a class="el" href="structggl_1_1strategy__distance__segment.html#7f194ba200da0e6da72ac4e14a623a2f">ggl::strategy_distance_segment< CsTag1, CsTag2, Point, Segment ></a>
, <a class="el" href="structggl_1_1strategy__distance.html#e95dff63729289b7ff265e4311fb54de">ggl::strategy_distance< T1, T2, P1, P2 ></a>
, <a class="el" href="structggl_1_1strategy__area.html#1e4dc33e378ad99d5ba47807de230a3b">ggl::strategy_area< T, P ></a>
-, <a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">ggl::point_const_iterator< Geometry ></a>
+, <a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">ggl::vertex_iterator< Geometry, IsConst ></a>
, <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#02acc738dfcd073102d0c33b600556f9">ggl::traits::tag< ggl::detail::intersection::intersection_point< P > ></a>
, <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#b77a740fb26f4ade02637e33c02ead68">ggl::traits::coordinate_system< ggl::detail::intersection::intersection_point< P > ></a>
, <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#7f398e2aac26bbcf7f62ddae080c8e28">ggl::traits::coordinate_type< ggl::detail::intersection::intersection_point< P > ></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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -207,6 +207,8 @@
<li>value
: <a class="el" href="structggl_1_1traits_1_1use__std.html#17f62fd601472a4c970adeda2281f145">ggl::traits::use_std< G ></a>
, <a class="el" href="structggl_1_1sections.html#1c9f89074b8fa60cc7c6e11ff323093e">ggl::sections< Box, DimensionCount ></a>
+, <a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">ggl::point_order< Geometry ></a>
+, <a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">ggl::traits::point_order< G ></a>
</ul>
</div>
<hr size="1">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -239,13 +239,13 @@
<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_1point__const__iterator.html" title="Meta-function which defines point-const-iterator type.">ggl::point_const_iterator</a>
+<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
+<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_1point__const__iterator.html" title="Meta-function which defines point-const-iterator type.">ggl::point_const_iterator</a>
+<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
+<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];
@@ -263,7 +263,7 @@
<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#g5c0732d32eb6c6154f615b3a3337f4b9" title="Get iterators for a specified section.">get_section</a>(geometry1, sec1, 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++;
@@ -285,7 +285,7 @@
<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#g5c0732d32eb6c6154f615b3a3337f4b9" title="Get iterators for a specified section.">get_section</a>(geometry2, sec2, 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="l00249"></a>00249
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -52,7 +52,8 @@
<p>
<ul>
<li>BOOST_UBLAS_TYPE_CHECK
-: <a class="el" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">matrix_transformers.hpp</a>
+: <a class="el" href="inverse__transformer_8hpp.html#20205a89cb81145766e74d5a1d27f049">inverse_transformer.hpp</a>
+, <a class="el" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">matrix_transformers.hpp</a>
<li>GEOMETRY_REGISTER_BOX
: <a class="el" href="register_2box_8hpp.html#ed1a3851a1af52f04cffc6d2b2766475">box.hpp</a>
<li>GEOMETRY_REGISTER_BOX_2D_4VALUES
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals_defs.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/globals_defs.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -52,7 +52,8 @@
<p>
<ul>
<li>BOOST_UBLAS_TYPE_CHECK
-: <a class="el" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">matrix_transformers.hpp</a>
+: <a class="el" href="inverse__transformer_8hpp.html#20205a89cb81145766e74d5a1d27f049">inverse_transformer.hpp</a>
+, <a class="el" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">matrix_transformers.hpp</a>
<li>GEOMETRY_REGISTER_BOX
: <a class="el" href="register_2box_8hpp.html#ed1a3851a1af52f04cffc6d2b2766475">box.hpp</a>
<li>GEOMETRY_REGISTER_BOX_2D_4VALUES
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -815,7 +815,7 @@
<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#l00321">321</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#l00379">379</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
@@ -862,7 +862,7 @@
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#l00336">336</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#l00394">394</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
@@ -915,7 +915,7 @@
assign center + radius to a sphere
<p>
-<p>Definition at line <a class="el" href="assign_8hpp_source.html#l00351">351</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#l00409">409</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
@@ -951,7 +951,7 @@
<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#l00368">368</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#l00426">426</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
@@ -978,7 +978,7 @@
<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#l00383">383</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#l00441">441</a> of file <a class="el" href="assign_8hpp_source.html">assign.hpp</a>.</p>
</div>
</div><p>
@@ -1010,7 +1010,7 @@
</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#l00399">399</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#l00457">457</a> of file <a class="el" href="assign_8hpp_source.html">assign.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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -96,7 +96,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 ans spherical points 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> 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>
<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>
@@ -104,7 +104,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#l00217">217</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#l00254">254</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
</div>
</div><p>
@@ -146,7 +146,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#l00239">239</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#l00277">277</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__buffer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__buffer.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -107,7 +107,7 @@
<dl class="note" compact><dt><b>Note:</b></dt><dd>Currently only implemented for <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>, the trivial case, but still useful </dd></dl>
<dl class="user" compact><dt><b>Use case:</b></dt><dd>BOX + distance -> BOX: it is allowed that "geometry_out" the same object as "geometry_in" </dd></dl>
-<p>Definition at line <a class="el" href="buffer_8hpp_source.html#l00112">112</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#l00111">111</a> of file <a class="el" href="buffer_8hpp_source.html">buffer.hpp</a>.</p>
</div>
</div><p>
@@ -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#l00135">135</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#l00134">134</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -128,7 +128,7 @@
}
</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#a3">c04_b_custom_triangle_example.cpp</a>.</dl>
+<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>
</div>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 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#l00177">177</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#l00176">176</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -72,6 +72,12 @@
<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 <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"><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="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>
@@ -81,6 +87,9 @@
<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 <a class="el" href="structggl_1_1segment.html" title="Class segment: small 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"><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>
</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>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -90,7 +90,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="convert_8hpp_source.html#l00148">148</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#l00158">158</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -43,17 +43,21 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Traits class binding a convex hull 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 Geometry1 , typename Geometry2 > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">ggl::convex_hull</a> (Geometry1 const &geometry, Geometry2 &out)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , 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__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">ggl::convex_hull</a> (Geometry const &geometry, OutputIterator out)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">ggl::convex_hull_inserter</a> (Geometry const &geometry, OutputIterator out)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry, output-iterator version. <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>
<li>OGC description: Returns a geometric object that represents the convex hull of this geometric object. Convex hulls, being dependent on straight lines, can be accurately represented in linear interpolations for any geometry restricted to linear interpolations. </li></ul>
</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.52 seconds (other libraries: 2.8 seconds, 2.4 seconds, 3.4 seconds, 1.1 seconds)</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="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">
@@ -62,14 +66,65 @@
</li></ul>
</dd></dl>
<hr><h2>Function Documentation</h2>
-<a class="anchor" name="gc1989428c0a32cd2fd48272cd6833e18"></a><!-- doxytag: member="ggl::convex_hull" ref="gc1989428c0a32cd2fd48272cd6833e18" args="(Geometry const &geometry, OutputIterator out)" -->
+<a class="anchor" name="g2adc5b825bd5feadc7a723c040c36cb7"></a><!-- doxytag: member="ggl::convex_hull" ref="g2adc5b825bd5feadc7a723c040c36cb7" args="(Geometry1 const &geometry, Geometry2 &out)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry1 , typename Geometry2 > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::convex_hull </td>
+ <td>(</td>
+ <td class="paramtype">Geometry1 const & </td>
+ <td class="paramname"> <em>geometry</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Geometry2 & </td>
+ <td class="paramname"> <em>out</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Calculate the convex hull of a geometry.
+<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>Geometry1</em> </td><td>the input geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Geometry2,:</em> </td><td>the output geometry type </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 calculate convex hull from </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>a geometry receiving points of the convex hull </td></tr>
+ </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>the output may be:<ul>
+<li>a <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></li><li>a ring </li></ul>
+</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>
+
+</div>
+</div><p>
+<a class="anchor" name="g33e400e40f14217ab0239d33fa6def72"></a><!-- doxytag: member="ggl::convex_hull_inserter" ref="g33e400e40f14217ab0239d33fa6def72" args="(Geometry const &geometry, OutputIterator out)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename Geometry , typename OutputIterator > </div>
<table class="memname">
<tr>
- <td class="memname">OutputIterator ggl::convex_hull </td>
+ <td class="memname">OutputIterator ggl::convex_hull_inserter </td>
<td>(</td>
<td class="paramtype">Geometry const & </td>
<td class="paramname"> <em>geometry</em>, </td>
@@ -90,18 +145,23 @@
<div class="memdoc">
<p>
-Calculate the convex hull of a geometry.
+Calculate the convex hull of a geometry, output-iterator version.
<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>Geometry</em> </td><td>the input geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>OutputIterator,:</em> </td><td>an output-iterator </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 calculate convex hull from </td></tr>
<tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>an output iterator outputing points of the convex hull </td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the output iterator </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#l00112">112</a> of file <a class="el" href="algorithms_2convex__hull_8hpp_source.html">convex_hull.hpp</a>.</p>
+<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>
</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -69,6 +69,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1is__radian.html">ggl::is_radian< CoordinateSystem ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-function to verify if a coordinate system is <a class="el" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</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__order.html">ggl::point_order< Geometry ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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. 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__type.html">ggl::point_type< Geometry ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">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. More...<br></td></tr>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__distance.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__distance.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -45,6 +45,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1distance__result.html">ggl::distance_result< G1, G2 ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Shortcut to define return type of distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</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_1strategy_1_1distance_1_1cross__track.html">ggl::strategy::distance::cross_track< P, S ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation. 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_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance calculation for spherical coordinates on a perfect sphere using <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html" title="Distance calculation for spherical coordinates on a perfect sphere using haversine...">haversine</a>. More...<br></td></tr>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -129,7 +129,7 @@
</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#l00249">249</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#l00250">250</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
</div>
</div><p>
@@ -199,7 +199,7 @@
}
</pre></div> </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00274">274</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#l00275">275</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
</div>
</div><p>
@@ -240,7 +240,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00295">295</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#l00296">296</a> of file <a class="el" href="algorithms_2envelope_8hpp_source.html">envelope.hpp</a>.</p>
</div>
</div><p>
@@ -271,7 +271,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="algorithms_2envelope_8hpp_source.html#l00314">314</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#l00315">315</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__loop.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__loop.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -316,10 +316,10 @@
<a class="code" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">ggl::polygon<P></a> poly;
ggl::read_wkt(<span class="stringliteral">"POLYGON((0 0,0 7,4 2,2 0,0 0))"</span>, poly);
perimeter<P>::summation peri;
- <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">ggl::loop</a>(poly.<a class="code" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">outer</a>(), perimeter<P>(), peri);
+ <a class="code" href="group__loop.html#g1ff95a74f261e15dfa714146bdcbf23f" title="Loops through segments of a container and call specified functor for all segments...">ggl::loop</a>(poly.<a class="code" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a>(), perimeter<P>(), peri);
std::cout << <span class="stringliteral">"Perimeter: "</span> << peri.sum << std::endl;
}
-} <span class="comment">//:\\</span>
+} <span class="comment">//:\\ --</span>
</pre></div> Second example, using a function functor and latlong coordinates <div class="fragment"><pre class="fragment">{
<span class="keyword">struct </span>summation
{
@@ -348,7 +348,7 @@
<span class="comment"> std::cout << "Perimeter: " << peri.sum/1000.0 << " km" << std::endl;</span>
<span class="comment"> */</span>
}
-} <span class="comment">//:\\</span>
+} <span class="comment">//:\\ --</span>
</pre></div> </dd></dl>
<p>Definition at line <a class="el" href="loop_8hpp_source.html#l00062">62</a> of file <a class="el" href="loop_8hpp_source.html">loop.hpp</a>.</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -47,9 +47,9 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure containing a collection of <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></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#g5c0732d32eb6c6154f615b3a3337f4b9">ggl::get_section</a> (Geometry const &geometry, Section const &section, typename point_const_iterator< Geometry >::type &begin, typename point_const_iterator< Geometry >::type &end)</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">ggl::get_section</a> (Geometry const &geometry, Section const &section, typename vertex_iterator< Geometry, true >::type &begin, typename vertex_iterator< Geometry, true >::type &end)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get iterators for a specified <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a>. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Get iterators for a specified <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a>. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename Sections > </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#g94c69212e1ba4829515eb5a31acd29e1">ggl::sectionalize</a> (Geometry const &geometry, Sections &sections)</td></tr>
@@ -61,7 +61,7 @@
<li>LINESTRING:</li><li>RING:</li><li>POLYGON:</li><li>BOX </li></ul>
</dd></dl>
<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g5c0732d32eb6c6154f615b3a3337f4b9"></a><!-- doxytag: member="ggl::get_section" ref="g5c0732d32eb6c6154f615b3a3337f4b9" args="(Geometry const &geometry, Section const &section, typename point_const_iterator< Geometry >::type &begin, typename point_const_iterator< Geometry >::type &end)" -->
+<a class="anchor" name="gb862f6c883bcc3baddda33c91298b48a"></a><!-- doxytag: member="ggl::get_section" ref="gb862f6c883bcc3baddda33c91298b48a" args="(Geometry const &geometry, Section const &section, typename vertex_iterator< Geometry, true >::type &begin, typename vertex_iterator< Geometry, true >::type &end)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@@ -82,13 +82,13 @@
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">typename point_const_iterator< Geometry >::type & </td>
+ <td class="paramtype">typename vertex_iterator< Geometry, true >::type & </td>
<td class="paramname"> <em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">typename point_const_iterator< Geometry >::type & </td>
+ <td class="paramtype">typename vertex_iterator< Geometry, true >::type & </td>
<td class="paramname"> <em>end</em></td><td> </td>
</tr>
<tr>
@@ -165,7 +165,7 @@
</table>
</dl>
-<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>
+<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>
</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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -43,22 +43,22 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm. 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 S > </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#g00b5a49a676c29d790764ad67e9fdfbc">ggl::simplify</a> (const G &geometry, G &out, double max_distance, S const &strategy)</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">ggl::simplify</a> (Geometry const &geometry, Geometry &out, double max_distance)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify 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">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g44130eb01685933927c05207a01a84f1">ggl::simplify</a> (const G &geometry, G &out, double max_distance)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename O , 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__simplify.html#gfac2ab8188c31cf7fab43e423884e0ed">ggl::simplify</a> (const G &geometry, O out, double max_distance, S const &strategy)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename O > </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#g188e72f668c33ac75ad08653625a7cbb">ggl::simplify</a> (const G &geometry, O out, double max_distance)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <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">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">ggl::simplify</a> (Geometry const &geometry, Geometry &out, double max_distance, Strategy const &strategy)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename OutputIterator > </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#g4285888f1598725bca124878ac16c656">ggl::simplify_inserter</a> (Geometry const &geometry, OutputIterator out, double max_distance)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename OutputIterator , 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__simplify.html#gbe0df65c97527e83bcab80ec3232d45a">ggl::simplify_inserter</a> (Geometry const &geometry, OutputIterator out, double max_distance, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a 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>
@@ -75,29 +75,35 @@
</li><li>POLYGON: simplifying a valid simple polygon (which never intersects itself) might result in an invalid polygon, where the simplified rings intersect themselves or one of the other outer or inner rings. Efficient simplification of a ring/polygon is still an "Open Problem" (http://maven.smith.edu/~orourke/TOPP/P24.html#Problem.24) </li></ul>
</dd></dl>
<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g188e72f668c33ac75ad08653625a7cbb"></a><!-- doxytag: member="ggl::simplify" ref="g188e72f668c33ac75ad08653625a7cbb" args="(const G &geometry, O out, double max_distance)" -->
+<a class="anchor" name="g752a5b4c8a40756da0e717c1ae4d2d8d"></a><!-- doxytag: member="ggl::simplify" ref="g752a5b4c8a40756da0e717c1ae4d2d8d" args="(Geometry const &geometry, Geometry &out, double max_distance, Strategy const &strategy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename O > </div>
+template<typename Geometry , typename Strategy > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::simplify </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">O </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double </td>
- <td class="paramname"> <em>max_distance</em></td><td> </td>
+ <td class="paramname"> <em>max_distance</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>
@@ -111,57 +117,43 @@
<p>
Simplify a geometry.
<p>
-The simplify algorithm removes points, keeping the shape as much as possible. This version of simplify uses an output iterator <dl compact><dt><b>Parameters:</b></dt><dd>
+This version of simplify simplifies a geometry using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> where the output is of the same geometry type as the input. <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 be simplified, being a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">ggl::linestring</a>, vector, iterator pair, or any other boost compatible range </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>output iterator, outputs all simplified points </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>input geometry, to be simplified </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>output geometry, simplified version of the input geometry </td></tr>
<tr><td valign="top"></td><td valign="top"><em>max_distance</em> </td><td>distance (in units of input coordinates) of a vertex to other segments to be removed </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em> </td><td>simplify <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used for simplification, might include point-distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> </td></tr>
</table>
</dl>
-<dl class="user" compact><dt><b>Example:</b></dt><dd>The simplify algorithm can be used as following: <div class="fragment"><pre class="fragment">{
- <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, simplified;
- ggl::read_wkt(<span class="stringliteral">"linestring(1.1 1.1, 2.5 2.1, 3.1 3.1, 4.9 1.1, 3.1 1.9)"</span>, line);
- <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">ggl::simplify</a>(line, std::back_inserter(simplified), 0.5);
- std::cout
- << <span class="stringliteral">" original line: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(line) << std::endl
- << <span class="stringliteral">"simplified line: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(simplified) << std::endl;
-}
-</pre></div> </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="02__linestring__example_8cpp-example.html#a12">02_linestring_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00276">276</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#l00256">256</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="gfac2ab8188c31cf7fab43e423884e0ed"></a><!-- doxytag: member="ggl::simplify" ref="gfac2ab8188c31cf7fab43e423884e0ed" args="(const G &geometry, O out, double max_distance, S const &strategy)" -->
+<a class="anchor" name="g953e1055914400f9ad3191adc5b42270"></a><!-- doxytag: member="ggl::simplify" ref="g953e1055914400f9ad3191adc5b42270" args="(Geometry const &geometry, Geometry &out, double max_distance)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename O , typename S > </div>
+template<typename Geometry > </div>
<table class="memname">
<tr>
<td class="memname">void ggl::simplify </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">O </td>
+ <td class="paramtype">Geometry & </td>
<td class="paramname"> <em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double </td>
- <td class="paramname"> <em>max_distance</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="paramname"> <em>max_distance</em></td><td> </td>
</tr>
<tr>
<td></td>
@@ -175,55 +167,47 @@
<p>
Simplify a geometry.
<p>
-The simplify algorithm removes points, keeping the shape as much as possible. This version of simplify uses an output iterator and a simplify <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> <dl compact><dt><b>Parameters:</b></dt><dd>
+This version of simplify simplifies a geometry using the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> (Douglas Peucker), where the output is of the same geometry type as the input. <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 be simplified, being a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">ggl::linestring</a>, vector, iterator pair, or any other boost compatible range </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>output iterator, outputs all simplified points </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>input geometry, to be simplified </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>output geometry, simplified version of the input geometry </td></tr>
<tr><td valign="top"></td><td valign="top"><em>max_distance</em> </td><td>distance (in units of input coordinates) of a vertex to other segments to be removed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em> </td><td>simplify <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used for simplification, might include point-distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> </td></tr>
</table>
</dl>
-<dl class="user" compact><dt><b>Example:</b></dt><dd>The simplify algorithm with <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> can be used as following: <div class="fragment"><pre class="fragment">{
- <span class="keyword">typedef</span> <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy<double></a> P;
- <span class="keyword">typedef</span> <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<P></a> L;
- L line;
- ggl::read_wkt(<span class="stringliteral">"linestring(1.1 1.1, 2.5 2.1, 3.1 3.1, 4.9 1.1, 3.1 1.9)"</span>, line);
-
- <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html" title="Strategy for distance point to segment.">ggl::strategy::distance::xy_point_segment<P, ggl::segment<const P></a> > DS;
- <span class="keyword">typedef</span> std::ostream_iterator<P> OUT;
- <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">ggl::strategy::simplify::douglas_peucker<L, OUT, DS></a> simplification;
- <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">ggl::simplify</a>(line, OUT(std::cout, <span class="stringliteral">"\n"</span>), 0.5, simplification());
-}
-</pre></div> </dd></dl>
-
-<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00299">299</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#l00284">284</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g44130eb01685933927c05207a01a84f1"></a><!-- doxytag: member="ggl::simplify" ref="g44130eb01685933927c05207a01a84f1" args="(const G &geometry, G &out, double max_distance)" -->
+<a class="anchor" name="gbe0df65c97527e83bcab80ec3232d45a"></a><!-- doxytag: member="ggl::simplify_inserter" ref="gbe0df65c97527e83bcab80ec3232d45a" args="(Geometry const &geometry, OutputIterator out, double max_distance, Strategy const &strategy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G > </div>
+template<typename Geometry , typename OutputIterator , typename Strategy > </div>
<table class="memname">
<tr>
- <td class="memname">void ggl::simplify </td>
+ <td class="memname">void ggl::simplify_inserter </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">G & </td>
+ <td class="paramtype">OutputIterator </td>
<td class="paramname"> <em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double </td>
- <td class="paramname"> <em>max_distance</em></td><td> </td>
+ <td class="paramname"> <em>max_distance</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>
@@ -237,47 +221,54 @@
<p>
Simplify a geometry.
<p>
-This version of simplify simplifies a geometry using the default <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> (Douglas Peucker), where the output is of the same geometry type as the input. <dl compact><dt><b>Parameters:</b></dt><dd>
+The simplify algorithm removes points, keeping the shape as much as possible. This version of simplify uses an output iterator and a simplify <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> <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>input geometry, to be simplified </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>output geometry, simplified version of the input geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>the geometry to be simplified, being a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">ggl::linestring</a>, vector, iterator pair, or any other boost compatible range </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>output iterator, outputs all simplified points </td></tr>
<tr><td valign="top"></td><td valign="top"><em>max_distance</em> </td><td>distance (in units of input coordinates) of a vertex to other segments to be removed </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em> </td><td>simplify <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used for simplification, might include point-distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> </td></tr>
</table>
</dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>The simplify algorithm with <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> can be used as following: <div class="fragment"><pre class="fragment">{
+ <span class="keyword">typedef</span> <a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">ggl::point_xy<double></a> P;
+ <span class="keyword">typedef</span> <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<P></a> L;
+ L line;
+
+ ggl::read_wkt(<span class="stringliteral">"linestring(1.1 1.1, 2.5 2.1, 3.1 3.1, 4.9 1.1, 3.1 1.9)"</span>, line);
+
+ <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html" title="Strategy for distance point to segment.">ggl::strategy::distance::xy_point_segment<P, ggl::segment<const P></a> > DS;
+ <span class="keyword">typedef</span> <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html" title="Implements the simplify algorithm.">ggl::strategy::simplify::douglas_peucker<P, DS></a> simplification;
+ <a class="code" href="group__simplify.html#gbe0df65c97527e83bcab80ec3232d45a" title="Simplify a geometry.">ggl::simplify_inserter</a>(line, std::ostream_iterator<P>(std::cout, <span class="stringliteral">"\n"</span>), 0.5, simplification());
+}
+</pre></div> </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00317">317</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#l00323">323</a> of file <a class="el" href="algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="g00b5a49a676c29d790764ad67e9fdfbc"></a><!-- doxytag: member="ggl::simplify" ref="g00b5a49a676c29d790764ad67e9fdfbc" args="(const G &geometry, G &out, double max_distance, S const &strategy)" -->
+<a class="anchor" name="g4285888f1598725bca124878ac16c656"></a><!-- doxytag: member="ggl::simplify_inserter" ref="g4285888f1598725bca124878ac16c656" args="(Geometry const &geometry, OutputIterator out, double max_distance)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename G , typename S > </div>
+template<typename Geometry , typename OutputIterator > </div>
<table class="memname">
<tr>
- <td class="memname">void ggl::simplify </td>
+ <td class="memname">void ggl::simplify_inserter </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">G & </td>
+ <td class="paramtype">OutputIterator </td>
<td class="paramname"> <em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double </td>
- <td class="paramname"> <em>max_distance</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="paramname"> <em>max_distance</em></td><td> </td>
</tr>
<tr>
<td></td>
@@ -291,16 +282,24 @@
<p>
Simplify a geometry.
<p>
-This version of simplify simplifies a geometry using a specified <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> where the output is of the same geometry type as the input. <dl compact><dt><b>Parameters:</b></dt><dd>
+The simplify algorithm removes points, keeping the shape as much as possible. This version of simplify uses an output iterator <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>input geometry, to be simplified </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>output geometry, simplified version of the input geometry </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>geometry</em> </td><td>the geometry to be simplified, being a <a class="el" href="classggl_1_1linestring.html" title="A linestring (named so by OGC) is a collection (default a vector) of points.">ggl::linestring</a>, vector, iterator pair, or any other boost compatible range </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>output iterator, outputs all simplified points </td></tr>
<tr><td valign="top"></td><td valign="top"><em>max_distance</em> </td><td>distance (in units of input coordinates) of a vertex to other segments to be removed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="namespaceggl_1_1strategy.html">strategy</a></em> </td><td>simplify <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> to be used for simplification, might include point-distance <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> </td></tr>
</table>
</dl>
+<dl class="user" compact><dt><b>Example:</b></dt><dd>The simplify algorithm can be used as following: <div class="fragment"><pre class="fragment">{
+ <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, simplified;
+ ggl::read_wkt(<span class="stringliteral">"linestring(1.1 1.1, 2.5 2.1, 3.1 3.1, 4.9 1.1, 3.1 1.9)"</span>, line);
+ <a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">ggl::simplify</a>(line, simplified, 0.5);
+ std::cout
+ << <span class="stringliteral">" original line: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(line) << std::endl
+ << <span class="stringliteral">"simplified line: "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">ggl::dsv</a>(simplified) << std::endl;
+}
+</pre></div> </dd></dl>
-<p>Definition at line <a class="el" href="algorithms_2simplify_8hpp_source.html#l00334">334</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#l00352">352</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__traits.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/group__traits.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -75,6 +75,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1interior__type.html">ggl::traits::interior_type< G ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">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>. 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_1point__order.html">ggl::traits::point_order< G ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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. 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_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>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -164,7 +164,7 @@
Function getting either the range (ring, <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>) itself or the outer ring.
<p>
Utility to handle polygon's outer ring as a range
-<p>Definition at line <a class="el" href="as__range_8hpp_source.html#l00083">83</a> of file <a class="el" href="as__range_8hpp_source.html">as_range.hpp</a>.</p>
+<p>Definition at line <a class="el" href="as__range_8hpp_source.html#l00106">106</a> of file <a class="el" href="as__range_8hpp_source.html">as_range.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/haversine_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -75,7 +75,7 @@
<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="l00048"></a>00048 <span class="keyword">class </span>haversine
<a name="l00049"></a>00049 {
<a name="l00050"></a>00050 <span class="keyword">public</span> :
<a name="l00051"></a>00051 <span class="comment">//typedef spherical_distance return_type;</span>
@@ -85,7 +85,7 @@
<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#cfc29c7f64c6136784283fab579fa970">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#cfc29c7f64c6136784283fab579fa970">operator()</a>(<span class="keyword">const</span> P1& p1, <span class="keyword">const</span> P2& p2)<span class="keyword"> const</span>
+<a name="l00058"></a><a class="code" href="classggl_1_1strategy_1_1distance_1_1haversine.html#cfc29c7f64c6136784283fab579fa970">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>(<span class="keyword">const</span> P1& p1, <span class="keyword">const</span> P2& 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));
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -69,9 +69,12 @@
<li><a class="el" href="structggl_1_1concept_1_1_linestring.html">ggl::concept::Linestring< L ></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="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="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy< 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>
@@ -101,7 +104,7 @@
<li><a class="el" href="structggl_1_1is__multi.html">ggl::is_multi< Geometry ></a>
<li><a class="el" href="structggl_1_1is__radian.html">ggl::is_radian< CoordinateSystem ></a>
<li><a class="el" href="structggl_1_1less.html">ggl::less< P ></a>
-<li><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< P, V, A ></a>
+<li><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< P, V, ClockWise, A ></a>
<li><a class="el" href="classggl_1_1linestring.html">ggl::linestring< P, V, A ></a>
<li><a class="el" href="structggl_1_1linestring__tag.html">ggl::linestring_tag</a>
<li><a class="el" href="structggl_1_1multi__linestring.html">ggl::multi_linestring< L, V, A ></a>
@@ -113,7 +116,7 @@
<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__const__iterator.html">ggl::point_const_iterator< Geometry ></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>
<li><a class="el" href="structggl_1_1point__type.html">ggl::point_type< Geometry ></a>
<li><a class="el" href="structggl_1_1policies_1_1relate_1_1direction__type.html">ggl::policies::relate::direction_type</a>
@@ -121,7 +124,7 @@
<li><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__direction.html">ggl::policies::relate::segments_direction< S1, S2 ></a>
<li><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__intersection__points.html">ggl::policies::relate::segments_intersection_points< S1, S2, ReturnType ></a>
<li><a class="el" href="structggl_1_1policies_1_1relate_1_1segments__tupled.html">ggl::policies::relate::segments_tupled< Policy1, Policy2 ></a>
-<li><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></a>
+<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>
@@ -145,6 +148,7 @@
<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="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>
<li><a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html">ggl::strategy::distance::haversine< P1, P2 ></a>
<li><a class="el" href="classggl_1_1strategy_1_1distance_1_1ll__point__segment.html">ggl::strategy::distance::ll_point_segment< P, S ></a>
<li><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>
@@ -219,6 +223,7 @@
<li><a class="el" href="structggl_1_1traits_1_1indexed__access.html">ggl::traits::indexed_access< G, I, D ></a>
<li><a class="el" href="structggl_1_1traits_1_1interior__rings.html">ggl::traits::interior_rings< G ></a>
<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>
@@ -226,6 +231,7 @@
<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>
<li><a class="el" href="structggl_1_1traits_1_1use__std.html">ggl::traits::use_std< G ></a>
+<li><a class="el" href="structggl_1_1vertex__iterator.html">ggl::vertex_iterator< Geometry, IsConst ></a>
<li><a class="el" href="classggl_1_1point.html">ggl::point< T, 2, C ></a>
<ul>
<li><a class="el" href="classggl_1_1point__xy.html">ggl::point_xy< T, C ></a>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -52,7 +52,7 @@
<a name="l00010"></a>00010 <span class="preprocessor">#ifndef GGL_CORE_INTERIOR_RINGS_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_INTERIOR_RINGS_HPP</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
-<a name="l00013"></a>00013
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/range/functions.hpp></span>
<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="tag_8hpp.html">ggl/core/tag.hpp</a>></span>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -195,8 +195,8 @@
<a name="l00176"></a>00176 previous = vertex++)
<a name="l00177"></a>00177 {
<a name="l00178"></a>00178 point_type p1, p2;
-<a name="l00179"></a>00179 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(*previous, p1);
-<a name="l00180"></a>00180 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(*vertex, p2);
+<a name="l00179"></a>00179 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(*previous, p1);
+<a name="l00180"></a>00180 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(*vertex, p2);
<a name="l00181"></a>00181
<a name="l00182"></a>00182 <span class="comment">// Clip the segment. Five situations:</span>
<a name="l00183"></a>00183 <span class="comment">// 1. Segment is invisible, finish line if any (shouldn't occur)</span>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -57,7 +57,28 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl_1_1strategy_1_1transform.html">ggl::strategy::transform</a></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="inverse__transformer_8hpp.html#20205a89cb81145766e74d5a1d27f049">BOOST_UBLAS_TYPE_CHECK</a> 0</td></tr>
+
</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="20205a89cb81145766e74d5a1d27f049"></a><!-- doxytag: member="inverse_transformer.hpp::BOOST_UBLAS_TYPE_CHECK" ref="20205a89cb81145766e74d5a1d27f049" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BOOST_UBLAS_TYPE_CHECK 0 </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="inverse__transformer_8hpp_source.html#l00014">14</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
+
+</div>
+</div><p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/inverse__transformer_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -51,54 +51,59 @@
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_STRATEGIES_TRANSFORM_INVERSE_TRANSFORMER_HPP</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_TRANSFORM_INVERSE_TRANSFORMER_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/numeric/ublas/lu.hpp></span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/numeric/ublas/io.hpp></span>
-<a name="l00014"></a>00014 <span class="preprocessor">#include <<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.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="l00012"></a>00012 <span class="comment">// Remove the ublas checking, otherwise the inverse might fail </span>
+<a name="l00013"></a>00013 <span class="comment">// (while nothing seems to be wrong)</span>
+<a name="l00014"></a><a class="code" href="inverse__transformer_8hpp.html#20205a89cb81145766e74d5a1d27f049">00014</a> <span class="preprocessor">#define BOOST_UBLAS_TYPE_CHECK 0</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/numeric/ublas/lu.hpp></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/numeric/ublas/io.hpp></span>
<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__transform.html#ge33cee2442ebab063f9c987121cd3500" title="Transforms from one geometry to another geometry using a strategy.">transform</a> {
+<a name="l00019"></a>00019 <span class="preprocessor">#include <<a class="code" href="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.hpp</a>></span>
<a name="l00020"></a>00020
-<a name="l00027"></a>00027 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00028"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">00028</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html" title="Transformation strategy to do an inverse ransformation in Cartesian system.">inverse_transformer</a>
-<a name="l00029"></a>00029 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, dimension<P1>::type::value, dimension<P2>::type::value>
-<a name="l00030"></a>00030 {
-<a name="l00031"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">00031</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<P1, P2>::type</a> <a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">T</a>;
-<a name="l00032"></a>00032
-<a name="l00033"></a>00033 <span class="keyword">template</span> <<span class="keyword">typename</span> MatrixType>
-<a name="l00034"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">00034</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">inverse_transformer</a>(<span class="keyword">const</span> MatrixType& input)
-<a name="l00035"></a>00035 {
-<a name="l00036"></a>00036 <span class="keyword">typedef</span> boost::numeric::ublas::matrix<double> matrix_type;
-<a name="l00037"></a>00037 <span class="comment">// create a working copy of the input</span>
-<a name="l00038"></a>00038 matrix_type copy(input.matrix());
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="comment">// create a permutation matrix for the LU-factorization</span>
-<a name="l00041"></a>00041 <span class="keyword">typedef</span> boost::numeric::ublas::permutation_matrix<> permutation_matrix;
-<a name="l00042"></a>00042 permutation_matrix pm(copy.size1());
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="comment">// perform LU-factorization</span>
-<a name="l00045"></a>00045 <span class="keywordtype">int</span> res = boost::numeric::ublas::lu_factorize<matrix_type>(copy, pm);
-<a name="l00046"></a>00046 <span class="keywordflow">if</span>( res == 0 )
-<a name="l00047"></a>00047 {
-<a name="l00048"></a>00048 <span class="comment">// create identity matrix</span>
-<a name="l00049"></a>00049 this->m_matrix.assign(boost::numeric::ublas::identity_matrix<T>(copy.size1()));
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="comment">// backsubstitute to get the inverse</span>
-<a name="l00052"></a>00052 boost::numeric::ublas::lu_substitute(copy, pm, this->m_matrix);
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054 }
+<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="keyword">namespace </span>strategy { <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="l00025"></a>00025
+<a name="l00032"></a>00032 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00033"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html">00033</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html" title="Transformation strategy to do an inverse ransformation in Cartesian system.">inverse_transformer</a>
+<a name="l00034"></a>00034 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, dimension<P1>::type::value, dimension<P2>::type::value>
+<a name="l00035"></a>00035 {
+<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">00036</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<P1, P2>::type</a> <a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#a5b03bab846c70cc412672c5b8a15a33">T</a>;
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="keyword">template</span> <<span class="keyword">typename</span> MatrixType>
+<a name="l00039"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">00039</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1inverse__transformer.html#4e116b3a139e47ecb7913e19ae0beb67">inverse_transformer</a>(<span class="keyword">const</span> MatrixType& input)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> boost::numeric::ublas::matrix<double> matrix_type;
+<a name="l00042"></a>00042 <span class="comment">// create a working copy of the input</span>
+<a name="l00043"></a>00043 matrix_type copy(input.matrix());
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 <span class="comment">// create a permutation matrix for the LU-factorization</span>
+<a name="l00046"></a>00046 <span class="keyword">typedef</span> boost::numeric::ublas::permutation_matrix<> permutation_matrix;
+<a name="l00047"></a>00047 permutation_matrix pm(copy.size1());
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="comment">// perform LU-factorization</span>
+<a name="l00050"></a>00050 <span class="keywordtype">int</span> res = boost::numeric::ublas::lu_factorize<matrix_type>(copy, pm);
+<a name="l00051"></a>00051 <span class="keywordflow">if</span>( res == 0 )
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 <span class="comment">// create identity matrix</span>
+<a name="l00054"></a>00054 this->m_matrix.assign(boost::numeric::ublas::identity_matrix<T>(copy.size1()));
<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 strategy::transform</span>
+<a name="l00056"></a>00056 <span class="comment">// backsubstitute to get the inverse</span>
+<a name="l00057"></a>00057 boost::numeric::ublas::lu_substitute(copy, pm, this->m_matrix);
+<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 ggl</span>
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="preprocessor">#endif // GGL_STRATEGIES_TRANSFORM_INVERSE_TRANSFORMER_HPP</span>
+<a name="l00065"></a>00065 }} <span class="comment">// namespace strategy::transform</span>
+<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_STRATEGIES_TRANSFORM_INVERSE_TRANSFORMER_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 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/iterators/point_const_iterator.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_1point__const__iterator.html">ggl::point_const_iterator< Geometry ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-function which defines point-const-iterator 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>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/iterators_2point__const__iterator_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
+++ (empty file)
@@ -1,137 +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/iterators/point_const_iterator.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_ITERATORS_POINT_CONST_ITERATOR_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ITERATORS_POINT_CONST_ITERATOR_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
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="tag_8hpp.html">ggl/core/tag.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
-<a name="l00021"></a>00021 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
-<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_DISPATCH</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<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> Tag, <span class="keyword">typename</span> Geometry>
-<a name="l00032"></a>00032 <span class="keyword">struct </span>point_const_iterator
-<a name="l00033"></a>00033 {
-<a name="l00034"></a>00034 <span class="comment">// The default: meta-forward this to boost</span>
-<a name="l00035"></a>00035 <span class="comment">// This enables calling this function using std::vector as well, even if they</span>
-<a name="l00036"></a>00036 <span class="comment">// are not registered.</span>
-<a name="l00037"></a>00037 <span class="comment">// It also requires less specializations</span>
-<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Geometry>::type type;
-<a name="l00039"></a>00039 };
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
-<a name="l00043"></a>00043 <span class="keyword">struct </span>point_const_iterator<polygon_tag, Polygon>
-<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00046"></a>00046 <
-<a name="l00047"></a>00047 <span class="keyword">typename</span> ring_type<Polygon>::type
-<a name="l00048"></a>00048 >::type type;
-<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 dispatch</span>
-<a name="l00055"></a>00055 <span class="preprocessor">#endif</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>
-<a name="l00057"></a>00057
-<a name="l00062"></a>00062 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
-<a name="l00063"></a><a class="code" href="structggl_1_1point__const__iterator.html">00063</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1point__const__iterator.html" title="Meta-function which defines point-const-iterator type.">point_const_iterator</a>
-<a name="l00064"></a>00064 {
-<a name="l00065"></a><a class="code" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">00065</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type <a class="code" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ncg</a>;
-<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> dispatch::point_const_iterator<
-<a name="l00067"></a><a class="code" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">00067</a> <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 class="code" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ncg</a>><a class="code" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">::type</a> <a class="code" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a>;
-<a name="l00068"></a>00068 };
-<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 }
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 <span class="preprocessor">#endif // GGL_ITERATORS_POINT_CONST_ITERATOR_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/iterators_2vertex__iterator_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 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/iterators/vertex_iterator.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_1vertex__iterator.html">ggl::vertex_iterator< Geometry, IsConst ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-function which defines <a class="el" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator</a> 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/iterators_2vertex__iterator_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,164 @@
+<!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/iterators/vertex_iterator.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_ITERATORS_VERTEX_ITERATOR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_ITERATORS_VERTEX_ITERATOR_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 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00016"></a>00016
+<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 <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="core_2ring__type_8hpp.html">ggl/core/ring_type.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_DISPATCH</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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> Tag, <span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> IsConst>
+<a name="l00032"></a>00032 <span class="keyword">struct </span>vertex_iterator
+<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> Tag, <span class="keyword">typename</span> Geometry>
+<a name="l00037"></a>00037 <span class="keyword">struct </span>vertex_iterator<Tag, Geometry, true>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="comment">// For most geometries: meta-forward this to boost</span>
+<a name="l00040"></a>00040 <span class="comment">// This enables calling this function using std::vector as well, even if they</span>
+<a name="l00041"></a>00041 <span class="comment">// are not registered.</span>
+<a name="l00042"></a>00042 <span class="comment">// It also requires less specializations</span>
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator<Geometry>::type 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> Tag, <span class="keyword">typename</span> Geometry>
+<a name="l00047"></a>00047 <span class="keyword">struct </span>vertex_iterator<Tag, Geometry, false>
+<a name="l00048"></a>00048 {
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator<Geometry>::type type;
+<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
+<a name="l00055"></a>00055 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00056"></a>00056 <span class="keyword">struct </span>vertex_iterator<polygon_tag, Polygon, false>
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00059"></a>00059 <
+<a name="l00060"></a>00060 <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="l00061"></a>00061 >::type type;
+<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="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00067"></a>00067 <span class="keyword">struct </span>vertex_iterator<polygon_tag, Polygon, true>
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00070"></a>00070 <
+<a name="l00071"></a>00071 <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="l00072"></a>00072 >::type type;
+<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 dispatch</span>
+<a name="l00080"></a>00080 <span class="preprocessor">#endif</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span>
+<a name="l00082"></a>00082
+<a name="l00096"></a>00096 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry, <span class="keywordtype">bool</span> IsConst>
+<a name="l00097"></a><a class="code" href="structggl_1_1vertex__iterator.html">00097</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator</a>
+<a name="l00098"></a>00098 {
+<a name="l00099"></a>00099 <span class="keyword">typedef</span> <span class="keyword">typename</span> dispatch::vertex_iterator
+<a name="l00100"></a>00100 <
+<a name="l00101"></a>00101 <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="l00102"></a>00102 <span class="keyword">typename</span> boost::remove_const<Geometry>::type,
+<a name="l00103"></a>00103 IsConst
+<a name="l00104"></a><a class="code" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">00104</a> ><a class="code" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">::type</a> <a class="code" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a>;
+<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 }
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="preprocessor">#endif // GGL_ITERATORS_VERTEX_ITERATOR_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/linear__ring_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/linear__ring_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -47,7 +47,7 @@
<a href="linear__ring_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">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1linear__ring.html">ggl::linear_ring< P, V, A ></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_1linear__ring.html">ggl::linear_ring< P, V, ClockWise, A ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" 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> (linear <a class="el" 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>) is a closed line which should not be selfintersecting. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -58,45 +58,75 @@
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="tag_8hpp.html">ggl/core/tag.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="point__concept_8hpp.html">ggl/core/concepts/point_concept.hpp</a>></span>
-<a name="l00021"></a>00021
+<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="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="l00033"></a>00033 <span class="keyword">template</span>
-<a name="l00034"></a>00034 <
-<a name="l00035"></a>00035 <span class="keyword">typename</span> P,
-<a name="l00036"></a>00036 <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="l00037"></a>00037 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A = std::allocator
-<a name="l00038"></a>00038 >
-<a name="l00039"></a><a class="code" href="classggl_1_1linear__ring.html">00039</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="l00040"></a>00040 {
-<a name="l00041"></a>00041 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="l00042"></a>00042 };
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="keyword">template</span>
-<a name="l00049"></a>00049 <
-<a name="l00050"></a>00050 <span class="keyword">typename</span> P,
-<a name="l00051"></a>00051 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
-<a name="l00052"></a>00052 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
-<a name="l00053"></a>00053 >
-<a name="l00054"></a>00054 <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="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a><P, V, A> >
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1ring__tag.html" title="Convenience (linear) ring identifying tag.">ring_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
-<a name="l00057"></a>00057 };
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 } <span class="comment">// namespace traits</span>
-<a name="l00060"></a>00060 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00061"></a>00061 <span class="preprocessor"></span>
-<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_GEOMETRIES_LINEAR_RING_HPP</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="l00034"></a>00034 <span class="keyword">template</span>
+<a name="l00035"></a>00035 <
+<a name="l00036"></a>00036 <span class="keyword">typename</span> P,
+<a name="l00037"></a>00037 <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="l00038"></a>00038 <span class="keywordtype">bool</span> ClockWise = <span class="keyword">true</span>,
+<a name="l00039"></a>00039 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A = std::allocator
+<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="l00044"></a>00044 };
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00048"></a>00048 {
+<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> P,
+<a name="l00053"></a>00053 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
+<a name="l00054"></a>00054 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00055"></a>00055 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
+<a name="l00056"></a>00056 >
+<a name="l00057"></a>00057 <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="classggl_1_1linear__ring.html" title="A linear_ring (linear linear_ring) is a closed line which should not be selfintersecting...">linear_ring</a><P, V, ClockWise, A> >
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keyword">typedef</span> <a class="code" href="structggl_1_1ring__tag.html" title="Convenience (linear) ring identifying tag.">ring_tag</a> <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<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> P,
+<a name="l00066"></a>00066 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
+<a name="l00067"></a>00067 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
+<a name="l00068"></a>00068 >
+<a name="l00069"></a>00069 <span class="keyword">struct </span>point_order< linear_ring<P, V, false, A> >
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="code" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a>;
+<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>
+<a name="l00076"></a>00076 <
+<a name="l00077"></a>00077 <span class="keyword">typename</span> P,
+<a name="l00078"></a>00078 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>V,
+<a name="l00079"></a>00079 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A
+<a name="l00080"></a>00080 >
+<a name="l00081"></a>00081 <span class="keyword">struct </span>point_order< linear_ring<P, V, true, A> >
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="code" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>;
+<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
+<a name="l00089"></a>00089 } <span class="comment">// namespace traits</span>
+<a name="l00090"></a>00090 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span>
+<a name="l00092"></a>00092 } <span class="comment">// namespace ggl</span>
+<a name="l00093"></a>00093
+<a name="l00094"></a>00094 <span class="preprocessor">#endif // GGL_GEOMETRIES_LINEAR_RING_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/math_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -61,54 +61,79 @@
<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_1math.html">00022</a> <span class="keyword">namespace </span>math
-<a name="l00023"></a>00023 {
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="comment">// Maybe replace this by boost equals or boost ublas numeric equals or so</span>
+<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><span class="keyword">namespace </span>detail { <span class="keyword">namespace </span>math {
+<a name="l00025"></a>00025
<a name="l00026"></a>00026
-<a name="l00038"></a>00038 <span class="keyword">template</span> <<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2>
-<a name="l00039"></a><a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34">00039</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">equals</a>(T1 <span class="keyword">const</span>& a, T2 <span class="keyword">const</span>& b)
-<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_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise<T1, T2>::type</a> select_type;
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="comment">// TODO: select on is_fundemental. Otherwise (non-fundamental), take == operator</span>
-<a name="l00044"></a>00044 <span class="keywordflow">if</span> (std::numeric_limits<select_type>::is_exact)
-<a name="l00045"></a>00045 {
-<a name="l00046"></a>00046 <span class="keywordflow">return</span> a == b;
-<a name="l00047"></a>00047 }
-<a name="l00048"></a>00048 <span class="keywordflow">else</span>
-<a name="l00049"></a>00049 {
-<a name="l00050"></a>00050 <span class="keywordflow">return</span> std::abs(a - b) < std::numeric_limits<select_type>::epsilon();
-<a name="l00051"></a>00051 }
-<a name="l00052"></a>00052 }
+<a name="l00027"></a>00027 <span class="keyword">template</span> <<span class="keyword">typename</span> T, <span class="keywordtype">bool</span> Floating>
+<a name="l00028"></a>00028 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">equals</a>
+<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(T <span class="keyword">const</span>& a, T <span class="keyword">const</span>& b)
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keywordflow">return</span> a == b;
+<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> T>
+<a name="l00037"></a>00037 <span class="keyword">struct </span><a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">equals</a><T, true>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> apply(T <span class="keyword">const</span>& a, T <span class="keyword">const</span>& b)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="comment">// See http://www.parashift.com/c++-faq-lite/newbie.html#faq-29.17,>
+<a name="l00042"></a>00042 <span class="comment">// FUTURE: replace by some boost tool or boost::test::close_at_tolerance</span>
+<a name="l00043"></a>00043 <span class="keywordflow">return</span> std::abs(a - b) <= std::numeric_limits<T>::epsilon() * std::abs(a);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 };
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 }} <span class="comment">// namespace detail::math</span>
+<a name="l00049"></a>00049 <span class="preprocessor">#endif</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00051"></a><a class="code" href="namespaceggl_1_1math.html">00051</a> <span class="keyword">namespace </span>math
+<a name="l00052"></a>00052 {
<a name="l00053"></a>00053
<a name="l00054"></a>00054
-<a name="l00055"></a>00055
-<a name="l00056"></a><a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">00056</a> <span class="keywordtype">double</span> <span class="keyword">const</span> <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a> = boost::math::constants::pi<double>();
-<a name="l00057"></a><a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">00057</a> <span class="keywordtype">double</span> <span class="keyword">const</span> <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">two_pi</a> = 2.0 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a>;
-<a name="l00058"></a><a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">00058</a> <span class="keywordtype">double</span> <span class="keyword">const</span> <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">d2r</a> = <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a> / 180.0;
-<a name="l00059"></a><a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">00059</a> <span class="keywordtype">double</span> <span class="keyword">const</span> <a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">r2d</a> = 1.0 / <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">d2r</a>;
-<a name="l00060"></a>00060
-<a name="l00066"></a>00066 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00067"></a><a class="code" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311">00067</a> <span class="keyword">inline</span> T <a class="code" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">hav</a>(T <span class="keyword">const</span>& theta)
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <span class="keyword">using</span> boost::math::constants::half;
-<a name="l00070"></a>00070 T <span class="keyword">const</span> sn = std::sin(half<T>() * theta);
-<a name="l00071"></a>00071 <span class="keywordflow">return</span> sn * sn;
-<a name="l00072"></a>00072 }
-<a name="l00073"></a>00073
-<a name="l00080"></a>00080 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
-<a name="l00081"></a><a class="code" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337">00081</a> <span class="keyword">inline</span> T <a class="code" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337" title="Short utility to return the square.">sqr</a>(T <span class="keyword">const</span>& value)
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 <span class="keywordflow">return</span> value * value;
-<a name="l00084"></a>00084 }
+<a name="l00055"></a>00055 <span class="comment">// Maybe replace this by boost equals or boost ublas numeric equals or so</span>
+<a name="l00056"></a>00056
+<a name="l00068"></a>00068 <span class="keyword">template</span> <<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2>
+<a name="l00069"></a><a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34">00069</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceggl_1_1math.html#d90ba94c2d65876e9485b2bbd10def34" title="returns true if both arguments are equal.">equals</a>(T1 <span class="keyword">const</span>& a, T2 <span class="keyword">const</span>& b)
+<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_1select__most__precise.html" title="Traits class to select, of two types, the most accurate type for calculations.">select_most_precise<T1, T2>::type</a> select_type;
+<a name="l00072"></a>00072 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">detail::math::equals</a>
+<a name="l00073"></a>00073 <
+<a name="l00074"></a>00074 select_type,
+<a name="l00075"></a>00075 boost::is_floating_point<select_type>::type::value
+<a name="l00076"></a>00076 >::apply(a, b);
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080
+<a name="l00081"></a><a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">00081</a> <span class="keywordtype">double</span> <span class="keyword">const</span> <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a> = boost::math::constants::pi<double>();
+<a name="l00082"></a><a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">00082</a> <span class="keywordtype">double</span> <span class="keyword">const</span> <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">two_pi</a> = 2.0 * <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a>;
+<a name="l00083"></a><a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">00083</a> <span class="keywordtype">double</span> <span class="keyword">const</span> <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">d2r</a> = <a class="code" href="namespaceggl_1_1math.html#54fc384779fa97a61e07149d880a599c">pi</a> / 180.0;
+<a name="l00084"></a><a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">00084</a> <span class="keywordtype">double</span> <span class="keyword">const</span> <a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">r2d</a> = 1.0 / <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">d2r</a>;
<a name="l00085"></a>00085
-<a name="l00086"></a>00086 } <span class="comment">// namespace math</span>
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088
-<a name="l00089"></a>00089 } <span class="comment">// namespace ggl</span>
-<a name="l00090"></a>00090
-<a name="l00091"></a>00091 <span class="preprocessor">#endif // GGL_UTIL_MATH_HPP</span>
+<a name="l00091"></a>00091 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
+<a name="l00092"></a><a class="code" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311">00092</a> <span class="keyword">inline</span> T <a class="code" href="namespaceggl_1_1math.html#eda38de76b567b170a5c9cadbe660311" title="Calculates the haversine of an angle.">hav</a>(T <span class="keyword">const</span>& theta)
+<a name="l00093"></a>00093 {
+<a name="l00094"></a>00094 <span class="keyword">using</span> boost::math::constants::half;
+<a name="l00095"></a>00095 T <span class="keyword">const</span> sn = std::sin(half<T>() * theta);
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> sn * sn;
+<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> T>
+<a name="l00106"></a><a class="code" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337">00106</a> <span class="keyword">inline</span> T <a class="code" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337" title="Short utility to return the square.">sqr</a>(T <span class="keyword">const</span>& value)
+<a name="l00107"></a>00107 {
+<a name="l00108"></a>00108 <span class="keywordflow">return</span> value * value;
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 } <span class="comment">// namespace math</span>
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 } <span class="comment">// namespace ggl</span>
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="preprocessor">#endif // GGL_UTIL_MATH_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.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/matrix__transformers_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -98,7 +98,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00014">14</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00015">15</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -52,314 +52,319 @@
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_MATRIX_TRANSFORMERS_HPP</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012
-<a name="l00013"></a>00013 <span class="comment">// Remove the ublas checking, otherwise the inverse might fail (while nothing seems to be wrong)</span>
-<a name="l00014"></a><a class="code" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">00014</a> <span class="preprocessor">#define BOOST_UBLAS_TYPE_CHECK 0</span>
-<a name="l00015"></a>00015 <span class="preprocessor"></span>
-<a name="l00016"></a>00016 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
-<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/numeric/ublas/vector.hpp></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include <boost/numeric/ublas/matrix.hpp></span>
-<a name="l00019"></a>00019
-<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
-<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="l00013"></a>00013 <span class="comment">// Remove the ublas checking, otherwise the inverse might fail </span>
+<a name="l00014"></a>00014 <span class="comment">// (while nothing seems to be wrong)</span>
+<a name="l00015"></a><a class="code" href="matrix__transformers_8hpp.html#20205a89cb81145766e74d5a1d27f049">00015</a> <span class="preprocessor">#define BOOST_UBLAS_TYPE_CHECK 0</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <boost/numeric/conversion/cast.hpp></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include <boost/numeric/ublas/vector.hpp></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <boost/numeric/ublas/matrix.hpp></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="coordinate__dimension_8hpp.html">ggl/core/coordinate_dimension.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="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 <span class="keyword">namespace </span>strategy { <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="l00028"></a>00028
-<a name="l00029"></a>00029
-<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> P1, <span class="keyword">typename</span> P2,
-<a name="l00041"></a>00041 std::size_t Dimension1,
-<a name="l00042"></a>00042 std::size_t Dimension2
-<a name="l00043"></a>00043 >
-<a name="l00044"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">00044</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>
-<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> P1, <span class="keyword">typename</span> P2>
-<a name="l00049"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00049</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>
+<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
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>strategy { <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="l00033"></a>00033
+<a name="l00034"></a>00034
+<a name="l00043"></a>00043 <span class="keyword">template</span>
+<a name="l00044"></a>00044 <
+<a name="l00045"></a>00045 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+<a name="l00046"></a>00046 std::size_t Dimension1,
+<a name="l00047"></a>00047 std::size_t Dimension2
+<a name="l00048"></a>00048 >
+<a name="l00049"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html">00049</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>
<a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 <span class="keyword">protected</span> :
-<a name="l00052"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#ffa7fb0b1ff1d5fd75be30486c0d46a8">00052</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<P1, P2>::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="l00053"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#d4da01249b3437d063dc5fba25fec65f">00053</a> <span class="keyword">typedef</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 class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
-<a name="l00054"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#12592e67623e7963a17010ad3441389b">00054</a> <span class="keyword">typedef</span> boost::numeric::ublas::matrix<coordinate_type> matrix_type;
-<a name="l00055"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#490515cf8b428ea54c0aacc3d9683876">00055</a> matrix_type m_matrix;
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">public</span> :
-<a name="l00058"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#deabcfb90827d666568146854b29ae80">00058</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
-<a name="l00059"></a>00059 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_2,
-<a name="l00060"></a>00060 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_2,
-<a name="l00061"></a>00061 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_2)
-<a name="l00062"></a>00062 : m_matrix(3, 3)
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 m_matrix(0,0) = m_0_0; m_matrix(0,1) = m_0_1; m_matrix(0,2) = m_0_2;
-<a name="l00065"></a>00065 m_matrix(1,0) = m_1_0; m_matrix(1,1) = m_1_1; m_matrix(1,2) = m_1_2;
-<a name="l00066"></a>00066 m_matrix(2,0) = m_2_0; m_matrix(2,1) = m_2_1; m_matrix(2,2) = m_2_2;
-<a name="l00067"></a>00067 }
-<a name="l00068"></a>00068
-<a name="l00069"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6f4c5f93e056261368a62866dc1138bc">00069</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
-<a name="l00070"></a>00070 : m_matrix(3, 3)
-<a name="l00071"></a>00071 {
+<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> P1, <span class="keyword">typename</span> P2>
+<a name="l00054"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00054</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">protected</span> :
+<a name="l00057"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#ffa7fb0b1ff1d5fd75be30486c0d46a8">00057</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<P1, P2>::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="l00058"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#d4da01249b3437d063dc5fba25fec65f">00058</a> <span class="keyword">typedef</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 class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
+<a name="l00059"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#12592e67623e7963a17010ad3441389b">00059</a> <span class="keyword">typedef</span> boost::numeric::ublas::matrix<coordinate_type> matrix_type;
+<a name="l00060"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#490515cf8b428ea54c0aacc3d9683876">00060</a> matrix_type m_matrix;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keyword">public</span> :
+<a name="l00063"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#deabcfb90827d666568146854b29ae80">00063</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
+<a name="l00064"></a>00064 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_2,
+<a name="l00065"></a>00065 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_2,
+<a name="l00066"></a>00066 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_2)
+<a name="l00067"></a>00067 : m_matrix(3, 3)
+<a name="l00068"></a>00068 {
+<a name="l00069"></a>00069 m_matrix(0,0) = m_0_0; m_matrix(0,1) = m_0_1; m_matrix(0,2) = m_0_2;
+<a name="l00070"></a>00070 m_matrix(1,0) = m_1_0; m_matrix(1,1) = m_1_1; m_matrix(1,2) = m_1_2;
+<a name="l00071"></a>00071 m_matrix(2,0) = m_2_0; m_matrix(2,1) = m_2_1; m_matrix(2,2) = m_2_2;
<a name="l00072"></a>00072 }
<a name="l00073"></a>00073
-<a name="l00074"></a>00074
-<a name="l00075"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#1d0365284596b5f526aef0af1c388649">00075</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> P1& p1, P2& p2)<span class="keyword"> const</span>
-<a name="l00076"></a>00076 <span class="keyword"> </span>{
-<a name="l00077"></a>00077 assert_dimension_greater_equal<P1, 2>();
-<a name="l00078"></a>00078 assert_dimension_greater_equal<P2, 2>();
+<a name="l00074"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6f4c5f93e056261368a62866dc1138bc">00074</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
+<a name="l00075"></a>00075 : m_matrix(3, 3)
+<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="keyword">const</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>& c1 = get<0>(p1);
-<a name="l00081"></a>00081 <span class="keyword">const</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>& c2 = get<1>(p1);
-<a name="l00082"></a>00082
-<a name="l00083"></a>00083 <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<P2>::type</a> ct2;
+<a name="l00080"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#1d0365284596b5f526aef0af1c388649">00080</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> P1& p1, P2& p2)<span class="keyword"> const</span>
+<a name="l00081"></a>00081 <span class="keyword"> </span>{
+<a name="l00082"></a>00082 assert_dimension_greater_equal<P1, 2>();
+<a name="l00083"></a>00083 assert_dimension_greater_equal<P2, 2>();
<a name="l00084"></a>00084
-<a name="l00085"></a>00085 set<0>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(0,0)
-<a name="l00086"></a>00086 + c2 * m_matrix(0,1) + m_matrix(0,2)));
-<a name="l00087"></a>00087 set<1>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(1,0)
-<a name="l00088"></a>00088 + c2 * m_matrix(1,1) + m_matrix(1,2)));
+<a name="l00085"></a>00085 <span class="keyword">const</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>& c1 = get<0>(p1);
+<a name="l00086"></a>00086 <span class="keyword">const</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>& c2 = get<1>(p1);
+<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_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type<P2>::type</a> ct2;
<a name="l00089"></a>00089
-<a name="l00090"></a>00090 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00093"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6b9ff9fc83d6716a7d7aa46916340e45">00093</a> <span class="keyword">const</span> matrix_type& <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6b9ff9fc83d6716a7d7aa46916340e45">matrix</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_matrix; }
-<a name="l00094"></a>00094 };
-<a name="l00095"></a>00095
-<a name="l00096"></a>00096 <span class="comment">// It IS possible to go from 3 to 2 coordinates</span>
-<a name="l00097"></a>00097 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00098"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">00098</a> <span class="keyword">struct </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 2>
-<a name="l00099"></a>00099 : <span class="keyword">public</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>
-<a name="l00100"></a>00100 {
-<a name="l00101"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#d6b0c10cc71f3cd2d4dad47f5c94a9f2">00101</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<P1, P2>::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="l00102"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#1f78be251f94d7559e60516ff5fe6774">00102</a> <span class="keyword">typedef</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 class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
-<a name="l00103"></a>00103
-<a name="l00104"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#2a4a593ed9bfa13f35718c475f8e99fb">00104</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
-<a name="l00105"></a>00105 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_2,
-<a name="l00106"></a>00106 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_2,
-<a name="l00107"></a>00107 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_2)
-<a name="l00108"></a>00108 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>(
-<a name="l00109"></a>00109 m_0_0, m_0_1, m_0_2,
-<a name="l00110"></a>00110 m_1_0, m_1_1, m_1_2,
-<a name="l00111"></a>00111 m_2_0, m_2_1, m_2_2)
-<a name="l00112"></a>00112 {}
-<a name="l00113"></a>00113
-<a name="l00114"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#a25611abeabb510caa9f38a68b60590e">00114</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
-<a name="l00115"></a>00115 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>()
-<a name="l00116"></a>00116 {}
-<a name="l00117"></a>00117 };
+<a name="l00090"></a>00090 set<0>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(0,0)
+<a name="l00091"></a>00091 + c2 * m_matrix(0,1) + m_matrix(0,2)));
+<a name="l00092"></a>00092 set<1>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(1,0)
+<a name="l00093"></a>00093 + c2 * m_matrix(1,1) + m_matrix(1,2)));
+<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
+<a name="l00098"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6b9ff9fc83d6716a7d7aa46916340e45">00098</a> <span class="keyword">const</span> matrix_type& <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#6b9ff9fc83d6716a7d7aa46916340e45">matrix</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_matrix; }
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="comment">// It IS possible to go from 3 to 2 coordinates</span>
+<a name="l00102"></a>00102 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00103"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html">00103</a> <span class="keyword">struct </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 2>
+<a name="l00104"></a>00104 : <span class="keyword">public</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>
+<a name="l00105"></a>00105 {
+<a name="l00106"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#d6b0c10cc71f3cd2d4dad47f5c94a9f2">00106</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<P1, P2>::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="l00107"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#1f78be251f94d7559e60516ff5fe6774">00107</a> <span class="keyword">typedef</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 class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
+<a name="l00108"></a>00108
+<a name="l00109"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#2a4a593ed9bfa13f35718c475f8e99fb">00109</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
+<a name="l00110"></a>00110 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_2,
+<a name="l00111"></a>00111 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_2,
+<a name="l00112"></a>00112 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_2)
+<a name="l00113"></a>00113 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>(
+<a name="l00114"></a>00114 m_0_0, m_0_1, m_0_2,
+<a name="l00115"></a>00115 m_1_0, m_1_1, m_1_2,
+<a name="l00116"></a>00116 m_2_0, m_2_1, m_2_2)
+<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> P1, <span class="keyword">typename</span> P2>
-<a name="l00121"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00121</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>
-<a name="l00122"></a>00122 {
-<a name="l00123"></a>00123 <span class="keyword">protected</span> :
-<a name="l00124"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f18e27122021194c07a471589ba9307d">00124</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<P1, P2>::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="l00125"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#951814d986884cb4de41d5ac69f49935">00125</a> <span class="keyword">typedef</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 class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
-<a name="l00126"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#a76b6324f5b389154d46f685e0d87780">00126</a> <span class="keyword">typedef</span> boost::numeric::ublas::matrix<coordinate_type> matrix_type;
-<a name="l00127"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#cbc1a5011d8f38842c1970ea9f7ae859">00127</a> matrix_type m_matrix;
-<a name="l00128"></a>00128
-<a name="l00129"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#62ee4b0a8b7b1e9b4a3b6621911fd0b4">00129</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
-<a name="l00130"></a>00130 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_2, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_3,
-<a name="l00131"></a>00131 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_2, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_3,
-<a name="l00132"></a>00132 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_2, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_3,
-<a name="l00133"></a>00133 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_3_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_3_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_3_2, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_3_3
-<a name="l00134"></a>00134 )
-<a name="l00135"></a>00135 : m_matrix(4, 4)
-<a name="l00136"></a>00136 {
-<a name="l00137"></a>00137 m_matrix(0,0) = m_0_0; m_matrix(0,1) = m_0_1; m_matrix(0,2) = m_0_2; m_matrix(0,3) = m_0_3;
-<a name="l00138"></a>00138 m_matrix(1,0) = m_1_0; m_matrix(1,1) = m_1_1; m_matrix(1,2) = m_1_2; m_matrix(1,3) = m_1_3;
-<a name="l00139"></a>00139 m_matrix(2,0) = m_2_0; m_matrix(2,1) = m_2_1; m_matrix(2,2) = m_2_2; m_matrix(2,3) = m_2_3;
-<a name="l00140"></a>00140 m_matrix(3,0) = m_3_0; m_matrix(3,1) = m_3_1; m_matrix(3,2) = m_3_2; m_matrix(3,3) = m_3_3;
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142
-<a name="l00143"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c6b30d2d246cd8e4ef439c10c563abba">00143</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
-<a name="l00144"></a>00144 : m_matrix(4, 4)
-<a name="l00145"></a>00145 {
+<a name="l00119"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html#a25611abeabb510caa9f38a68b60590e">00119</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
+<a name="l00120"></a>00120 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>()
+<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 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00126"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00126</a> <span class="keyword">class </span><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="keyword">protected</span> :
+<a name="l00129"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f18e27122021194c07a471589ba9307d">00129</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<P1, P2>::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="l00130"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#951814d986884cb4de41d5ac69f49935">00130</a> <span class="keyword">typedef</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 class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a>; <span class="comment">// Abbreviation</span>
+<a name="l00131"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#a76b6324f5b389154d46f685e0d87780">00131</a> <span class="keyword">typedef</span> boost::numeric::ublas::matrix<coordinate_type> matrix_type;
+<a name="l00132"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#cbc1a5011d8f38842c1970ea9f7ae859">00132</a> matrix_type m_matrix;
+<a name="l00133"></a>00133
+<a name="l00134"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#62ee4b0a8b7b1e9b4a3b6621911fd0b4">00134</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>(
+<a name="l00135"></a>00135 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_2, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_0_3,
+<a name="l00136"></a>00136 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_2, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_1_3,
+<a name="l00137"></a>00137 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_2, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_2_3,
+<a name="l00138"></a>00138 <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_3_0, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_3_1, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_3_2, <a class="code" href="structggl_1_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ct</a> <span class="keyword">const</span>& m_3_3
+<a name="l00139"></a>00139 )
+<a name="l00140"></a>00140 : m_matrix(4, 4)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 m_matrix(0,0) = m_0_0; m_matrix(0,1) = m_0_1; m_matrix(0,2) = m_0_2; m_matrix(0,3) = m_0_3;
+<a name="l00143"></a>00143 m_matrix(1,0) = m_1_0; m_matrix(1,1) = m_1_1; m_matrix(1,2) = m_1_2; m_matrix(1,3) = m_1_3;
+<a name="l00144"></a>00144 m_matrix(2,0) = m_2_0; m_matrix(2,1) = m_2_1; m_matrix(2,2) = m_2_2; m_matrix(2,3) = m_2_3;
+<a name="l00145"></a>00145 m_matrix(3,0) = m_3_0; m_matrix(3,1) = m_3_1; m_matrix(3,2) = m_3_2; m_matrix(3,3) = m_3_3;
<a name="l00146"></a>00146 }
<a name="l00147"></a>00147
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 <span class="keyword">public</span> :
-<a name="l00150"></a>00150
-<a name="l00151"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#b74d6180b2290096409861046c6b33da">00151</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> P1& p1, P2& p2)<span class="keyword"> const</span>
-<a name="l00152"></a>00152 <span class="keyword"> </span>{
-<a name="l00153"></a>00153 <span class="keyword">const</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>& c1 = get<0>(p1);
-<a name="l00154"></a>00154 <span class="keyword">const</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>& c2 = get<1>(p1);
-<a name="l00155"></a>00155 <span class="keyword">const</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>& c3 = get<2>(p1);
-<a name="l00156"></a>00156
-<a name="l00157"></a>00157 <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<P2>::type</a> ct2;
-<a name="l00158"></a>00158
-<a name="l00159"></a>00159 set<0>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(0,0)
-<a name="l00160"></a>00160 + c2 * m_matrix(0,1) + c3 * m_matrix(0,2) + m_matrix(0,3)));
-<a name="l00161"></a>00161 set<1>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(1,0)
-<a name="l00162"></a>00162 + c2 * m_matrix(1,1) + c3 * m_matrix(1,2) + m_matrix(1,3)));
-<a name="l00163"></a>00163 set<2>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(2,0)
-<a name="l00164"></a>00164 + c2 * m_matrix(2,1) + c3 * m_matrix(2,2) + m_matrix(2,3)));
-<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="l00169"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#26c463b304ea38f14d55fcadd4d439a8">00169</a> <span class="keyword">const</span> matrix_type& <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#26c463b304ea38f14d55fcadd4d439a8">matrix</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_matrix; }
-<a name="l00170"></a>00170 };
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172
+<a name="l00148"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c6b30d2d246cd8e4ef439c10c563abba">00148</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a>()
+<a name="l00149"></a>00149 : m_matrix(4, 4)
+<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 <span class="keyword">public</span> :
+<a name="l00155"></a>00155
+<a name="l00156"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#b74d6180b2290096409861046c6b33da">00156</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> P1& p1, P2& p2)<span class="keyword"> const</span>
+<a name="l00157"></a>00157 <span class="keyword"> </span>{
+<a name="l00158"></a>00158 <span class="keyword">const</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>& c1 = get<0>(p1);
+<a name="l00159"></a>00159 <span class="keyword">const</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>& c2 = get<1>(p1);
+<a name="l00160"></a>00160 <span class="keyword">const</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>& c3 = get<2>(p1);
+<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_1coordinate__type.html" title="Meta-function which defines coordinate type (int, float, double, etc) of any geometry...">ggl::coordinate_type<P2>::type</a> ct2;
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 set<0>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(0,0)
+<a name="l00165"></a>00165 + c2 * m_matrix(0,1) + c3 * m_matrix(0,2) + m_matrix(0,3)));
+<a name="l00166"></a>00166 set<1>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(1,0)
+<a name="l00167"></a>00167 + c2 * m_matrix(1,1) + c3 * m_matrix(1,2) + m_matrix(1,3)));
+<a name="l00168"></a>00168 set<2>(p2, boost::numeric_cast<ct2>(c1 * m_matrix(2,0)
+<a name="l00169"></a>00169 + c2 * m_matrix(2,1) + c3 * m_matrix(2,2) + m_matrix(2,3)));
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00172"></a>00172 }
<a name="l00173"></a>00173
-<a name="l00174"></a>00174
-<a name="l00184"></a>00184 <span class="keyword">template</span>
-<a name="l00185"></a>00185 <
-<a name="l00186"></a>00186 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
-<a name="l00187"></a>00187 std::size_t Dimension1 = <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<P1>::type::value</a>,
-<a name="l00188"></a>00188 std::size_t Dimension2 = <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<P2>::type::value</a>
-<a name="l00189"></a>00189 >
-<a name="l00190"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">00190</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a> {};
-<a name="l00191"></a>00191
-<a name="l00192"></a>00192
-<a name="l00193"></a>00193 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00194"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00194</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a><P1, P2, 2, 2>
-<a name="l00195"></a>00195 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>
-<a name="l00196"></a>00196 {
-<a name="l00197"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#89d70caf72012acdb7186ac75f3efa36">00197</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<P1, P2>::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="comment">// To have translate transformers compatible for 2/3 dimensions, the</span>
-<a name="l00200"></a>00200 <span class="comment">// constructor takes an optional third argument doing nothing.</span>
-<a name="l00201"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#84a76b9962a5f194a83f42a656b6ba3b">00201</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</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> <span class="keyword">const</span>& translate_x,
-<a name="l00202"></a>00202 <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>& translate_y,
-<a name="l00203"></a>00203 <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>& dummy = 0)
-<a name="l00204"></a>00204 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>(
-<a name="l00205"></a>00205 1, 0, translate_x,
-<a name="l00206"></a>00206 0, 1, translate_y,
-<a name="l00207"></a>00207 0, 0, 1)
-<a name="l00208"></a>00208 {}
-<a name="l00209"></a>00209
-<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> P1, <span class="keyword">typename</span> P2>
-<a name="l00213"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00213</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a><P1, P2, 3, 3> : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>
-<a name="l00214"></a>00214 {
-<a name="l00215"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#0c99fdac62697111b767ecf7c60a5b28">00215</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<P1, P2>::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="l00174"></a><a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#26c463b304ea38f14d55fcadd4d439a8">00174</a> <span class="keyword">const</span> matrix_type& <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#26c463b304ea38f14d55fcadd4d439a8">matrix</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_matrix; }
+<a name="l00175"></a>00175 };
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179
+<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> P1, <span class="keyword">typename</span> P2,
+<a name="l00192"></a>00192 std::size_t Dimension1 = <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<P1>::type::value</a>,
+<a name="l00193"></a>00193 std::size_t Dimension2 = <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<P2>::type::value</a>
+<a name="l00194"></a>00194 >
+<a name="l00195"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html">00195</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a> {};
+<a name="l00196"></a>00196
+<a name="l00197"></a>00197
+<a name="l00198"></a>00198 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00199"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00199</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a><P1, P2, 2, 2>
+<a name="l00200"></a>00200 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>
+<a name="l00201"></a>00201 {
+<a name="l00202"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#89d70caf72012acdb7186ac75f3efa36">00202</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<P1, P2>::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="l00203"></a>00203
+<a name="l00204"></a>00204 <span class="comment">// To have translate transformers compatible for 2/3 dimensions, the</span>
+<a name="l00205"></a>00205 <span class="comment">// constructor takes an optional third argument doing nothing.</span>
+<a name="l00206"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#84a76b9962a5f194a83f42a656b6ba3b">00206</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</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> <span class="keyword">const</span>& translate_x,
+<a name="l00207"></a>00207 <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>& translate_y,
+<a name="l00208"></a>00208 <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>& dummy = 0)
+<a name="l00209"></a>00209 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>(
+<a name="l00210"></a>00210 1, 0, translate_x,
+<a name="l00211"></a>00211 0, 1, translate_y,
+<a name="l00212"></a>00212 0, 0, 1)
+<a name="l00213"></a>00213 {}
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 };
<a name="l00216"></a>00216
-<a name="l00217"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c58e40759cfd721966d862a348e9ddf0">00217</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</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> <span class="keyword">const</span>& translate_x,
-<a name="l00218"></a>00218 <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>& translate_y,
-<a name="l00219"></a>00219 <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>& translate_z)
-<a name="l00220"></a>00220 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>(
-<a name="l00221"></a>00221 1, 0, 0, translate_x,
-<a name="l00222"></a>00222 0, 1, 0, translate_y,
-<a name="l00223"></a>00223 0, 0, 1, translate_z,
-<a name="l00224"></a>00224 0, 0, 0, 1)
-<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
-<a name="l00239"></a>00239 <span class="keyword">template</span>
-<a name="l00240"></a>00240 <
-<a name="l00241"></a>00241 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
-<a name="l00242"></a>00242 std::size_t Dimension1 = <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<P1>::type::value</a>,
-<a name="l00243"></a>00243 std::size_t Dimension2 = <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<P2>::type::value</a>
-<a name="l00244"></a>00244 >
-<a name="l00245"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">00245</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a> {};
-<a name="l00246"></a>00246
-<a name="l00247"></a>00247
-<a name="l00248"></a>00248 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00249"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00249</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a><P1, P2, 2, 2> : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>
-<a name="l00250"></a>00250 {
-<a name="l00251"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#b6de86a8e58ced2952f1fa8674ddba9b">00251</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<P1, P2>::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="l00217"></a>00217 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00218"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00218</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</a><P1, P2, 3, 3> : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>
+<a name="l00219"></a>00219 {
+<a name="l00220"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#0c99fdac62697111b767ecf7c60a5b28">00220</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<P1, P2>::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="l00221"></a>00221
+<a name="l00222"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#c58e40759cfd721966d862a348e9ddf0">00222</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1translate__transformer.html" title="Transformation strategy to translate in Cartesian system.">translate_transformer</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> <span class="keyword">const</span>& translate_x,
+<a name="l00223"></a>00223 <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>& translate_y,
+<a name="l00224"></a>00224 <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>& translate_z)
+<a name="l00225"></a>00225 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>(
+<a name="l00226"></a>00226 1, 0, 0, translate_x,
+<a name="l00227"></a>00227 0, 1, 0, translate_y,
+<a name="l00228"></a>00228 0, 0, 1, translate_z,
+<a name="l00229"></a>00229 0, 0, 0, 1)
+<a name="l00230"></a>00230 {}
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 };
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234
+<a name="l00244"></a>00244 <span class="keyword">template</span>
+<a name="l00245"></a>00245 <
+<a name="l00246"></a>00246 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+<a name="l00247"></a>00247 std::size_t Dimension1 = <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<P1>::type::value</a>,
+<a name="l00248"></a>00248 std::size_t Dimension2 = <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<P2>::type::value</a>
+<a name="l00249"></a>00249 >
+<a name="l00250"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html">00250</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a> {};
+<a name="l00251"></a>00251
<a name="l00252"></a>00252
-<a name="l00253"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#fd92b640f6aeb776138c3b076b714ae1">00253</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</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> <span class="keyword">const</span>& scale_x,
-<a name="l00254"></a>00254 <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>& scale_y,
-<a name="l00255"></a>00255 <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>& dummy = 0)
-<a name="l00256"></a>00256 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>(
-<a name="l00257"></a>00257 scale_x, 0, 0,
-<a name="l00258"></a>00258 0, scale_y, 0,
-<a name="l00259"></a>00259 0, 0, 1)
-<a name="l00260"></a>00260 {}
-<a name="l00261"></a>00261 };
-<a name="l00262"></a>00262
-<a name="l00263"></a>00263
-<a name="l00264"></a>00264 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
-<a name="l00265"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00265</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a><P1, P2, 3, 3> : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>
-<a name="l00266"></a>00266 {
-<a name="l00267"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#9e9ba88969a37c5754ca1c3e78cbc369">00267</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<P1, P2>::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="l00253"></a>00253 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00254"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html">00254</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a><P1, P2, 2, 2> : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>
+<a name="l00255"></a>00255 {
+<a name="l00256"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#b6de86a8e58ced2952f1fa8674ddba9b">00256</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<P1, P2>::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="l00257"></a>00257
+<a name="l00258"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html#fd92b640f6aeb776138c3b076b714ae1">00258</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</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> <span class="keyword">const</span>& scale_x,
+<a name="l00259"></a>00259 <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>& scale_y,
+<a name="l00260"></a>00260 <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>& dummy = 0)
+<a name="l00261"></a>00261 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 2, 2>(
+<a name="l00262"></a>00262 scale_x, 0, 0,
+<a name="l00263"></a>00263 0, scale_y, 0,
+<a name="l00264"></a>00264 0, 0, 1)
+<a name="l00265"></a>00265 {}
+<a name="l00266"></a>00266 };
+<a name="l00267"></a>00267
<a name="l00268"></a>00268
-<a name="l00269"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f63cba0849484a91687f20936bfa1761">00269</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</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> <span class="keyword">const</span>& scale_x,
-<a name="l00270"></a>00270 <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>& scale_y,
-<a name="l00271"></a>00271 <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>& scale_z)
-<a name="l00272"></a>00272 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>(
-<a name="l00273"></a>00273 scale_x, 0, 0, 0,
-<a name="l00274"></a>00274 0, scale_y, 0, 0,
-<a name="l00275"></a>00275 0, 0, scale_z, 0,
-<a name="l00276"></a>00276 0, 0, 0, 1)
-<a name="l00277"></a>00277 {}
-<a name="l00278"></a>00278 };
-<a name="l00279"></a>00279
-<a name="l00280"></a>00280
-<a name="l00281"></a>00281
-<a name="l00282"></a>00282 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
-<a name="l00283"></a>00283 <span class="preprocessor"></span><span class="keyword">namespace </span>detail {
+<a name="l00269"></a>00269 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2>
+<a name="l00270"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html">00270</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</a><P1, P2, 3, 3> : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>
+<a name="l00271"></a>00271 {
+<a name="l00272"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#9e9ba88969a37c5754ca1c3e78cbc369">00272</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<P1, P2>::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="l00273"></a>00273
+<a name="l00274"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html#f63cba0849484a91687f20936bfa1761">00274</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1scale__transformer.html" title="Transformation strategy to scale in Cartesian system.">scale_transformer</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> <span class="keyword">const</span>& scale_x,
+<a name="l00275"></a>00275 <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>& scale_y,
+<a name="l00276"></a>00276 <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>& scale_z)
+<a name="l00277"></a>00277 : <a class="code" href="classggl_1_1strategy_1_1transform_1_1ublas__transformer.html" title="Transformation strategy to do an affine matrix transformation in Cartesian system...">ublas_transformer</a><P1, P2, 3, 3>(
+<a name="l00278"></a>00278 scale_x, 0, 0, 0,
+<a name="l00279"></a>00279 0, scale_y, 0, 0,
+<a name="l00280"></a>00280 0, 0, scale_z, 0,
+<a name="l00281"></a>00281 0, 0, 0, 1)
+<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> DegreeOrRadian>
-<a name="l00286"></a>00286 <span class="keyword">struct </span>as_radian {};
-<a name="l00287"></a>00287
-<a name="l00288"></a>00288 <span class="keyword">template</span> <>
-<a name="l00289"></a>00289 <span class="keyword">struct </span>as_radian<<a class="code" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>>
-<a name="l00290"></a>00290 {
-<a name="l00291"></a>00291 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keywordtype">double</span> <span class="keyword">const</span>& value)
-<a name="l00292"></a>00292 {
-<a name="l00293"></a>00293 <span class="keywordflow">return</span> value;
-<a name="l00294"></a>00294 }
-<a name="l00295"></a>00295 };
-<a name="l00296"></a>00296
-<a name="l00297"></a>00297 <span class="keyword">template</span> <>
-<a name="l00298"></a>00298 <span class="keyword">struct </span>as_radian<degree>
-<a name="l00299"></a>00299 {
-<a name="l00300"></a>00300 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keywordtype">double</span> <span class="keyword">const</span>& value)
-<a name="l00301"></a>00301 {
-<a name="l00302"></a>00302 <span class="keywordflow">return</span> value * <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">math::d2r</a>;
-<a name="l00303"></a>00303 }
-<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 <span class="keyword">template</span>
-<a name="l00309"></a>00309 <
-<a name="l00310"></a>00310 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
-<a name="l00311"></a>00311 std::size_t Dimension1 = <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<P1>::type::value</a>,
-<a name="l00312"></a>00312 std::size_t Dimension2 = <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<P2>::type::value</a>
-<a name="l00313"></a>00313 >
-<a name="l00314"></a>00314 <span class="keyword">struct </span>rad_rotate_transformer
-<a name="l00315"></a>00315 : ublas_transformer<P1, P2, Dimension1, Dimension2>
-<a name="l00316"></a>00316 {
-<a name="l00317"></a>00317 <span class="keyword">inline</span> rad_rotate_transformer(<span class="keywordtype">double</span> <span class="keyword">const</span>& angle)
-<a name="l00318"></a>00318 : ublas_transformer<P1, P2, Dimension1, Dimension2>(
-<a name="l00319"></a>00319 cos(angle), sin(angle), 0,
-<a name="l00320"></a>00320 -sin(angle), cos(angle), 0,
-<a name="l00321"></a>00321 0, 0, 1)
-<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="preprocessor">#endif</span>
-<a name="l00327"></a>00327 <span class="preprocessor"></span>
-<a name="l00328"></a>00328
-<a name="l00340"></a>00340 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> DegreeOrRadian>
-<a name="l00341"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">00341</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html" title="Transformation strategy to rotate in Cartesian system.">rotate_transformer</a> : detail::rad_rotate_transformer<P1, P2>
-<a name="l00342"></a>00342 {
-<a name="l00343"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">00343</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">rotate_transformer</a>(<span class="keywordtype">double</span> <span class="keyword">const</span>& angle)
-<a name="l00344"></a>00344 : detail::rad_rotate_transformer
-<a name="l00345"></a>00345 <
-<a name="l00346"></a>00346 P1, P2
-<a name="l00347"></a>00347 >(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="l00348"></a>00348 {}
-<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="comment">// namespace strategy::transform</span>
+<a name="l00285"></a>00285
+<a name="l00286"></a>00286
+<a name="l00287"></a>00287 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00288"></a>00288 <span class="preprocessor"></span><span class="keyword">namespace </span>detail {
+<a name="l00289"></a>00289
+<a name="l00290"></a>00290 <span class="keyword">template</span> <<span class="keyword">typename</span> DegreeOrRadian>
+<a name="l00291"></a>00291 <span class="keyword">struct </span>as_radian {};
+<a name="l00292"></a>00292
+<a name="l00293"></a>00293 <span class="keyword">template</span> <>
+<a name="l00294"></a>00294 <span class="keyword">struct </span>as_radian<<a class="code" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>>
+<a name="l00295"></a>00295 {
+<a name="l00296"></a>00296 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keywordtype">double</span> <span class="keyword">const</span>& value)
+<a name="l00297"></a>00297 {
+<a name="l00298"></a>00298 <span class="keywordflow">return</span> value;
+<a name="l00299"></a>00299 }
+<a name="l00300"></a>00300 };
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302 <span class="keyword">template</span> <>
+<a name="l00303"></a>00303 <span class="keyword">struct </span>as_radian<degree>
+<a name="l00304"></a>00304 {
+<a name="l00305"></a>00305 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <span class="keyword">get</span>(<span class="keywordtype">double</span> <span class="keyword">const</span>& value)
+<a name="l00306"></a>00306 {
+<a name="l00307"></a>00307 <span class="keywordflow">return</span> value * <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">math::d2r</a>;
+<a name="l00308"></a>00308 }
+<a name="l00309"></a>00309
+<a name="l00310"></a>00310 };
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313 <span class="keyword">template</span>
+<a name="l00314"></a>00314 <
+<a name="l00315"></a>00315 <span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2,
+<a name="l00316"></a>00316 std::size_t Dimension1 = <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<P1>::type::value</a>,
+<a name="l00317"></a>00317 std::size_t Dimension2 = <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<P2>::type::value</a>
+<a name="l00318"></a>00318 >
+<a name="l00319"></a>00319 <span class="keyword">struct </span>rad_rotate_transformer
+<a name="l00320"></a>00320 : ublas_transformer<P1, P2, Dimension1, Dimension2>
+<a name="l00321"></a>00321 {
+<a name="l00322"></a>00322 <span class="keyword">inline</span> rad_rotate_transformer(<span class="keywordtype">double</span> <span class="keyword">const</span>& angle)
+<a name="l00323"></a>00323 : ublas_transformer<P1, P2, Dimension1, Dimension2>(
+<a name="l00324"></a>00324 cos(angle), sin(angle), 0,
+<a name="l00325"></a>00325 -sin(angle), cos(angle), 0,
+<a name="l00326"></a>00326 0, 0, 1)
+<a name="l00327"></a>00327 {}
+<a name="l00328"></a>00328 };
+<a name="l00329"></a>00329
+<a name="l00330"></a>00330 }
+<a name="l00331"></a>00331 <span class="preprocessor">#endif</span>
+<a name="l00332"></a>00332 <span class="preprocessor"></span>
+<a name="l00333"></a>00333
+<a name="l00345"></a>00345 <span class="keyword">template</span> <<span class="keyword">typename</span> P1, <span class="keyword">typename</span> P2, <span class="keyword">typename</span> DegreeOrRadian>
+<a name="l00346"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html">00346</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html" title="Transformation strategy to rotate in Cartesian system.">rotate_transformer</a> : detail::rad_rotate_transformer<P1, P2>
+<a name="l00347"></a>00347 {
+<a name="l00348"></a><a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">00348</a> <span class="keyword">inline</span> <a class="code" href="structggl_1_1strategy_1_1transform_1_1rotate__transformer.html#a38f61b33b815f836459fa1cb7ba1011">rotate_transformer</a>(<span class="keywordtype">double</span> <span class="keyword">const</span>& angle)
+<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="l00353"></a>00353 {}
<a name="l00354"></a>00354
-<a name="l00355"></a>00355 } <span class="comment">// namespace ggl</span>
+<a name="l00355"></a>00355 };
<a name="l00356"></a>00356
-<a name="l00357"></a>00357 <span class="preprocessor">#endif // GGL_STRATEGIES_MATRIX_TRANSFORMERS_HPP</span>
+<a name="l00357"></a>00357
+<a name="l00358"></a>00358 }} <span class="comment">// namespace strategy::transform</span>
+<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_STRATEGIES_MATRIX_TRANSFORMERS_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/merge__intersection__points_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -80,7 +80,7 @@
<a name="l00038"></a>00038 coordinate_type <span class="keyword">const</span>& left0 = ggl::get<0>(lhs);
<a name="l00039"></a>00039 coordinate_type <span class="keyword">const</span>& right0 = ggl::get<0>(rhs);
<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(left0, right0)
+<a name="l00041"></a>00041 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">ggl::math::equals</a>(left0, right0)
<a name="l00042"></a>00042 ? ggl::get<1>(lhs) < ggl::get<1>(rhs)
<a name="l00043"></a>00043 : left0 < right0;
<a name="l00044"></a>00044 }
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2area_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -61,11 +61,11 @@
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
<a name="l00021"></a>00021 {
-<a name="l00022"></a>00022 <span class="keyword">template</span> <<span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Strategy>
-<a name="l00023"></a>00023 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><multi_polygon_tag, MultiGeometry, Strategy>
+<a name="l00022"></a>00022 <span class="keyword">template</span> <<span class="keyword">typename</span> MultiGeometry, order_selector Order, <span class="keyword">typename</span> Strategy>
+<a name="l00023"></a>00023 <span class="keyword">struct </span><a class="code" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3" title="Calculate area of a geometry.">area</a><multi_polygon_tag, MultiGeometry, Order, Strategy>
<a name="l00024"></a>00024 : detail::multi_sum<double, MultiGeometry, Strategy,
<a name="l00025"></a>00025 detail::area::polygon_area<
-<a name="l00026"></a>00026 typename boost::range_value<MultiGeometry>::type, Strategy> >
+<a name="l00026"></a>00026 typename boost::range_value<MultiGeometry>::type, Order, Strategy> >
<a name="l00027"></a>00027 {};
<a name="l00028"></a>00028
<a name="l00029"></a>00029
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2convex__hull_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -65,76 +65,134 @@
<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="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</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="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</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> MultiGeometry, <span class="keyword">typename</span> OutputIterator>
-<a name="l00030"></a>00030 <span class="keyword">struct </span>convex_hull_multi
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(MultiGeometry <span class="keyword">const</span>& multi,
-<a name="l00033"></a>00033 OutputIterator out)
-<a name="l00034"></a>00034 {
-<a name="l00035"></a>00035 <span class="keyword">using namespace </span>boost;
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<MultiGeometry>::type point;
-<a name="l00038"></a>00038 <span class="keyword">typename</span> strategy_convex_hull
-<a name="l00039"></a>00039 <
-<a name="l00040"></a>00040 <span class="keyword">typename</span> cs_tag<point>::type,
-<a name="l00041"></a>00041 point
-<a name="l00042"></a>00042 >::type strategy;
-<a name="l00043"></a>00043
-<a name="l00044"></a>00044 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_const_iterator<MultiGeometry>::type iterator;
-<a name="l00045"></a>00045 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_value<MultiGeometry>::type single;
-<a name="l00046"></a>00046 <span class="keywordflow">for</span>(iterator it = begin(multi); it != end(multi); ++it)
-<a name="l00047"></a>00047 {
-<a name="l00048"></a>00048 strategy.add_range(<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="l00049"></a>00049 <<span class="keyword">typename</span> as_range_type<single>::type>(*it));
-<a name="l00050"></a>00050 }
-<a name="l00051"></a>00051 strategy.handle_input();
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 strategy.get(out);
-<a name="l00054"></a>00054 <span class="keywordflow">return</span> out;
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056 };
+<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> MultiGeometry,
+<a name="l00032"></a>00032 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order
+<a name="l00033"></a>00033 >
+<a name="l00034"></a>00034 <span class="keyword">struct </span>multi_inserter
+<a name="l00035"></a>00035 {
+<a name="l00036"></a>00036 <span class="keyword">template</span> <<span class="keyword">typename</span> OutputIterator>
+<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator apply(MultiGeometry <span class="keyword">const</span>& multi,
+<a name="l00038"></a>00038 OutputIterator out)
+<a name="l00039"></a>00039 {
+<a name="l00040"></a>00040 <span class="keyword">using namespace </span>boost;
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> point_type<MultiGeometry>::type point;
+<a name="l00043"></a>00043 <span class="keyword">typename</span> strategy_convex_hull
+<a name="l00044"></a>00044 <
+<a name="l00045"></a>00045 <span class="keyword">typename</span> cs_tag<point>::type,
+<a name="l00046"></a>00046 point
+<a name="l00047"></a>00047 >::type strategy;
+<a name="l00048"></a>00048
+<a name="l00049"></a>00049 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_const_iterator<MultiGeometry>::type iterator;
+<a name="l00050"></a>00050 <span class="keyword">typedef</span> <span class="keyword">typename</span> range_value<MultiGeometry>::type single;
+<a name="l00051"></a>00051 <span class="keywordflow">for</span>(iterator it = begin(multi); it != end(multi); ++it)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053 strategy.add_range(<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="l00054"></a>00054 <<span class="keyword">typename</span> as_range_type<single>::type>(*it));
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 strategy.handle_input();
<a name="l00057"></a>00057
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 }} <span class="comment">// namespace detail::convex_hull</span>
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00058"></a>00058 strategy.get(out, Order == <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>);
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> out;
+<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">#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
-<a name="l00069"></a>00069 <span class="comment">// Specialize for multi's</span>
-<a name="l00070"></a>00070 <span class="keyword">template</span>
-<a name="l00071"></a>00071 <
-<a name="l00072"></a>00072 <span class="keyword">typename</span> MultiTag,
-<a name="l00073"></a>00073 <span class="keyword">typename</span> MultiGeometry,
-<a name="l00074"></a>00074 <span class="keyword">typename</span> OutputIterator
-<a name="l00075"></a>00075 >
-<a name="l00076"></a>00076 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a><MultiTag, true, MultiGeometry, OutputIterator>
-<a name="l00077"></a>00077 : detail::<a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a>::convex_hull_multi<MultiGeometry, OutputIterator>
-<a name="l00078"></a>00078 {};
-<a name="l00079"></a>00079
-<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="comment">// Specialize more for point</span>
-<a name="l00082"></a>00082 <span class="keyword">template</span> <<span class="keyword">typename</span> MultiPo<span class="keywordtype">int</span>, <span class="keyword">typename</span> OutputIterator>
-<a name="l00083"></a>00083 <span class="keyword">struct </span><a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a><multi_point_tag, true, MultiPoint, OutputIterator>
-<a name="l00084"></a>00084 : detail::<a class="code" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull<MultiPoint, OutputIterator>
-<a name="l00085"></a>00085 {};
+<a name="l00065"></a>00065 <span class="keyword">template</span>
+<a name="l00066"></a>00066 <
+<a name="l00067"></a>00067 <span class="keyword">typename</span> Geometry,
+<a name="l00068"></a>00068 <span class="keyword">typename</span> OutputGeometry
+<a name="l00069"></a>00069 >
+<a name="l00070"></a>00070 <span class="keyword">struct </span>multi_hull_to_geometry
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 <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="l00073"></a>00073 {
+<a name="l00074"></a>00074 multi_inserter
+<a name="l00075"></a>00075 <
+<a name="l00076"></a>00076 Geometry,
+<a name="l00077"></a>00077 <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="l00078"></a>00078 >::apply(geometry,
+<a name="l00079"></a>00079 std::back_inserter(
+<a name="l00080"></a>00080 <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="l00081"></a>00081 <
+<a name="l00082"></a>00082 <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="l00083"></a>00083 >(out)));
+<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 dispatch</span>
-<a name="l00089"></a>00089 <span class="preprocessor">#endif</span>
-<a name="l00090"></a>00090 <span class="preprocessor"></span>
-<a name="l00091"></a>00091
-<a name="l00092"></a>00092 } <span class="comment">// namespace ggl</span>
+<a name="l00088"></a>00088 }} <span class="comment">// namespace detail::convex_hull</span>
+<a name="l00089"></a>00089
+<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="l00094"></a>00094
-<a name="l00095"></a>00095 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CONVEX_HULL_HPP</span>
+<a name="l00094"></a>00094 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="comment">// Specialize for multi's</span>
+<a name="l00100"></a>00100 <span class="keyword">template</span>
+<a name="l00101"></a>00101 <
+<a name="l00102"></a>00102 <span class="keyword">typename</span> MultiTag,
+<a name="l00103"></a>00103 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00104"></a>00104 <span class="keyword">typename</span> MultiGeometry
+<a name="l00105"></a>00105 >
+<a name="l00106"></a>00106 <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><MultiTag, Order, true, MultiGeometry>
+<a name="l00107"></a>00107 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::multi_inserter<MultiGeometry, Order>
+<a name="l00108"></a>00108 {};
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="comment">// Specialize for point</span>
+<a name="l00112"></a>00112 <span class="keyword">template</span>
+<a name="l00113"></a>00113 <
+<a name="l00114"></a>00114 <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> Order,
+<a name="l00115"></a>00115 <span class="keyword">typename</span> MultiPoint
+<a name="l00116"></a>00116 >
+<a name="l00117"></a>00117 <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><multi_point_tag, Order, true, MultiPoint>
+<a name="l00118"></a>00118 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::hull_inserter<MultiPoint, Order>
+<a name="l00119"></a>00119 {};
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="comment">// Versions outputting to a ring or polygon</span>
+<a name="l00123"></a>00123 <span class="keyword">template</span> <<span class="keyword">typename</span> MultiTag, <span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Output>
+<a name="l00124"></a>00124 <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="l00125"></a>00125 <
+<a name="l00126"></a>00126 MultiTag, true,
+<a name="l00127"></a>00127 MultiGeometry, Output
+<a name="l00128"></a>00128 >
+<a name="l00129"></a>00129 : detail::<a class="code" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7" title="Calculate the convex hull of a geometry.">convex_hull</a>::multi_hull_to_geometry<MultiGeometry, Output>
+<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> MultiGeometry, <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 multi_point_tag, true,
+<a name="l00137"></a>00137 MultiGeometry, 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<MultiGeometry, Output>
+<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
+<a name="l00146"></a>00146 } <span class="comment">// namespace dispatch</span>
+<a name="l00147"></a>00147 <span class="preprocessor">#endif</span>
+<a name="l00148"></a>00148 <span class="preprocessor"></span>
+<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
+<a name="l00153"></a>00153 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CONVEX_HULL_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.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2correct_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -49,10 +49,6 @@
<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 colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename Y , template< typename, typename > class V, template< typename > class A> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c7a970b235ee8d6d13e20f3db52e9f1d">ggl::correct</a> (multi_polygon< Y, V, A > &mp)</td></tr>
-
</table>
</div>
<hr size="1">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -48,51 +48,62 @@
<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_CORRECT_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_CORRECT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_CORRECT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_CORRECT_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_2correct_8hpp.html">ggl/algorithms/correct.hpp</a>></span>
+<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
-<a name="l00016"></a>00016
-<a name="l00017"></a>00017 <span class="comment">//FIX ME it is not yet adapted to tag-dispatching</span>
-<a name="l00018"></a>00018
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="algorithms_2correct_8hpp.html">ggl/algorithms/correct.hpp</a>></span>
+<a name="l00017"></a>00017
+<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="keyword">namespace </span>ggl
-<a name="l00021"></a>00021 {
-<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><span class="keyword">namespace </span>detail
-<a name="l00025"></a>00025 {
-<a name="l00026"></a>00026 <span class="keyword">namespace </span><a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028 <span class="comment">// correct a multi-polygon</span>
-<a name="l00029"></a>00029 <span class="keyword">template</span> <<span class="keyword">typename</span> O>
-<a name="l00030"></a>00030 <span class="keyword">inline</span> <span class="keywordtype">void</span> correct_multi_polygon(O& o)
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <span class="keywordflow">for</span> (<span class="keyword">typename</span> O::iterator it = o.begin(); it != o.end(); it++)
-<a name="l00033"></a>00033 {
-<a name="l00034"></a>00034 correct_polygon(*it);
-<a name="l00035"></a>00035 }
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037 }
-<a name="l00038"></a>00038 }
-<a name="l00039"></a>00039 <span class="preprocessor">#endif</span>
-<a name="l00040"></a>00040 <span class="preprocessor"></span>
-<a name="l00041"></a>00041 <span class="keyword">template</span><<span class="keyword">typename</span> Y,
-<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, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A>
-<a name="l00043"></a><a class="code" href="namespaceggl.html#c7a970b235ee8d6d13e20f3db52e9f1d">00043</a> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">correct</a>(<a class="code" href="structggl_1_1multi__polygon.html">multi_polygon<Y, V, A></a>& mp)
-<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 detail::correct::correct_multi_polygon(mp);
-<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 } <span class="comment">// namespace ggl</span>
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052
-<a name="l00053"></a>00053 <span class="preprocessor">#endif // GGL_MULTI_CORRECT_HPP</span>
+<a name="l00020"></a>00020
+<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="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="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
+<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(MultiPolygon& mp)
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<MultiPolygon>::type polygon_type;
+<a name="l00034"></a>00034 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_iterator<MultiPolygon>::type it
+<a name="l00035"></a>00035 = boost::begin(mp);
+<a name="l00036"></a>00036 it != boost::end(mp);
+<a name="l00037"></a>00037 ++it)
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 correct_polygon<polygon_type>::apply(*it);
+<a name="l00040"></a>00040 }
+<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::correct</span>
+<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span>
+<a name="l00047"></a>00047 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<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="l00054"></a>00054 {};
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 } <span class="comment">// namespace dispatch</span>
+<a name="l00058"></a>00058 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 } <span class="comment">// namespace ggl</span>
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_CORRECT_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2get__section_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -72,9 +72,9 @@
<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> MultiPolygon, <span class="keyword">typename</span> Section>
-<a name="l00033"></a>00033 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9" title="Get iterators for a specified section.">get_section</a><multi_polygon_tag, MultiPolygon, Section>
+<a name="l00033"></a>00033 <span class="keyword">struct </span><a class="code" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a" title="Get iterators for a specified section.">get_section</a><multi_polygon_tag, MultiPolygon, Section>
<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__const__iterator.html" title="Meta-function which defines point-const-iterator type.">ggl::point_const_iterator<MultiPolygon>::type</a> iterator_type;
+<a name="l00035"></a>00035 <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<MultiPolygon, true>::type</a> iterator_type;
<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(MultiPolygon <span class="keyword">const</span>& multi_polygon, Section <span class="keyword">const</span>& section,
<a name="l00038"></a>00038 iterator_type& begin, iterator_type& end)
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -49,19 +49,6 @@
<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 colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename Y , template< typename, typename > class V, template< typename > class A> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c140b663db67a986468754276b6b97a1">ggl::simplify</a> (const multi_polygon< Y, V, A > &mp_in, multi_polygon< Y, V, A > &mp_out, double max_distance)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename L , template< typename, typename > class V, template< typename > class A> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#1463cc489eb6db3a3739f9767f9d8c00">ggl::simplify</a> (const multi_linestring< L, V, A > &ml_in, multi_linestring< L, V, A > &ml_out, double max_distance)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename ML > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">ggl::simplify_multi_linestring</a> (const ML &ml_in, ML &ml_out, double max_distance)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename MY > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">ggl::simplify_multi_polygon</a> (const MY &mp_in, MY &mp_out, double max_distance)</td></tr>
-
</table>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2algorithms_2simplify_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -48,67 +48,110 @@
<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_SIMPLIFY_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_SIMPLIFY_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#ifndef GGL_MULTI_ALGORITHMS_SIMPLIFY_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ALGORITHMS_SIMPLIFY_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_2simplify_8hpp.html">ggl/algorithms/simplify.hpp</a>></span>
-<a name="l00015"></a>00015
-<a name="l00016"></a>00016 FIX ME it is not yet adapted to tag-dispatching
+<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 <<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="multi_2core_2is__multi_8hpp.html">ggl/multi/core/is_multi.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="l00018"></a>00018 <span class="preprocessor">#include <ggl/multi/util/as_range.hpp></span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020 <span class="preprocessor">#include <<a class="code" href="algorithms_2simplify_8hpp.html">ggl/algorithms/simplify.hpp</a>></span>
<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="keyword">template</span><<span class="keyword">typename</span> ML>
-<a name="l00023"></a><a class="code" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">00023</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">simplify_multi_linestring</a>(<span class="keyword">const</span> ML& ml_in, ML& ml_out, <span class="keywordtype">double</span> max_distance)
-<a name="l00024"></a>00024 {
-<a name="l00025"></a>00025 ml_out.resize(ml_in.size());
-<a name="l00026"></a>00026 <span class="keyword">typename</span> ML::const_iterator it_in = ml_in.begin();
-<a name="l00027"></a>00027 <span class="keyword">typename</span> ML::iterator it_out = ml_out.begin();
-<a name="l00028"></a>00028 <span class="keywordflow">for</span> (; it_in != ml_in.end(); it_in++, it_out++)
-<a name="l00029"></a>00029 {
-<a name="l00030"></a>00030 simplify_linestring(*it_in, *it_out, max_distance);
-<a name="l00031"></a>00031 }
-<a name="l00032"></a>00032 }
-<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> MY>
-<a name="l00036"></a><a class="code" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">00036</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">simplify_multi_polygon</a>(<span class="keyword">const</span> MY& mp_in, MY& mp_out, <span class="keywordtype">double</span> max_distance)
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038 mp_out.resize(mp_in.size());
-<a name="l00039"></a>00039 <span class="keyword">typename</span> MY::const_iterator it_in = mp_in.begin();
-<a name="l00040"></a>00040 <span class="keyword">typename</span> MY::iterator it_out = mp_out.begin();
-<a name="l00041"></a>00041 <span class="keywordflow">for</span> (; it_in != mp_in.end(); it_in++, it_out++)
-<a name="l00042"></a>00042 {
-<a name="l00043"></a>00043 <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>(*it_in, *it_out, max_distance);
-<a name="l00044"></a>00044 }
+<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__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a> {
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="keyword">template</span><<span class="keyword">typename</span> MultiGeometry, <span class="keyword">typename</span> Strategy, <span class="keyword">typename</span> Policy>
+<a name="l00030"></a>00030 <span class="keyword">struct </span>simplify_multi
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> apply(MultiGeometry <span class="keyword">const</span>& multi, MultiGeometry& out,
+<a name="l00033"></a>00033 <span class="keywordtype">double</span> max_distance, Strategy <span class="keyword">const</span>& strategy)
+<a name="l00034"></a>00034 {
+<a name="l00035"></a>00035 out.resize(boost::size(multi));
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keyword">typename</span> boost::range_iterator<MultiGeometry>::type it_out
+<a name="l00038"></a>00038 = boost::begin(out);
+<a name="l00039"></a>00039 <span class="keywordflow">for</span> (<span class="keyword">typename</span> boost::range_const_iterator<MultiGeometry>::type it_in
+<a name="l00040"></a>00040 = boost::begin(multi);
+<a name="l00041"></a>00041 it_in != boost::end(multi);
+<a name="l00042"></a>00042 ++it_in, ++it_out)
+<a name="l00043"></a>00043 {
+<a name="l00044"></a>00044 Policy::apply(*it_in, *it_out, max_distance, strategy);
<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047
+<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> L,
-<a name="l00050"></a>00050 <span class="keyword">template</span><<span class="keyword">typename</span>,<span class="keyword">typename</span>> <span class="keyword">class </span>V, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A>
-<a name="l00051"></a><a class="code" href="namespaceggl.html#1463cc489eb6db3a3739f9767f9d8c00">00051</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1multi__linestring.html">multi_linestring<L, V, A></a>& ml_in,
-<a name="l00052"></a>00052 <a class="code" href="structggl_1_1multi__linestring.html">multi_linestring<L, V, A></a>& ml_out, <span class="keywordtype">double</span> max_distance)
-<a name="l00053"></a>00053 {
-<a name="l00054"></a>00054 <a class="code" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">simplify_multi_linestring</a>(ml_in, ml_out, max_distance);
-<a name="l00055"></a>00055 }
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 }} <span class="comment">// namespace detail::simplify</span>
+<a name="l00052"></a>00052 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<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> Y,
-<a name="l00058"></a>00058 <span class="keyword">template</span><<span class="keyword">typename</span>,<span class="keyword">typename</span>> <span class="keyword">class </span>V, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>A>
-<a name="l00059"></a><a class="code" href="namespaceggl.html#c140b663db67a986468754276b6b97a1">00059</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb" title="Simplify a geometry.">simplify</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1multi__polygon.html">multi_polygon<Y, V, A></a>& mp_in,
-<a name="l00060"></a>00060 <a class="code" href="structggl_1_1multi__polygon.html">multi_polygon<Y, V, A></a>& mp_out, <span class="keywordtype">double</span> max_distance)
-<a name="l00061"></a>00061 {
-<a name="l00062"></a>00062 <a class="code" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">simplify_multi_polygon</a>(mp_in, mp_out, max_distance);
-<a name="l00063"></a>00063 }
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 } <span class="comment">// namespace ggl</span>
-<a name="l00067"></a>00067
+<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> MultiPo<span class="keywordtype">int</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00062"></a>00062 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a><multi_point_tag, MultiPoint, Strategy>
+<a name="l00063"></a>00063 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>::simplify_copy
+<a name="l00064"></a>00064 <
+<a name="l00065"></a>00065 MultiPoint,
+<a name="l00066"></a>00066 Strategy
+<a name="l00067"></a>00067 >
<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="preprocessor">#endif // GGL_MULTI_SIMPLIFY_HPP</span>
+<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> <<span class="keyword">typename</span> MultiLine<span class="keywordtype">string</span>, <span class="keyword">typename</span> Strategy>
+<a name="l00073"></a>00073 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a><multi_linestring_tag, MultiLinestring, Strategy>
+<a name="l00074"></a>00074 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>::simplify_multi
+<a name="l00075"></a>00075 <
+<a name="l00076"></a>00076 MultiLinestring,
+<a name="l00077"></a>00077 Strategy,
+<a name="l00078"></a>00078 detail::simplify::simplify_range
+<a name="l00079"></a>00079 <
+<a name="l00080"></a>00080 typename boost::range_value<MultiLinestring>::type,
+<a name="l00081"></a>00081 Strategy,
+<a name="l00082"></a>00082 2
+<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
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keyword">template</span> <<span class="keyword">typename</span> MultiPolygon, <span class="keyword">typename</span> Strategy>
+<a name="l00090"></a>00090 <span class="keyword">struct </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a><multi_polygon_tag, MultiPolygon, Strategy>
+<a name="l00091"></a>00091 : detail::<a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a>::simplify_multi
+<a name="l00092"></a>00092 <
+<a name="l00093"></a>00093 MultiPolygon,
+<a name="l00094"></a>00094 Strategy,
+<a name="l00095"></a>00095 detail::simplify::simplify_polygon
+<a name="l00096"></a>00096 <
+<a name="l00097"></a>00097 typename boost::range_value<MultiPolygon>::type,
+<a name="l00098"></a>00098 Strategy
+<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
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 } <span class="comment">// namespace dispatch</span>
+<a name="l00106"></a>00106 <span class="preprocessor">#endif // DOXYGEN_NO_DISPATCH</span>
+<a name="l00107"></a>00107 <span class="preprocessor"></span>
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 } <span class="comment">// namespace ggl</span>
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 <span class="preprocessor">#endif // GGL_MULTI_ALGORITHMS_SIMPLIFY_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/multi_2iterators_2point__const__iterator_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
+++ (empty file)
@@ -1,75 +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/multi/iterators/point_const_iterator.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>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/multi_2iterators_2point__const__iterator_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
+++ (empty file)
@@ -1,115 +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/multi/iterators/point_const_iterator.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_MULTI_ITERATORS_POINT_CONST_ITERATOR_HPP</span>
-<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ITERATORS_POINT_CONST_ITERATOR_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
-<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="iterators_2point__const__iterator_8hpp.html">ggl/iterators/point_const_iterator.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
-<a name="l00023"></a>00023
-<a name="l00024"></a>00024 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
-<a name="l00026"></a>00026 {
-<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> MultiPolygon>
-<a name="l00030"></a>00030 <span class="keyword">struct </span>point_const_iterator<multi_polygon_tag, MultiPolygon>
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<MultiPolygon>::type polygon_type;
-<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
-<a name="l00034"></a>00034 <
-<a name="l00035"></a>00035 <span class="keyword">typename</span> ring_type<polygon_type>::type
-<a name="l00036"></a>00036 >::type type;
-<a name="l00037"></a>00037 };
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041
-<a name="l00042"></a>00042 } <span class="comment">// namespace dispatch</span>
-<a name="l00043"></a>00043 <span class="preprocessor">#endif</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span>
-<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
-<a name="l00050"></a>00050 <span class="preprocessor">#endif // GGL_MULTI_ITERATORS_POINT_CONST_ITERATOR_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/multi_2iterators_2vertex__iterator_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,75 @@
+<!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/multi/iterators/vertex_iterator.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>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/multi_2iterators_2vertex__iterator_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,124 @@
+<!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/multi/iterators/vertex_iterator.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_MULTI_ITERATORS_VERTEX_ITERATOR_HPP</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define GGL_MULTI_ITERATORS_VERTEX_ITERATOR_HPP</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="iterators_2vertex__iterator_8hpp.html">ggl/iterators/vertex_iterator.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
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="keyword">namespace </span>dispatch
+<a name="l00024"></a>00024 {
+<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> MultiPolygon>
+<a name="l00028"></a>00028 <span class="keyword">struct </span>vertex_iterator<multi_polygon_tag, MultiPolygon, false>
+<a name="l00029"></a>00029 {
+<a name="l00030"></a>00030 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<MultiPolygon>::type polygon_type;
+<a name="l00031"></a>00031 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_iterator
+<a name="l00032"></a>00032 <
+<a name="l00033"></a>00033 <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>::type</a>
+<a name="l00034"></a>00034 >::type type;
+<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> MultiPolygon>
+<a name="l00039"></a>00039 <span class="keyword">struct </span>vertex_iterator<multi_polygon_tag, MultiPolygon, true>
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_value<MultiPolygon>::type polygon_type;
+<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::range_const_iterator
+<a name="l00043"></a>00043 <
+<a name="l00044"></a>00044 <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>::type</a>
+<a name="l00045"></a>00045 >::type type;
+<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 } <span class="comment">// namespace dispatch</span>
+<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00054"></a>00054
+<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 <span class="preprocessor">#endif // GGL_MULTI_ITERATORS_VERTEX_ITERATOR_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/namespaceggl.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -172,9 +172,9 @@
<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>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__const__iterator.html">point_const_iterator</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_1point__order.html">point_order</a></td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-function which defines point-const-iterator type. More...<br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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. 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">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>
@@ -286,6 +286,9 @@
<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">topological_dimension</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 class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1vertex__iterator.html">vertex_iterator</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Meta-function which defines <a class="el" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator</a> type. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<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__xy.html">point_2d</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceggl.html#0d9610ad977d0764a37b8e9f6ca94b30">box_2d</a></td></tr>
@@ -315,6 +318,12 @@
<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,
+<a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">order_undetermined</a> = 0
+ }</td></tr>
+
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename V > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#a8f29c6cbf3f88d5926a127c76976027">adapt_turns</a> (V &intersection_points)</td></tr>
@@ -341,6 +350,9 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate area of a geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Range , typename Geometry > </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#99e0a8eac282cd44fbdb1a47666ea084">as_range</a> (Geometry &input)</td></tr>
+
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Range , typename Geometry > </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Range const & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">as_range</a> (Geometry const &input)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Function getting either the range (ring, <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>) itself or the outer ring. <br></td></tr>
@@ -375,10 +387,6 @@
<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="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<std::size_t C1, std::size_t C2, 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#e5791c5c360cbb58d16b18cb46323175">assign_box_corner</a> (B const &<a class="el" href="classggl_1_1box.html">box</a>, P &<a class="el" href="classggl_1_1point.html">point</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> 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 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>
@@ -387,6 +395,10 @@
<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 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>
@@ -419,21 +431,22 @@
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">convert</a> (G1 const &geometry1, G2 &geometry2)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Converts one geometry to another geometry. <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">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">convex_hull</a> (Geometry1 const &geometry, Geometry2 &out)</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , 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__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">convex_hull</a> (Geometry const &geometry, OutputIterator out)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">OutputIterator </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">convex_hull_inserter</a> (Geometry const &geometry, OutputIterator out)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the convex hull of a geometry, output-iterator version. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template<typename Src , typename Dst > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">copy_coordinates</a> (const Src &source, Dst &dest)</td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4">copy_coordinates</a> (Src const &source, Dst &dest)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies coordinates from source to destination <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">Copies coordinates from source to destination <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 , typename SegmentIdentifier , typename RangeOut > </td></tr>
<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 Y , template< typename, typename > class V, template< typename > class A> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c7a970b235ee8d6d13e20f3db52e9f1d">correct</a> (<a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>< Y, V, A > &mp)</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>
@@ -594,9 +607,9 @@
<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#g5c0732d32eb6c6154f615b3a3337f4b9">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_1point__const__iterator.html">point_const_iterator</a>< Geometry >::type &begin, typename <a class="el" href="structggl_1_1point__const__iterator.html">point_const_iterator</a>< Geometry >::type &end)</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>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get iterators for a specified <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a>. <br></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Get iterators for a specified <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a>. <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 <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#ga81ef3b07a844489714e682f12e43746">interior_rings</a> (const P &<a class="el" href="classggl_1_1polygon.html">polygon</a>)</td></tr>
@@ -742,34 +755,22 @@
<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 Y , template< typename, typename > class V, template< typename > class A> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#c140b663db67a986468754276b6b97a1">simplify</a> (const <a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>< Y, V, A > &mp_in, <a class="el" href="structggl_1_1multi__polygon.html">multi_polygon</a>< Y, V, A > &mp_out, double max_distance)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename L , template< typename, typename > class V, template< typename > class A> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#1463cc489eb6db3a3739f9767f9d8c00">simplify</a> (const <a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a>< L, V, A > &ml_in, <a class="el" href="structggl_1_1multi__linestring.html">multi_linestring</a>< L, V, A > &ml_out, double max_distance)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , 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__simplify.html#g00b5a49a676c29d790764ad67e9fdfbc">simplify</a> (const G &geometry, G &out, double max_distance, S const &strategy)</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>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify 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">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g44130eb01685933927c05207a01a84f1">simplify</a> (const G &geometry, G &out, double max_distance)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <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">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d">simplify</a> (Geometry const &geometry, Geometry &out, double max_distance, Strategy const &strategy)</td></tr>
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename O , 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__simplify.html#gfac2ab8188c31cf7fab43e423884e0ed">simplify</a> (const G &geometry, O out, double max_distance, S const &strategy)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename G , typename O > </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#g188e72f668c33ac75ad08653625a7cbb">simplify</a> (const G &geometry, O out, double max_distance)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename ML > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">simplify_multi_linestring</a> (const ML &ml_in, ML &ml_out, double max_distance)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename OutputIterator > </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#g4285888f1598725bca124878ac16c656">simplify_inserter</a> (Geometry const &geometry, OutputIterator out, double max_distance)</td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename MY > </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">simplify_multi_polygon</a> (const MY &mp_in, MY &mp_out, double max_distance)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template<typename Geometry , typename OutputIterator , 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__simplify.html#gbe0df65c97527e83bcab80ec3232d45a">simplify_inserter</a> (Geometry const &geometry, OutputIterator out, double max_distance, Strategy const &strategy)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Simplify a geometry. <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#g7c04cab8a69747a37549b75aefc227f9">subtract_point</a> (Point1 &p1, Point2 const &p2)</td></tr>
@@ -1031,6 +1032,34 @@
</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">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">ggl::order_selector</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c"></a><!-- doxytag: member="clockwise" ref="9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c" args="" -->clockwise</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a"></a><!-- doxytag: member="counterclockwise" ref="9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a" args="" -->counterclockwise</em> </td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84"></a><!-- doxytag: member="order_undetermined" ref="9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84" args="" -->order_undetermined</em> </td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00022">22</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+
+</div>
+</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="c748276bc142deaad1ce28af84d4edf8"></a><!-- doxytag: member="ggl::assert_dimension_greater_equal" ref="c748276bc142deaad1ce28af84d4edf8" args="()" -->
<div class="memitem">
@@ -1055,6 +1084,100 @@
</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)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename B , typename P > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_box_corners </td>
+ <td>(</td>
+ <td class="paramtype">B const & </td>
+ <td class="paramname"> <em>box</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P & </td>
+ <td class="paramname"> <em>lower_left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P & </td>
+ <td class="paramname"> <em>lower_right</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P & </td>
+ <td class="paramname"> <em>upper_left</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">P & </td>
+ <td class="paramname"> <em>upper_right</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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>.
+<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>
+
+</div>
+</div><p>
+<a class="anchor" name="a79ece7bbc75c938c5a01eadd2522156"></a><!-- doxytag: member="ggl::assign_point_to_box" ref="a79ece7bbc75c938c5a01eadd2522156" args="(Point const &point, Box &box)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<std::size_t Corner, typename Box , typename Point > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">void ggl::assign_point_to_box </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">Box & </td>
+ <td class="paramname"> <em>box</em></td><td> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+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>.
+<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>Corner</em> </td><td>indicates which box-corner, min_corner (0) or max_corner (1) </td></tr>
+ </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>
+
+</div>
+</div><p>
<a class="anchor" name="de63f8bac74d1e2a56c2d2712eceb8af"></a><!-- doxytag: member="ggl::correct" ref="de63f8bac74d1e2a56c2d2712eceb8af" args="(G &geometry)" -->
<div class="memitem">
<div class="memproto">
@@ -1076,7 +1199,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#l00154">154</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#l00182">182</a> of file <a class="el" href="algorithms_2correct_8hpp_source.html">correct.hpp</a>.</p>
</div>
</div><p>
@@ -1202,7 +1325,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00111">111</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00109">109</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
@@ -1235,7 +1358,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00118">118</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00116">116</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
@@ -1259,31 +1382,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00130">130</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c7a970b235ee8d6d13e20f3db52e9f1d"></a><!-- doxytag: member="ggl::correct" ref="c7a970b235ee8d6d13e20f3db52e9f1d" args="(multi_polygon< Y, V, A > &mp)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Y , template< typename, typename > class V, template< typename > class A> </div>
- <table class="memname">
- <tr>
- <td class="memname">void ggl::correct </td>
- <td>(</td>
- <td class="paramtype">multi_polygon< Y, V, A > & </td>
- <td class="paramname"> <em>mp</em> </td>
- <td> ) </td>
- <td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="multi_2algorithms_2correct_8hpp_source.html#l00043">43</a> of file <a class="el" href="multi_2algorithms_2correct_8hpp_source.html">correct.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00128">128</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
@@ -1947,252 +2046,31 @@
</div>
</div><p>
-<a class="anchor" name="d6ac58fa58247aa420c6114932046ff5"></a><!-- doxytag: member="ggl::simplify_multi_linestring" ref="d6ac58fa58247aa420c6114932046ff5" args="(const ML &ml_in, ML &ml_out, double max_distance)" -->
+<a class="anchor" name="99e0a8eac282cd44fbdb1a47666ea084"></a><!-- doxytag: member="ggl::as_range" ref="99e0a8eac282cd44fbdb1a47666ea084" args="(Geometry &input)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename ML > </div>
+template<typename Range , typename Geometry > </div>
<table class="memname">
<tr>
- <td class="memname">void ggl::simplify_multi_linestring </td>
+ <td class="memname">Range& ggl::as_range </td>
<td>(</td>
- <td class="paramtype">const ML & </td>
- <td class="paramname"> <em>ml_in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">ML & </td>
- <td class="paramname"> <em>ml_out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"> <em>max_distance</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="multi_2algorithms_2simplify_8hpp_source.html#l00023">23</a> of file <a class="el" href="multi_2algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d17c1744a4d19447b5d976f7bf95930a"></a><!-- doxytag: member="ggl::simplify_multi_polygon" ref="d17c1744a4d19447b5d976f7bf95930a" args="(const MY &mp_in, MY &mp_out, double max_distance)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename MY > </div>
- <table class="memname">
- <tr>
- <td class="memname">void ggl::simplify_multi_polygon </td>
- <td>(</td>
- <td class="paramtype">const MY & </td>
- <td class="paramname"> <em>mp_in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">MY & </td>
- <td class="paramname"> <em>mp_out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"> <em>max_distance</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="multi_2algorithms_2simplify_8hpp_source.html#l00036">36</a> of file <a class="el" href="multi_2algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1463cc489eb6db3a3739f9767f9d8c00"></a><!-- doxytag: member="ggl::simplify" ref="1463cc489eb6db3a3739f9767f9d8c00" args="(const multi_linestring< L, V, A > &ml_in, multi_linestring< L, V, A > &ml_out, double max_distance)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename L , template< typename, typename > class V, template< typename > class A> </div>
- <table class="memname">
- <tr>
- <td class="memname">void ggl::simplify </td>
- <td>(</td>
- <td class="paramtype">const multi_linestring< L, V, A > & </td>
- <td class="paramname"> <em>ml_in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">multi_linestring< L, V, A > & </td>
- <td class="paramname"> <em>ml_out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"> <em>max_distance</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="multi_2algorithms_2simplify_8hpp_source.html#l00051">51</a> of file <a class="el" href="multi_2algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c140b663db67a986468754276b6b97a1"></a><!-- doxytag: member="ggl::simplify" ref="c140b663db67a986468754276b6b97a1" args="(const multi_polygon< Y, V, A > &mp_in, multi_polygon< Y, V, A > &mp_out, double max_distance)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Y , template< typename, typename > class V, template< typename > class A> </div>
- <table class="memname">
- <tr>
- <td class="memname">void ggl::simplify </td>
- <td>(</td>
- <td class="paramtype">const multi_polygon< Y, V, A > & </td>
- <td class="paramname"> <em>mp_in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">multi_polygon< Y, V, A > & </td>
- <td class="paramname"> <em>mp_out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"> <em>max_distance</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="multi_2algorithms_2simplify_8hpp_source.html#l00059">59</a> of file <a class="el" href="multi_2algorithms_2simplify_8hpp_source.html">simplify.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e5791c5c360cbb58d16b18cb46323175"></a><!-- doxytag: member="ggl::assign_box_corner" ref="e5791c5c360cbb58d16b18cb46323175" args="(B const &box, P &point)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<std::size_t C1, std::size_t C2, typename B , typename P > </div>
- <table class="memname">
- <tr>
- <td class="memname">void ggl::assign_box_corner </td>
- <td>(</td>
- <td class="paramtype">B const & </td>
- <td class="paramname"> <em>box</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">P & </td>
- <td class="paramname"> <em>point</em></td><td> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Assign one <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a> of a 2D <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>.
-<p>
-
-<p>Definition at line <a class="el" href="assign__box__corner_8hpp_source.html#l00029">29</a> of file <a class="el" href="assign__box__corner_8hpp_source.html">assign_box_corner.hpp</a>.</p>
-
-</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)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename B , typename P > </div>
- <table class="memname">
- <tr>
- <td class="memname">void ggl::assign_box_corners </td>
- <td>(</td>
- <td class="paramtype">B const & </td>
- <td class="paramname"> <em>box</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">P & </td>
- <td class="paramname"> <em>lower_left</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">P & </td>
- <td class="paramname"> <em>lower_right</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">P & </td>
- <td class="paramname"> <em>upper_left</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">P & </td>
- <td class="paramname"> <em>upper_right</em></td><td> </td>
- </tr>
- <tr>
+ <td class="paramtype">Geometry & </td>
+ <td class="paramname"> <em>input</em> </td>
+ <td> ) </td>
<td></td>
- <td>)</td>
- <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-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>.
-<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__box__corner_8hpp_source.html#l00049">49</a> of file <a class="el" href="assign__box__corner_8hpp_source.html">assign_box_corner.hpp</a>.</p>
+<p>Definition at line <a class="el" href="as__range_8hpp_source.html#l00117">117</a> of file <a class="el" href="as__range_8hpp_source.html">as_range.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="173003fecd63871d3a6aee07f4ba7011"></a><!-- doxytag: member="ggl::copy_coordinates" ref="173003fecd63871d3a6aee07f4ba7011" args="(const Src &source, Dst &dest)" -->
+<a class="anchor" name="f8cee6dd577bebfd1dbbe4cc503304d4"></a><!-- doxytag: member="ggl::copy_coordinates" ref="f8cee6dd577bebfd1dbbe4cc503304d4" args="(Src const &source, Dst &dest)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@@ -2201,7 +2079,7 @@
<tr>
<td class="memname">void ggl::copy_coordinates </td>
<td>(</td>
- <td class="paramtype">const Src & </td>
+ <td class="paramtype">Src const & </td>
<td class="paramname"> <em>source</em>, </td>
</tr>
<tr>
@@ -2230,7 +2108,7 @@
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>If destination type differs from source type, they must have the same coordinate count </dd></dl>
-<p>Definition at line <a class="el" href="copy_8hpp_source.html#l00064">64</a> of file <a class="el" href="copy_8hpp_source.html">copy.hpp</a>.</p>
+<p>Definition at line <a class="el" href="copy_8hpp_source.html#l00062">62</a> of file <a class="el" href="copy_8hpp_source.html">copy.hpp</a>.</p>
</div>
</div><p>
@@ -2334,7 +2212,7 @@
Main DSV-streaming function.
<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#a2">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>
+<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#l00355">355</a> of file <a class="el" href="write__dsv_8hpp_source.html">write_dsv.hpp</a>.</p>
</div>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -80,6 +80,12 @@
<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 <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"><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="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>
@@ -89,6 +95,9 @@
<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 <a class="el" href="structggl_1_1segment.html" title="Class segment: small 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"><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>
</table>
</div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1math.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -109,7 +109,7 @@
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if a == b </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>If both a and b are of an integral type, comparison is done by ==. If one of the types is floating <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, comparison is done by abs and comparing with epsilon. </dd></dl>
-<p>Definition at line <a class="el" href="math_8hpp_source.html#l00039">39</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+<p>Definition at line <a class="el" href="math_8hpp_source.html#l00069">69</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
</div>
</div><p>
@@ -136,7 +136,7 @@
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>See http://en.wikipedia.org/wiki/Haversine_formula haversin(alpha) = sin2(alpha/2) </dd></dl>
-<p>Definition at line <a class="el" href="math_8hpp_source.html#l00067">67</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+<p>Definition at line <a class="el" href="math_8hpp_source.html#l00092">92</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
</div>
</div><p>
@@ -168,7 +168,7 @@
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The squared value </dd></dl>
-<p>Definition at line <a class="el" href="math_8hpp_source.html#l00081">81</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+<p>Definition at line <a class="el" href="math_8hpp_source.html#l00106">106</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
</div>
</div><p>
@@ -186,7 +186,7 @@
<p>
-<p>Definition at line <a class="el" href="math_8hpp_source.html#l00056">56</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+<p>Definition at line <a class="el" href="math_8hpp_source.html#l00081">81</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
</div>
</div><p>
@@ -203,7 +203,7 @@
<p>
-<p>Definition at line <a class="el" href="math_8hpp_source.html#l00057">57</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+<p>Definition at line <a class="el" href="math_8hpp_source.html#l00082">82</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
</div>
</div><p>
@@ -220,7 +220,7 @@
<p>
-<p>Definition at line <a class="el" href="math_8hpp_source.html#l00058">58</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+<p>Definition at line <a class="el" href="math_8hpp_source.html#l00083">83</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
</div>
</div><p>
@@ -237,7 +237,7 @@
<p>
-<p>Definition at line <a class="el" href="math_8hpp_source.html#l00059">59</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
+<p>Definition at line <a class="el" href="math_8hpp_source.html#l00084">84</a> of file <a class="el" href="math_8hpp_source.html">math.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespaceggl_1_1strategy_1_1distance.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -47,6 +47,9 @@
<h1>ggl::strategy::distance 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_1distance_1_1cross__track.html">cross_track</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">segment</a> calculation. 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_1distance_1_1haversine.html">haversine</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Distance calculation for spherical coordinates on a perfect sphere using <a class="el" href="classggl_1_1strategy_1_1distance_1_1haversine.html" title="Distance calculation for spherical coordinates on a perfect sphere using haversine...">haversine</a>. 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -88,6 +88,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1interior__type.html">interior_type</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">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>. 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_1point__order.html">point_order</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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. 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_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>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -46,6 +46,8 @@
<li>Functions</li>
<li>Variables</li>
<li>Typedefs</li>
+ <li>Enumerations</li>
+ <li>Enumerator</li>
</ul>
</div>
<div class="tabs">
@@ -86,7 +88,7 @@
<li>area()
: <a class="el" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">ggl</a>
<li>as_range()
-: <a class="el" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">ggl</a>
+: <a class="el" href="namespaceggl.html#99e0a8eac282cd44fbdb1a47666ea084">ggl</a>
<li>assert_dimension()
: <a class="el" href="group__utility.html#ga43456dff55af2757deaf0168f02b899">ggl</a>
<li>assert_dimension_equal()
@@ -96,13 +98,13 @@
<li>assert_dimension_less_equal()
: <a class="el" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">ggl</a>
<li>assign()
-: <a class="el" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">ggl</a>
-<li>assign_box_corner()
-: <a class="el" href="namespaceggl.html#e5791c5c360cbb58d16b18cb46323175">ggl</a>
+: <a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">ggl</a>
<li>assign_box_corners()
: <a class="el" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">ggl</a>
<li>assign_inverse()
: <a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">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>
</ul>
@@ -121,6 +123,8 @@
: <a class="el" href="namespaceggl.html#311770c599e6440d3890b7ff4c651af6">ggl</a>
<li>clear()
: <a class="el" href="group__access.html#g280e2b0e4bada6eac7b7370a4ded705f">ggl</a>
+<li>clockwise
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">ggl</a>
<li>close_to_zero()
: <a class="el" href="group__distance.html#ge8ca95bca0a05bf37ceee1996d55c098">ggl</a>
<li>combine()
@@ -128,13 +132,17 @@
<li>convert()
: <a class="el" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">ggl</a>
<li>convex_hull()
-: <a class="el" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">ggl</a>
+: <a class="el" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">ggl</a>
+<li>convex_hull_inserter()
+: <a class="el" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">ggl</a>
<li>copy_coordinates()
-: <a class="el" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">ggl</a>
+: <a class="el" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4">ggl</a>
<li>copy_segments()
: <a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl</a>
<li>correct()
-: <a class="el" href="namespaceggl.html#c7a970b235ee8d6d13e20f3db52e9f1d">ggl</a>
+: <a class="el" href="namespaceggl.html#de63f8bac74d1e2a56c2d2712eceb8af">ggl</a>
+<li>counterclockwise
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">ggl</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>d2r
@@ -191,7 +199,7 @@
<li>get_radius()
: <a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl</a>
<li>get_section()
-: <a class="el" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9">ggl</a>
+: <a class="el" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a">ggl</a>
</ul>
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
<li>hav()
@@ -256,6 +264,10 @@
: <a class="el" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">ggl</a>
<li>operator==()
: <a class="el" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">ggl</a>
+<li>order_selector
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">ggl</a>
+<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>
</ul>
@@ -295,11 +307,9 @@
<li>set_radius()
: <a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl</a>
<li>simplify()
-: <a class="el" href="group__simplify.html#g188e72f668c33ac75ad08653625a7cbb">ggl</a>
-<li>simplify_multi_linestring()
-: <a class="el" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">ggl</a>
-<li>simplify_multi_polygon()
-: <a class="el" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">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>sphere
: <a class="el" href="namespaceggl.html#86293a2a12226b524f011818d22fbcaa">ggl</a>
<li>sqr()
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_enum.html 2009-10-21 05:23:22 EDT (Wed, 21 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 class="current">Namespaces</li>
+ <li>Classes</li>
+ <li>Files</li>
+ <li>Examples</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>Namespace List</li>
+ <li class="current">Namespace Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li class="current">Enumerations</li>
+ <li>Enumerator</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<ul>
+<li>order_selector
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">ggl</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/namespacemembers_eval.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,87 @@
+<!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 class="current">Namespace Members</li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li>All</li>
+ <li>Functions</li>
+ <li>Variables</li>
+ <li>Typedefs</li>
+ <li>Enumerations</li>
+ <li class="current">Enumerator</li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+<p>
+<ul>
+<li>clockwise
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">ggl</a>
+<li>counterclockwise
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">ggl</a>
+<li>order_undetermined
+: <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">ggl</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/namespacemembers_func.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_func.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -46,6 +46,8 @@
<li class="current">Functions</li>
<li>Variables</li>
<li>Typedefs</li>
+ <li>Enumerations</li>
+ <li>Enumerator</li>
</ul>
</div>
<div class="tabs">
@@ -85,7 +87,7 @@
<li>area()
: <a class="el" href="group__area.html#g3ebfdefe9c756498730b6d93b83338b3">ggl</a>
<li>as_range()
-: <a class="el" href="group__utility.html#g1868bde329b825c540572ac0a73e4f2b">ggl</a>
+: <a class="el" href="namespaceggl.html#99e0a8eac282cd44fbdb1a47666ea084">ggl</a>
<li>assert_dimension()
: <a class="el" href="group__utility.html#ga43456dff55af2757deaf0168f02b899">ggl</a>
<li>assert_dimension_equal()
@@ -95,13 +97,13 @@
<li>assert_dimension_less_equal()
: <a class="el" href="group__utility.html#gc994425c217f28b39694f41e6d1f5386">ggl</a>
<li>assign()
-: <a class="el" href="group__access.html#g4e53af2d63f19a7550b5fe0156efc433">ggl</a>
-<li>assign_box_corner()
-: <a class="el" href="namespaceggl.html#e5791c5c360cbb58d16b18cb46323175">ggl</a>
+: <a class="el" href="group__access.html#gc534d6dd298802a12265e7e9c1c25a01">ggl</a>
<li>assign_box_corners()
: <a class="el" href="namespaceggl.html#a658e33964ece2cc6e48c622595ad271">ggl</a>
<li>assign_inverse()
: <a class="el" href="group__access.html#gaa27514a7d1c16133d28dd5601cd32fd">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>
</ul>
@@ -121,9 +123,11 @@
<li>convert()
: <a class="el" href="group__convert.html#ge07fa83176190049c856e35f77d0f569">ggl</a>
<li>convex_hull()
-: <a class="el" href="group__convex__hull.html#gc1989428c0a32cd2fd48272cd6833e18">ggl</a>
+: <a class="el" href="group__convex__hull.html#g2adc5b825bd5feadc7a723c040c36cb7">ggl</a>
+<li>convex_hull_inserter()
+: <a class="el" href="group__convex__hull.html#g33e400e40f14217ab0239d33fa6def72">ggl</a>
<li>copy_coordinates()
-: <a class="el" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011">ggl</a>
+: <a class="el" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4">ggl</a>
<li>copy_segments()
: <a class="el" href="group__overlay.html#g72698a9e6c8319f77d1481537096c890">ggl</a>
<li>correct()
@@ -182,7 +186,7 @@
<li>get_radius()
: <a class="el" href="group__access.html#gfcdd0e4038fec643354ccc1c83294172">ggl</a>
<li>get_section()
-: <a class="el" href="group__sectionalize.html#g5c0732d32eb6c6154f615b3a3337f4b9">ggl</a>
+: <a class="el" href="group__sectionalize.html#gb862f6c883bcc3baddda33c91298b48a">ggl</a>
</ul>
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
<li>hav()
@@ -258,11 +262,9 @@
<li>set_radius()
: <a class="el" href="group__access.html#g5964359d6ef6dc6c8cf37ed319ee3c79">ggl</a>
<li>simplify()
-: <a class="el" href="group__simplify.html#gfac2ab8188c31cf7fab43e423884e0ed">ggl</a>
-<li>simplify_multi_linestring()
-: <a class="el" href="namespaceggl.html#d6ac58fa58247aa420c6114932046ff5">ggl</a>
-<li>simplify_multi_polygon()
-: <a class="el" href="namespaceggl.html#d17c1744a4d19447b5d976f7bf95930a">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>sqr()
: <a class="el" href="namespaceggl_1_1math.html#c23ed0ce6b779976def3d4b3d633d337">ggl::math</a>
<li>subtract_point()
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -46,6 +46,8 @@
<li>Functions</li>
<li>Variables</li>
<li class="current">Typedefs</li>
+ <li>Enumerations</li>
+ <li>Enumerator</li>
</ul>
</div>
</div>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/namespacemembers_vars.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -46,6 +46,8 @@
<li>Functions</li>
<li class="current">Variables</li>
<li>Typedefs</li>
+ <li>Enumerations</li>
+ <li>Enumerator</li>
</ul>
</div>
</div>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/nsphere_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -80,7 +80,7 @@
<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#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(center, m_center);
+<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; }
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__order_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,90 @@
+<!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/point_order.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_1point__order.html">ggl::point_order< Geometry ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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. 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_1point__order.html">ggl::traits::point_order< G ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">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. 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>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">ggl::order_selector</a> { <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">ggl::clockwise</a> = 1,
+<a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">ggl::counterclockwise</a> = 2,
+<a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">ggl::order_undetermined</a> = 0
+ }</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__order_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,147 @@
+<!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/point_order.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_CORE_POINT_ORDER_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_CORE_POINT_ORDER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include <boost/range/metafunctions.hpp></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include <boost/type_traits/remove_const.hpp></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="core_2ring__type_8hpp.html">ggl/core/ring_type.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="tag_8hpp.html">ggl/core/tag.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="core_2tags_8hpp.html">ggl/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><a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">00022</a> <span class="keyword">enum</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> { <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a> = 1, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d7242f3377ee5283786ecb2bc2d90015a">counterclockwise</a> = 2, <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d79823f6595401a02e8f1cea6d3b34e84">order_undetermined</a> = 0 };
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="keyword">namespace </span>traits {
+<a name="l00025"></a>00025
+<a name="l00038"></a>00038 <span class="keyword">template</span> <<span class="keyword">typename</span> G>
+<a name="l00039"></a><a class="code" href="structggl_1_1traits_1_1point__order.html">00039</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1traits_1_1point__order.html" title="Traits class indicating the order of contained points within a ring or (multi)polygon...">point_order</a>
+<a name="l00040"></a>00040 {
+<a name="l00041"></a><a class="code" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">00041</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="code" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>;
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 } <span class="comment">// namespace traits</span>
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="preprocessor">#ifndef DOXYGEN_NO_DISPATCH</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="keyword">namespace </span>core_dispatch
+<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> Tag, <span class="keyword">typename</span> Geometry>
+<a name="l00053"></a>00053 <span class="keyword">struct </span><a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">point_order</a>
+<a name="l00054"></a>00054 {
+<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> value = <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d55fe53c1821ca13eb0eacb9084cb1d1c">clockwise</a>;
+<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> Ring>
+<a name="l00061"></a>00061 <span class="keyword">struct </span>point_order<ring_tag, Ring>
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> value = <a class="code" href="structggl_1_1traits_1_1point__order.html" title="Traits class indicating the order of contained points within a ring or (multi)polygon...">ggl::traits::point_order<Ring>::value</a>;
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 <span class="comment">// Specialization for polygon: the order is the order of its rings</span>
+<a name="l00067"></a>00067 <span class="keyword">template</span> <<span class="keyword">typename</span> Polygon>
+<a name="l00068"></a>00068 <span class="keyword">struct </span>point_order<polygon_tag, Polygon>
+<a name="l00069"></a>00069 {
+<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> value = core_dispatch::point_order
+<a name="l00071"></a>00071 <
+<a name="l00072"></a>00072 ring_tag,
+<a name="l00073"></a>00073 <span class="keyword">typename</span> ring_type<polygon_tag, Polygon>::type
+<a name="l00074"></a>00074 >::value ;
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<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="l00085"></a>00085 <span class="keyword">template</span> <<span class="keyword">typename</span> Geometry>
+<a name="l00086"></a><a class="code" href="structggl_1_1point__order.html">00086</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1point__order.html" title="Meta-function which defines point type of any geometry.">point_order</a>
+<a name="l00087"></a>00087 {
+<a name="l00088"></a><a class="code" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">00088</a> <span class="keyword">typedef</span> <span class="keyword">typename</span> boost::remove_const<Geometry>::type <a class="code" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a>;
+<a name="l00089"></a><a class="code" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">00089</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="code" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">value</a> = core_dispatch::point_order
+<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>,
+<a name="l00092"></a>00092 <a class="code" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a>
+<a name="l00093"></a>00093 ><a class="code" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">::value</a>;
+<a name="l00094"></a>00094 };
+<a name="l00095"></a>00095
+<a name="l00096"></a>00096 } <span class="comment">// namespace ggl</span>
+<a name="l00097"></a>00097
+<a name="l00098"></a>00098 <span class="preprocessor">#endif // GGL_CORE_POINT_ORDER_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/point__xy_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/point__xy_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -82,10 +82,10 @@
<a name="l00051"></a><a class="code" href="classggl_1_1point__xy.html#28f49fc68898e678390593fb73afd7c6">00051</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>(T <span class="keyword">const</span>& v)
<a name="l00052"></a>00052 { this-><span class="keyword">template</span> set<1>(v); }
<a name="l00053"></a>00053
-<a name="l00055"></a><a class="code" href="classggl_1_1point__xy.html#3c5f9d94906145cc473019b8eaf66e7d">00055</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classggl_1_1point__xy.html#3c5f9d94906145cc473019b8eaf66e7d" title="Compare two points.">operator<</a>(<a class="code" href="classggl_1_1point__xy.html" title="2D point in Cartesian coordinate system">point_xy</a> <span class="keyword">const</span>& other)<span class="keyword"> const</span>
-<a name="l00056"></a>00056 <span class="keyword"> </span>{
-<a name="l00057"></a>00057 <span class="keywordflow">return</span> <a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">math::equals</a>(<a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>(), other.<a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>()) ? <a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>() < other.<a class="code" href="classggl_1_1point__xy.html#a83e59f4d401b1a4c6f037979c57260f" title="Get y-value.">y</a>() : <a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>() < other.<a class="code" href="classggl_1_1point__xy.html#a7803d55e0758a659d618583b757b272" title="Get x-value.">x</a>();
-<a name="l00058"></a>00058 }
+<a name="l00055"></a>00055 <span class="comment">//inline bool operator<(point_xy const& other) const</span>
+<a name="l00056"></a>00056 <span class="comment">//{</span>
+<a name="l00057"></a>00057 <span class="comment">// return math::equals(x(), other.x()) ? y() < other.y() : x() < other.x();</span>
+<a name="l00058"></a>00058 <span class="comment">//}</span>
<a name="l00059"></a>00059
<a name="l00060"></a>00060 };
<a name="l00061"></a>00061
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/polygon_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -47,7 +47,7 @@
<a href="polygon_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">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classggl_1_1polygon.html">ggl::polygon< Point, PointList, RingList, PointAlloc, RingAlloc ></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_1polygon.html">ggl::polygon< Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">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. More...<br></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -66,147 +66,153 @@
<a name="l00024"></a>00024 <span class="keyword">namespace </span>ggl
<a name="l00025"></a>00025 {
<a name="l00026"></a>00026
-<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> Point,
-<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><a class="code" href="class_point_list.html">PointList</a> = std::vector,
-<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>RingList = std::vector,
-<a name="l00043"></a>00043 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc = std::allocator,
-<a name="l00044"></a>00044 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc = std::allocator
-<a name="l00045"></a>00045 >
-<a name="l00046"></a><a class="code" href="classggl_1_1polygon.html">00046</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="l00047"></a>00047 {
-<a name="l00048"></a>00048 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="l00049"></a>00049
-<a name="l00050"></a>00050 <span class="keyword">public</span>:
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="comment">// Member types</span>
-<a name="l00053"></a><a class="code" href="classggl_1_1polygon.html#8dda8bcf15991e114554c6dcfb9c7231">00053</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="l00054"></a><a class="code" href="classggl_1_1polygon.html#1c6fe805fcbf99e4b70afe9202c820aa">00054</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1linear__ring.html">linear_ring<Point, PointList, PointAlloc></a> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a>;
-<a name="l00055"></a><a class="code" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">00055</a> <span class="keyword">typedef</span> RingList<ring_type , RingAlloc<ring_type > > <a class="code" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a>;
+<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> Point,
+<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><a class="code" href="class_point_list.html">PointList</a> = std::vector,
+<a name="l00046"></a>00046 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList = std::vector,
+<a name="l00047"></a>00047 <span class="keywordtype">bool</span> ClockWise = <span class="keyword">true</span>,
+<a name="l00048"></a>00048 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc = std::allocator,
+<a name="l00049"></a>00049 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc = std::allocator
+<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="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">public</span>:
<a name="l00056"></a>00056
-<a name="l00057"></a><a class="code" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">00057</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a> <span class="keyword">const</span>& <a class="code" href="classggl_1_1polygon.html#be04d3ead04813a25be1a219076358a8">outer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_outer; }
-<a name="l00058"></a><a class="code" href="classggl_1_1polygon.html#0d41c7b42a1444fdc759550644c7924e">00058</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> <span class="keyword">const</span>& <a class="code" href="classggl_1_1polygon.html#0d41c7b42a1444fdc759550644c7924e">inners</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_inners; }
-<a name="l00059"></a>00059
-<a name="l00060"></a><a class="code" href="classggl_1_1polygon.html#6cdf9123dd3442b13cfd032555baea2f">00060</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a>& <a class="code" href="classggl_1_1polygon.html#6cdf9123dd3442b13cfd032555baea2f">outer</a>() { <span class="keywordflow">return</span> m_outer; }
-<a name="l00061"></a><a class="code" href="classggl_1_1polygon.html#75a7c6b2f0fbc0c3e3127188f576c38f">00061</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> & <a class="code" href="classggl_1_1polygon.html#75a7c6b2f0fbc0c3e3127188f576c38f">inners</a>() { <span class="keywordflow">return</span> m_inners; }
-<a name="l00062"></a>00062
-<a name="l00064"></a><a class="code" href="classggl_1_1polygon.html#114bcb53b0264af8edaa53d8e42bf45f">00064</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1polygon.html#114bcb53b0264af8edaa53d8e42bf45f" title="Utility method, clears outer and inner rings.">clear</a>()
-<a name="l00065"></a>00065 {
-<a name="l00066"></a>00066 m_outer.clear();
-<a name="l00067"></a>00067 m_inners.clear();
-<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
-<a name="l00072"></a>00072 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a> m_outer;
-<a name="l00073"></a>00073 <a class="code" href="classggl_1_1polygon.html#5c966fd82091bfdbe8d6693059b37864">inner_container_type</a> m_inners;
-<a name="l00074"></a>00074 };
-<a name="l00075"></a>00075
+<a name="l00057"></a>00057 <span class="comment">// Member types</span>
+<a name="l00058"></a><a class="code" href="classggl_1_1polygon.html#662c4458e3099e30097a3fc909d54941">00058</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="l00059"></a><a class="code" href="classggl_1_1polygon.html#6d7c8304fda2d2f1850cf2eb994c441a">00059</a> <span class="keyword">typedef</span> <a class="code" href="classggl_1_1linear__ring.html">linear_ring<Point, PointList, ClockWise, PointAlloc></a> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a>;
+<a name="l00060"></a><a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">00060</a> <span class="keyword">typedef</span> RingList<ring_type , RingAlloc<ring_type > > <a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a>;
+<a name="l00061"></a>00061
+<a name="l00062"></a><a class="code" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">00062</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a> <span class="keyword">const</span>& <a class="code" href="classggl_1_1polygon.html#5faae375ec2c4b4547da615fa8864e74">outer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_outer; }
+<a name="l00063"></a><a class="code" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">00063</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> <span class="keyword">const</span>& <a class="code" href="classggl_1_1polygon.html#5a8564eeeaa4f244e6f70ab10395a63f">inners</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_inners; }
+<a name="l00064"></a>00064
+<a name="l00065"></a><a class="code" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">00065</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1linear__ring.html">ring_type</a>& <a class="code" href="classggl_1_1polygon.html#41e0bbcd9d466a41d8eecd6041f3c22c">outer</a>() { <span class="keywordflow">return</span> m_outer; }
+<a name="l00066"></a><a class="code" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">00066</a> <span class="keyword">inline</span> <a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> & <a class="code" href="classggl_1_1polygon.html#c750a19a332ddfe4958ad62c78de8109">inners</a>() { <span class="keywordflow">return</span> m_inners; }
+<a name="l00067"></a>00067
+<a name="l00069"></a><a class="code" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf">00069</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classggl_1_1polygon.html#45859e712d67f58e5813e87759892bdf" title="Utility method, clears outer and inner rings.">clear</a>()
+<a name="l00070"></a>00070 {
+<a name="l00071"></a>00071 m_outer.clear();
+<a name="l00072"></a>00072 m_inners.clear();
+<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
-<a name="l00077"></a>00077 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
-<a name="l00079"></a>00079 {
+<a name="l00077"></a>00077 <a class="code" href="structggl_1_1ring__type.html" title="Meta-function which defines ring type of (multi)polygon geometry.">ring_type</a> m_outer;
+<a name="l00078"></a>00078 <a class="code" href="classggl_1_1polygon.html#745719d755446c294264911892d97182">inner_container_type</a> m_inners;
+<a name="l00079"></a>00079 };
<a name="l00080"></a>00080
-<a name="l00081"></a>00081 <span class="keyword">template</span>
-<a name="l00082"></a>00082 <
-<a name="l00083"></a>00083 <span class="keyword">typename</span> Point,
-<a name="l00084"></a>00084 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
-<a name="l00085"></a>00085 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
-<a name="l00086"></a>00086 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
-<a name="l00087"></a>00087 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
-<a name="l00088"></a>00088 >
-<a name="l00089"></a>00089 <span class="keyword">struct </span>tag<polygon<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc> >
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <span class="keyword">typedef</span> polygon_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
-<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> Point,
-<a name="l00097"></a>00097 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
-<a name="l00098"></a>00098 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
-<a name="l00099"></a>00099 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
-<a name="l00100"></a>00100 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
-<a name="l00101"></a>00101 >
-<a name="l00102"></a>00102 <span class="keyword">struct </span>ring_type<polygon<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc> >
-<a name="l00103"></a>00103 {
-<a name="l00104"></a>00104 <span class="keyword">typedef</span> <span class="keyword">typename</span> polygon
-<a name="l00105"></a>00105 <
-<a name="l00106"></a>00106 Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc
-<a name="l00107"></a>00107 >::ring_type type;
-<a name="l00108"></a>00108 };
-<a name="l00109"></a>00109
-<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> Point,
-<a name="l00113"></a>00113 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
-<a name="l00114"></a>00114 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
-<a name="l00115"></a>00115 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
-<a name="l00116"></a>00116 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
-<a name="l00117"></a>00117 >
-<a name="l00118"></a>00118 <span class="keyword">struct </span>interior_type< polygon<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc> >
-<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 <span class="keyword">typedef</span> <span class="keyword">typename</span> polygon
-<a name="l00121"></a>00121 <
-<a name="l00122"></a>00122 Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc
-<a name="l00123"></a>00123 >::inner_container_type type;
-<a name="l00124"></a>00124 };
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 <span class="keyword">template</span>
-<a name="l00127"></a>00127 <
-<a name="l00128"></a>00128 <span class="keyword">typename</span> Point,
-<a name="l00129"></a>00129 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
-<a name="l00130"></a>00130 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
-<a name="l00131"></a>00131 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
-<a name="l00132"></a>00132 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
-<a name="l00133"></a>00133 >
-<a name="l00134"></a>00134 <span class="keyword">struct </span><a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>< polygon<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc> >
-<a name="l00135"></a>00135 {
-<a name="l00136"></a>00136 <span class="keyword">typedef</span> polygon<Point, PointList, RingList, PointAlloc, RingAlloc> polygon_type;
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::ring_type& <span class="keyword">get</span>(polygon_type& p)
-<a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 <span class="keywordflow">return</span> p.outer();
-<a name="l00141"></a>00141 }
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::ring_type <span class="keyword">const</span> & <span class="keyword">get</span>(polygon_type <span class="keyword">const</span>& p)
-<a name="l00144"></a>00144 {
-<a name="l00145"></a>00145 <span class="keywordflow">return</span> p.outer();
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147 };
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 <span class="keyword">template</span>
-<a name="l00150"></a>00150 <
-<a name="l00151"></a>00151 <span class="keyword">typename</span> Point,
-<a name="l00152"></a>00152 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
-<a name="l00153"></a>00153 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
-<a name="l00154"></a>00154 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
-<a name="l00155"></a>00155 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
-<a name="l00156"></a>00156 >
-<a name="l00157"></a>00157 <span class="keyword">struct </span><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<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, PointAlloc, RingAlloc> >
-<a name="l00158"></a>00158 {
-<a name="l00159"></a>00159 <span class="keyword">typedef</span> polygon<Point, PointList, RingList, PointAlloc, RingAlloc> polygon_type;
-<a name="l00160"></a>00160
-<a name="l00161"></a>00161 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::inner_container_type& <span class="keyword">get</span>(
-<a name="l00162"></a>00162 polygon_type& p)
-<a name="l00163"></a>00163 {
-<a name="l00164"></a>00164 <span class="keywordflow">return</span> p.inners();
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166
-<a name="l00167"></a>00167 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::inner_container_type <span class="keyword">const</span>& <span class="keyword">get</span>(
-<a name="l00168"></a>00168 polygon_type <span class="keyword">const</span>& p)
-<a name="l00169"></a>00169 {
-<a name="l00170"></a>00170 <span class="keywordflow">return</span> p.inners();
-<a name="l00171"></a>00171 }
-<a name="l00172"></a>00172 };
-<a name="l00173"></a>00173
-<a name="l00174"></a>00174 } <span class="comment">// namespace traits</span>
-<a name="l00175"></a>00175 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
-<a name="l00176"></a>00176 <span class="preprocessor"></span>
-<a name="l00177"></a>00177 } <span class="comment">// namespace ggl</span>
-<a name="l00178"></a>00178
-<a name="l00179"></a>00179 <span class="preprocessor">#endif // GGL_GEOMETRIES_POLYGON_HPP</span>
+<a name="l00081"></a>00081
+<a name="l00082"></a>00082 <span class="preprocessor">#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="keyword">namespace </span>traits
+<a name="l00084"></a>00084 {
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="keyword">template</span>
+<a name="l00087"></a>00087 <
+<a name="l00088"></a>00088 <span class="keyword">typename</span> Point,
+<a name="l00089"></a>00089 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
+<a name="l00090"></a>00090 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
+<a name="l00091"></a>00091 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00092"></a>00092 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
+<a name="l00093"></a>00093 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
+<a name="l00094"></a>00094 >
+<a name="l00095"></a>00095 <span class="keyword">struct </span>tag<polygon<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc> >
+<a name="l00096"></a>00096 {
+<a name="l00097"></a>00097 <span class="keyword">typedef</span> polygon_tag <a class="code" href="structggl_1_1traits_1_1tag.html#6a33811e99e92e16ae2529e6ecd8a1b6">type</a>;
+<a name="l00098"></a>00098 };
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="keyword">template</span>
+<a name="l00101"></a>00101 <
+<a name="l00102"></a>00102 <span class="keyword">typename</span> Point,
+<a name="l00103"></a>00103 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
+<a name="l00104"></a>00104 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
+<a name="l00105"></a>00105 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00106"></a>00106 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
+<a name="l00107"></a>00107 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
+<a name="l00108"></a>00108 >
+<a name="l00109"></a>00109 <span class="keyword">struct </span>ring_type<polygon<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc> >
+<a name="l00110"></a>00110 {
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keyword">typename</span> polygon
+<a name="l00112"></a>00112 <
+<a name="l00113"></a>00113 Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc
+<a name="l00114"></a>00114 >::ring_type type;
+<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> Point,
+<a name="l00120"></a>00120 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
+<a name="l00121"></a>00121 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
+<a name="l00122"></a>00122 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00123"></a>00123 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
+<a name="l00124"></a>00124 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
+<a name="l00125"></a>00125 >
+<a name="l00126"></a>00126 <span class="keyword">struct </span>interior_type< polygon<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc> >
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 <span class="keyword">typedef</span> <span class="keyword">typename</span> polygon
+<a name="l00129"></a>00129 <
+<a name="l00130"></a>00130 Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc
+<a name="l00131"></a>00131 >::inner_container_type type;
+<a name="l00132"></a>00132 };
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="keyword">template</span>
+<a name="l00135"></a>00135 <
+<a name="l00136"></a>00136 <span class="keyword">typename</span> Point,
+<a name="l00137"></a>00137 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
+<a name="l00138"></a>00138 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
+<a name="l00139"></a>00139 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00140"></a>00140 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
+<a name="l00141"></a>00141 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
+<a name="l00142"></a>00142 >
+<a name="l00143"></a>00143 <span class="keyword">struct </span><a class="code" href="group__access.html#gf92470d0612da7f0e118d296e7fcfe01" title="Function to get the exterior_ring ring of a polygon.">exterior_ring</a>< polygon<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc> >
+<a name="l00144"></a>00144 {
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> polygon<Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc> polygon_type;
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::ring_type& <span class="keyword">get</span>(polygon_type& p)
+<a name="l00148"></a>00148 {
+<a name="l00149"></a>00149 <span class="keywordflow">return</span> p.outer();
+<a name="l00150"></a>00150 }
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::ring_type <span class="keyword">const</span> & <span class="keyword">get</span>(polygon_type <span class="keyword">const</span>& p)
+<a name="l00153"></a>00153 {
+<a name="l00154"></a>00154 <span class="keywordflow">return</span> p.outer();
+<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>
+<a name="l00159"></a>00159 <
+<a name="l00160"></a>00160 <span class="keyword">typename</span> Point,
+<a name="l00161"></a>00161 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span><a class="code" href="class_point_list.html">PointList</a>,
+<a name="l00162"></a>00162 <span class="keyword">template</span><<span class="keyword">typename</span>, <span class="keyword">typename</span>> <span class="keyword">class </span>RingList,
+<a name="l00163"></a>00163 <span class="keywordtype">bool</span> ClockWise,
+<a name="l00164"></a>00164 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>PointAlloc,
+<a name="l00165"></a>00165 <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>RingAlloc
+<a name="l00166"></a>00166 >
+<a name="l00167"></a>00167 <span class="keyword">struct </span><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<Point, <a class="code" href="class_point_list.html">PointList</a>, RingList, ClockWise, PointAlloc, RingAlloc> >
+<a name="l00168"></a>00168 {
+<a name="l00169"></a>00169 <span class="keyword">typedef</span> polygon<Point, PointList, RingList, ClockWise, PointAlloc, RingAlloc> polygon_type;
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::inner_container_type& <span class="keyword">get</span>(
+<a name="l00172"></a>00172 polygon_type& p)
+<a name="l00173"></a>00173 {
+<a name="l00174"></a>00174 <span class="keywordflow">return</span> p.inners();
+<a name="l00175"></a>00175 }
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">typename</span> polygon_type::inner_container_type <span class="keyword">const</span>& <span class="keyword">get</span>(
+<a name="l00178"></a>00178 polygon_type <span class="keyword">const</span>& p)
+<a name="l00179"></a>00179 {
+<a name="l00180"></a>00180 <span class="keywordflow">return</span> p.inners();
+<a name="l00181"></a>00181 }
+<a name="l00182"></a>00182 };
+<a name="l00183"></a>00183
+<a name="l00184"></a>00184 } <span class="comment">// namespace traits</span>
+<a name="l00185"></a>00185 <span class="preprocessor">#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS</span>
+<a name="l00186"></a>00186 <span class="preprocessor"></span>
+<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_GEOMETRIES_POLYGON_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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -101,7 +101,7 @@
<a name="l00059"></a>00059 <span class="keywordflow">return</span> boost::numeric_cast
<a name="l00060"></a>00060 <
<a name="l00061"></a>00061 coordinate_type
-<a name="l00062"></a>00062 >(ggl::get<D>(geometry) * <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">math::d2r</a>);
+<a name="l00062"></a>00062 >(ggl::get<D>(geometry) * <a class="code" href="namespaceggl_1_1math.html#769a1475e4e990429b75435c2bc3bf0e">ggl::math::d2r</a>);
<a name="l00063"></a>00063 }
<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> <span class="keyword">set</span>(G& geometry, coordinate_type <span class="keyword">const</span>& radians)
@@ -109,7 +109,7 @@
<a name="l00067"></a>00067 ggl::set<D>(geometry, boost::numeric_cast
<a name="l00068"></a>00068 <
<a name="l00069"></a>00069 coordinate_type
-<a name="l00070"></a>00070 >(radians * <a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">math::r2d</a>));
+<a name="l00070"></a>00070 >(radians * <a class="code" href="namespaceggl_1_1math.html#8e62ae7fbcc6b9adca9628da415f6a91">ggl::math::r2d</a>));
<a name="l00071"></a>00071 }
<a name="l00072"></a>00072
<a name="l00073"></a>00073 };
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/segment__iterator_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -90,95 +90,93 @@
<a name="l00048"></a>00048 , m_it(end)
<a name="l00049"></a>00049 , m_end(end)
<a name="l00050"></a>00050 {
-<a name="l00051"></a>00051 BOOST_ASSERT(<a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">ggl::equals</a>(<a class="code" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">point_type</a>(), m_segment.<a class="code" href="structggl_1_1segment.html#3f8aa8a3542ebf499e4987ef3ccfd5b1">first</a>));
-<a name="l00052"></a>00052 BOOST_ASSERT(<a class="code" href="group__boolean__relations.html#g122b1fd835cee0742da7c97dfdda94c5" title="Calculate if two geometries are equals.">ggl::equals</a>(<a class="code" href="structggl_1_1segment__iterator.html#e388acc7d123761a41a0132ed0b19d29">point_type</a>(), m_segment.<a class="code" href="structggl_1_1segment.html#e5aea8fdfbd0e0dece9b227a8a5cec33">second</a>));
-<a name="l00053"></a>00053 }
-<a name="l00054"></a>00054
-<a name="l00055"></a><a class="code" href="structggl_1_1segment__iterator.html#44f6909b510f65b300fa9ae0fa473b2c">00055</a> <a class="code" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">segment_iterator</a>(Base <span class="keyword">const</span>& it, Base <span class="keyword">const</span>& end)
-<a name="l00056"></a>00056 : m_segment(p1 , p2)
-<a name="l00057"></a>00057 , m_prev(it)
-<a name="l00058"></a>00058 , m_it(it)
-<a name="l00059"></a>00059 , m_end(end)
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keywordflow">if</span> (m_it != m_end)
-<a name="l00062"></a>00062 {
-<a name="l00063"></a>00063 BOOST_ASSERT(m_prev != m_end);
-<a name="l00064"></a>00064 ++m_it;
-<a name="l00065"></a>00065 }
-<a name="l00066"></a>00066 }
-<a name="l00067"></a>00067
-<a name="l00068"></a><a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">00068</a> <a class="code" href="structggl_1_1segment.html">reference</a> <a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">operator*</a>()
-<a name="l00069"></a>00069 {
-<a name="l00070"></a>00070 BOOST_ASSERT(m_it != m_end && m_prev != m_end);
-<a name="l00071"></a>00071
-<a name="l00072"></a>00072 p1 = *m_prev;
-<a name="l00073"></a>00073 p2 = *m_it;
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <span class="keywordflow">return</span> m_segment;
-<a name="l00076"></a>00076 }
-<a name="l00077"></a>00077
-<a name="l00078"></a><a class="code" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">00078</a> <a class="code" href="structggl_1_1segment.html">pointer</a> <a class="code" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">operator-></a>()
-<a name="l00079"></a>00079 {
-<a name="l00080"></a>00080 <span class="keywordflow">return</span> &(<a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">operator*</a>());
-<a name="l00081"></a>00081 }
-<a name="l00082"></a>00082
-<a name="l00083"></a><a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">00083</a> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a>& <a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">operator++</a>()
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 ++m_prev;
-<a name="l00086"></a>00086 ++m_it;
-<a name="l00087"></a>00087 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
-<a name="l00088"></a>00088 }
-<a name="l00089"></a>00089
-<a name="l00090"></a><a class="code" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">00090</a> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a> <a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">operator++</a>(<span class="keywordtype">int</span>)
-<a name="l00091"></a>00091 {
-<a name="l00092"></a>00092 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a> it(*<span class="keyword">this</span>);
-<a name="l00093"></a>00093 ++(*this);
-<a name="l00094"></a>00094 <span class="keywordflow">return</span> it;
-<a name="l00095"></a>00095 }
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="structggl_1_1segment__iterator.html#44f6909b510f65b300fa9ae0fa473b2c">00053</a> <a class="code" href="structggl_1_1segment__iterator.html#64fa7cd0ce95c704f4a40bdc914cffbb">segment_iterator</a>(Base <span class="keyword">const</span>& it, Base <span class="keyword">const</span>& end)
+<a name="l00054"></a>00054 : m_segment(p1 , p2)
+<a name="l00055"></a>00055 , m_prev(it)
+<a name="l00056"></a>00056 , m_it(it)
+<a name="l00057"></a>00057 , m_end(end)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordflow">if</span> (m_it != m_end)
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 BOOST_ASSERT(m_prev != m_end);
+<a name="l00062"></a>00062 ++m_it;
+<a name="l00063"></a>00063 }
+<a name="l00064"></a>00064 }
+<a name="l00065"></a>00065
+<a name="l00066"></a><a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">00066</a> <a class="code" href="structggl_1_1segment.html">reference</a> <a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">operator*</a>()
+<a name="l00067"></a>00067 {
+<a name="l00068"></a>00068 BOOST_ASSERT(m_it != m_end && m_prev != m_end);
+<a name="l00069"></a>00069
+<a name="l00070"></a>00070 p1 = *m_prev;
+<a name="l00071"></a>00071 p2 = *m_it;
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keywordflow">return</span> m_segment;
+<a name="l00074"></a>00074 }
+<a name="l00075"></a>00075
+<a name="l00076"></a><a class="code" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">00076</a> <a class="code" href="structggl_1_1segment.html">pointer</a> <a class="code" href="structggl_1_1segment__iterator.html#2b2dfc371bc599e81a16671a83fc16de">operator-></a>()
+<a name="l00077"></a>00077 {
+<a name="l00078"></a>00078 <span class="keywordflow">return</span> &(<a class="code" href="structggl_1_1segment__iterator.html#5f87341660aa48a2807c5d1a1392f4c2">operator*</a>());
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080
+<a name="l00081"></a><a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">00081</a> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a>& <a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">operator++</a>()
+<a name="l00082"></a>00082 {
+<a name="l00083"></a>00083 ++m_prev;
+<a name="l00084"></a>00084 ++m_it;
+<a name="l00085"></a>00085 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087
+<a name="l00088"></a><a class="code" href="structggl_1_1segment__iterator.html#63c6edf091022da4e2afee8d395eeeaa">00088</a> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a> <a class="code" href="structggl_1_1segment__iterator.html#2f1e23e907229c052a65e8b9b6be6ef0">operator++</a>(<span class="keywordtype">int</span>)
+<a name="l00089"></a>00089 {
+<a name="l00090"></a>00090 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator</a> it(*<span class="keyword">this</span>);
+<a name="l00091"></a>00091 ++(*this);
+<a name="l00092"></a>00092 <span class="keywordflow">return</span> it;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094
+<a name="l00095"></a><a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">00095</a> Base <span class="keyword">const</span>& <a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_it; }
<a name="l00096"></a>00096
-<a name="l00097"></a><a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">00097</a> Base <span class="keyword">const</span>& <a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_it; }
+<a name="l00097"></a>00097 <span class="keyword">private</span>:
<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <span class="keyword">private</span>:
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> p1;
-<a name="l00102"></a>00102 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> p2;
-<a name="l00103"></a>00103 <a class="code" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">segment_type</a> m_segment;
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 Base m_prev;
-<a name="l00106"></a>00106 Base m_it;
-<a name="l00107"></a>00107 Base m_end;
-<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> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00111"></a><a class="code" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">00111</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">operator==</a>(<a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<Base, Point></a> <span class="keyword">const</span>& lhs,
-<a name="l00112"></a>00112 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<Base, Point></a> <span class="keyword">const</span>& rhs)
-<a name="l00113"></a>00113 {
-<a name="l00114"></a>00114 <span class="keywordflow">return</span> (lhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>() == rhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>());
-<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> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
-<a name="l00118"></a><a class="code" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">00118</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">operator!=</a>(<a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<Base, Point></a> <span class="keyword">const</span>& lhs,
-<a name="l00119"></a>00119 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<Base, Point></a> <span class="keyword">const</span>& rhs)
-<a name="l00120"></a>00120 {
-<a name="l00121"></a>00121 <span class="keywordflow">return</span> (lhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>() != rhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>());
-<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> C>
-<a name="l00125"></a>00125 segment_iterator
-<a name="l00126"></a>00126 <
-<a name="l00127"></a>00127 <span class="keyword">typename</span> C::iterator,
-<a name="l00128"></a>00128 <span class="keyword">typename</span> C::value_type
-<a name="l00129"></a>00129 >
-<a name="l00130"></a><a class="code" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">00130</a> <a class="code" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">make_segment_iterator</a>(C& c)
-<a name="l00131"></a>00131 {
-<a name="l00132"></a>00132 <span class="keyword">typedef</span> <span class="keyword">typename</span> C::iterator base_iterator;
-<a name="l00133"></a>00133 <span class="keyword">typedef</span> <span class="keyword">typename</span> C::value_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="l00134"></a>00134 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<base_iterator, point_type></a>(c.begin(), c.end());
-<a name="l00135"></a>00135 }
+<a name="l00099"></a>00099 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> p1;
+<a name="l00100"></a>00100 <a class="code" href="structggl_1_1point__type.html" title="Meta-function which defines point type of any geometry.">point_type</a> p2;
+<a name="l00101"></a>00101 <a class="code" href="structggl_1_1segment__iterator.html#410f1a0aa22f7f4fb6c0850213aba66d">segment_type</a> m_segment;
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 Base m_prev;
+<a name="l00104"></a>00104 Base m_it;
+<a name="l00105"></a>00105 Base m_end;
+<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> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00109"></a><a class="code" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">00109</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceggl.html#82646d087871f2c3ac0f6daad6f6f3ba">operator==</a>(<a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<Base, Point></a> <span class="keyword">const</span>& lhs,
+<a name="l00110"></a>00110 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<Base, Point></a> <span class="keyword">const</span>& rhs)
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 <span class="keywordflow">return</span> (lhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>() == rhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>());
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="keyword">template</span> <<span class="keyword">typename</span> Base, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00116"></a><a class="code" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">00116</a> <span class="keywordtype">bool</span> <a class="code" href="namespaceggl.html#a69739049ea926bb41bd9c9ffdaba2a5">operator!=</a>(<a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<Base, Point></a> <span class="keyword">const</span>& lhs,
+<a name="l00117"></a>00117 <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<Base, Point></a> <span class="keyword">const</span>& rhs)
+<a name="l00118"></a>00118 {
+<a name="l00119"></a>00119 <span class="keywordflow">return</span> (lhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>() != rhs.<a class="code" href="structggl_1_1segment__iterator.html#932c0212e2ba798d82d4484c2278150a">base</a>());
+<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> C>
+<a name="l00123"></a>00123 segment_iterator
+<a name="l00124"></a>00124 <
+<a name="l00125"></a>00125 <span class="keyword">typename</span> C::iterator,
+<a name="l00126"></a>00126 <span class="keyword">typename</span> C::value_type
+<a name="l00127"></a>00127 >
+<a name="l00128"></a><a class="code" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">00128</a> <a class="code" href="namespaceggl.html#be0f21b6c5bbffed69487d17fd970454">make_segment_iterator</a>(C& c)
+<a name="l00129"></a>00129 {
+<a name="l00130"></a>00130 <span class="keyword">typedef</span> <span class="keyword">typename</span> C::iterator base_iterator;
+<a name="l00131"></a>00131 <span class="keyword">typedef</span> <span class="keyword">typename</span> C::value_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="l00132"></a>00132 <span class="keywordflow">return</span> <a class="code" href="structggl_1_1segment__iterator.html">segment_iterator<base_iterator, point_type></a>(c.begin(), c.end());
+<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="comment">// namespace ggl</span>
-<a name="l00138"></a>00138
-<a name="l00139"></a>00139 <span class="preprocessor">#endif // GGL_ITERATORS_SEGMENT_ITERATOR_HPP</span>
+<a name="l00137"></a>00137 <span class="preprocessor">#endif // GGL_ITERATORS_SEGMENT_ITERATOR_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 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/simplify_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">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">struct </td><td class="memItemRight" valign="bottom"><b>ggl::concept::SimplifyStrategy< Strategy >::apply_checker</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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__concept_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,126 @@
+<!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/simplify_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_SIMPLIFY_CONCEPT_HPP</span>
+<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGIES_CONCEPTS_SIMPLIFY_CONCEPT_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include <vector></span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include <iterator></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="distance__concept_8hpp.html">ggl/strategies/concepts/distance_concept.hpp</a>></span>
+<a name="l00017"></a>00017
+<a name="l00018"></a>00018
+<a name="l00019"></a>00019 <span class="keyword">namespace </span>ggl { <span class="keyword">namespace </span>concept {
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021
+<a name="l00026"></a>00026 <span class="keyword">template</span> <<span class="keyword">typename</span> Strategy>
+<a name="l00027"></a><a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html">00027</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1concept_1_1_simplify_strategy.html" title="Checks strategy for simplify.">SimplifyStrategy</a>
+<a name="l00028"></a>00028 {
+<a name="l00029"></a>00029 <span class="keyword">private</span> :
+<a name="l00030"></a>00030
+<a name="l00031"></a>00031 <span class="comment">// 1) must define distance_strategy_type,</span>
+<a name="l00032"></a>00032 <span class="comment">// defining point-segment distance strategy (to be checked)</span>
+<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keyword">typename</span> Strategy::distance_strategy_type ds_type;
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 BOOST_CONCEPT_ASSERT
+<a name="l00036"></a>00036 (
+<a name="l00037"></a>00037 (<a class="code" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html" title="Checks strategy for point-segment-distance.">concept::PointSegmentDistanceStrategy<ds_type></a>)
+<a name="l00038"></a>00038 );
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="comment">// 2) must implement static method apply with arguments</span>
+<a name="l00041"></a>00041 <span class="comment">// - Range</span>
+<a name="l00042"></a>00042 <span class="comment">// - OutputIterator</span>
+<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="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);
+<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><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="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
+<a name="l00063"></a>00063 }} <span class="comment">// namespace ggl::concept</span>
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 <span class="preprocessor">#endif // GGL_STRATEGIES_CONCEPTS_SIMPLIFY_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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/simplify__douglas__peucker_8hpp.html 2009-10-21 05:23:22 EDT (Wed, 21 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/agnostic/simplify_douglas_peucker.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_1simplify_1_1douglas__peucker.html">ggl::strategy::simplify::douglas_peucker< R, O_IT, PSDS ></a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Implements the <a class="el" href="namespaceggl_1_1strategy_1_1simplify.html">simplify</a> algorithm. 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_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_1simplify.html">ggl::strategy::simplify</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/simplify__douglas__peucker_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 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/agnostic/simplify_douglas_peucker.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_SIMPLIFY_DOUGLAS_PEUCKER_HPP</span>
+<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_STRATEGY_AGNOSTIC_SIMPLIFY_DOUGLAS_PEUCKER_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 <span class="preprocessor">#include <boost/range/functions.hpp></span>
+<a name="l00014"></a>00014
+<a name="l00015"></a>00015 <span class="preprocessor">#include <<a class="code" href="cs_8hpp.html">ggl/core/cs.hpp</a>></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <<a class="code" href="segment_8hpp.html">ggl/geometries/segment.hpp</a>></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include <<a class="code" href="distance__result_8hpp.html">ggl/strategies/distance_result.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="comment">//#define GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00022"></a>00022
+<a name="l00023"></a>00023 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#include <<a class="code" href="write__dsv_8hpp.html">ggl/util/write_dsv.hpp</a>></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#endif</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span>
+<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="keyword">namespace </span>strategy { <span class="keyword">namespace </span><a class="code" href="group__simplify.html#g752a5b4c8a40756da0e717c1ae4d2d8d" title="Simplify a geometry.">simplify</a> {
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#ifndef DOXYGEN_NO_DETAIL</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="keyword">namespace </span>detail
+<a name="l00036"></a>00036 {
+<a name="l00037"></a>00037
+<a name="l00044"></a>00044 <span class="keyword">template</span><<span class="keyword">typename</span> Po<span class="keywordtype">int</span>>
+<a name="l00045"></a>00045 <span class="keyword">struct </span>douglas_peucker_point
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 Point <span class="keyword">const</span>& p;
+<a name="l00048"></a>00048 <span class="keywordtype">bool</span> included;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">inline</span> douglas_peucker_point(Point <span class="keyword">const</span>& ap)
+<a name="l00051"></a>00051 : p(ap)
+<a name="l00052"></a>00052 , included(false)
+<a name="l00053"></a>00053 {}
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="comment">// Necessary for proper compilation</span>
+<a name="l00056"></a>00056 <span class="keyword">inline</span> douglas_peucker_point<Point> operator=(
+<a name="l00057"></a>00057 douglas_peucker_point<Point> <span class="keyword">const</span>& other)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059 <span class="keywordflow">return</span> douglas_peucker_point<Point>(*this);
+<a name="l00060"></a>00060 }
+<a name="l00061"></a>00061 };
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 <span class="preprocessor">#endif // DOXYGEN_NO_DETAIL</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span>
+<a name="l00065"></a>00065
+<a name="l00081"></a>00081 <span class="keyword">template</span>
+<a name="l00082"></a>00082 <
+<a name="l00083"></a>00083 <span class="keyword">typename</span> Point,
+<a name="l00084"></a>00084 <span class="keyword">typename</span> PointDistanceStrategy
+<a name="l00085"></a>00085 >
+<a name="l00086"></a>00086 <span class="keyword">class </span>douglas_peucker
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 <span class="keyword">typedef</span> detail::douglas_peucker_point<Point> dp_point_type;
+<a name="l00089"></a>00089 <span class="keyword">typedef</span> <span class="keyword">typename</span> std::vector<dp_point_type>::iterator iterator_type;
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 <span class="keyword">typedef</span> <span class="keyword">typename</span> PointDistanceStrategy::return_type return_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> consider(iterator_type begin,
+<a name="l00094"></a>00094 iterator_type end,
+<a name="l00095"></a>00095 return_type <span class="keyword">const</span>& max_dist, <span class="keywordtype">int</span>& n,
+<a name="l00096"></a>00096 PointDistanceStrategy <span class="keyword">const</span>& ps_distance_strategy)
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 std::size_t size = end - begin;
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 <span class="comment">// size must be at least 3</span>
+<a name="l00101"></a>00101 <span class="comment">// because we want to consider a candidate point in between</span>
+<a name="l00102"></a>00102 <span class="keywordflow">if</span> (size <= 2)
+<a name="l00103"></a>00103 {
+<a name="l00104"></a>00104 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span> <span class="keywordflow">if</span> (begin != end)
+<a name="l00106"></a>00106 {
+<a name="l00107"></a>00107 std::cout << <span class="stringliteral">"ignore between "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(begin->p)
+<a name="l00108"></a>00108 << <span class="stringliteral">" and "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>((end - 1)->p)
+<a name="l00109"></a>00109 << <span class="stringliteral">" size="</span> << size << std::endl;
+<a name="l00110"></a>00110 }
+<a name="l00111"></a>00111 std::cout << <span class="stringliteral">"return because size="</span> << size << std::endl;
+<a name="l00112"></a>00112 <span class="preprocessor">#endif</span>
+<a name="l00113"></a>00113 <span class="preprocessor"></span> <span class="keywordflow">return</span>;
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 iterator_type last = end - 1;
+<a name="l00117"></a>00117
+<a name="l00118"></a>00118 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00119"></a>00119 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"find between "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(begin->p)
+<a name="l00120"></a>00120 << <span class="stringliteral">" and "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(last->p)
+<a name="l00121"></a>00121 << <span class="stringliteral">" size="</span> << size << std::endl;
+<a name="l00122"></a>00122 <span class="preprocessor">#endif</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span>
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 <span class="comment">// Find most distance point, compare to the current segment</span>
+<a name="l00126"></a>00126 <a class="code" href="structggl_1_1segment.html" title="Class segment: small containing two (templatized) point references.">ggl::segment<const Point></a> s(begin->p, last->p);
+<a name="l00127"></a>00127 return_type md(-1.0); <span class="comment">// any value < 0</span>
+<a name="l00128"></a>00128 iterator_type candidate;
+<a name="l00129"></a>00129 <span class="keywordflow">for</span>(iterator_type it = begin + 1; it != last; ++it)
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 return_type dist = ps_distance_strategy(it->p, s);
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00134"></a>00134 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"consider "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(it->p)
+<a name="l00135"></a>00135 << <span class="stringliteral">" at "</span> << double(dist)
+<a name="l00136"></a>00136 << ((dist > max_dist) ? <span class="stringliteral">" maybe"</span> : <span class="stringliteral">" no"</span>)
+<a name="l00137"></a>00137 << std::endl;
+<a name="l00138"></a>00138
+<a name="l00139"></a>00139 <span class="preprocessor">#endif</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span> <span class="keywordflow">if</span> (dist > md)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 md = dist;
+<a name="l00143"></a>00143 candidate = it;
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145 }
+<a name="l00146"></a>00146
+<a name="l00147"></a>00147 <span class="comment">// If a point is found, set the include flag </span>
+<a name="l00148"></a>00148 <span class="comment">// and handle segments in between recursively</span>
+<a name="l00149"></a>00149 <span class="keywordflow">if</span> (md > max_dist)
+<a name="l00150"></a>00150 {
+<a name="l00151"></a>00151 <span class="preprocessor">#ifdef GL_DEBUG_DOUGLAS_PEUCKER</span>
+<a name="l00152"></a>00152 <span class="preprocessor"></span> std::cout << <span class="stringliteral">"use "</span> << <a class="code" href="namespaceggl.html#3399b7516122f515a1ea5ee5fdf49ce4" title="Main DSV-streaming function.">dsv</a>(candidate->p) << std::endl;
+<a name="l00153"></a>00153 <span class="preprocessor">#endif</span>
+<a name="l00154"></a>00154 <span class="preprocessor"></span>
+<a name="l00155"></a>00155 candidate->included = <span class="keyword">true</span>;
+<a name="l00156"></a>00156 n++;
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158 consider(begin, candidate + 1, max_dist, n, ps_distance_strategy);
+<a name="l00159"></a>00159 consider(candidate, end, max_dist, n, ps_distance_strategy);
+<a name="l00160"></a>00160 }
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163
+<a name="l00164"></a>00164 <span class="keyword">public</span> :
+<a name="l00165"></a>00165
+<a name="l00166"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#d9c2f3932590f7088e2cdf032c41458b">00166</a> <span class="keyword">typedef</span> PointDistanceStrategy <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#8baa11b24fd260345ee451512c710350">distance_strategy_type</a>;
+<a name="l00167"></a>00167
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <span class="keyword">template</span> <<span class="keyword">typename</span> Range, <span class="keyword">typename</span> OutputIterator>
+<a name="l00170"></a><a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#45491352f7c455ea801781c8b7c812d9">00170</a> <span class="keyword">static</span> <span class="keyword">inline</span> OutputIterator <a class="code" href="classggl_1_1strategy_1_1simplify_1_1douglas__peucker.html#45491352f7c455ea801781c8b7c812d9">apply</a>(Range <span class="keyword">const</span>& range,
+<a name="l00171"></a>00171 OutputIterator out, <span class="keywordtype">double</span> max_distance)
+<a name="l00172"></a>00172 {
+<a name="l00173"></a>00173 PointDistanceStrategy strategy;
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 <span class="comment">// Copy coordinates, a vector of references to all points</span>
+<a name="l00176"></a>00176 std::vector<dp_point_type> ref_candidates(boost::begin(range),
+<a name="l00177"></a>00177 boost::end(range));
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179 <span class="comment">// Include first and last point of line, </span>
+<a name="l00180"></a>00180 <span class="comment">// they are always part of the line</span>
+<a name="l00181"></a>00181 <span class="keywordtype">int</span> n = 2;
+<a name="l00182"></a>00182 ref_candidates.front().included = <span class="keyword">true</span>;
+<a name="l00183"></a>00183 ref_candidates.back().included = <span class="keyword">true</span>;
+<a name="l00184"></a>00184
+<a name="l00185"></a>00185 <span class="comment">// Get points, recursively, including them if they are further away </span>
+<a name="l00186"></a>00186 <span class="comment">// than the specified distance</span>
+<a name="l00187"></a>00187 <span class="keyword">typedef</span> <span class="keyword">typename</span> PointDistanceStrategy::return_type return_type;
+<a name="l00188"></a>00188
+<a name="l00189"></a>00189 consider(boost::begin(ref_candidates), boost::end(ref_candidates),
+<a name="l00190"></a>00190 make_distance_result<return_type>(max_distance), n, strategy);
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192 <span class="comment">// Copy included elements to the output</span>
+<a name="l00193"></a>00193 <span class="keywordflow">for</span>(<span class="keyword">typename</span> std::vector<dp_point_type>::const_iterator it
+<a name="l00194"></a>00194 = boost::begin(ref_candidates);
+<a name="l00195"></a>00195 it != boost::end(ref_candidates);
+<a name="l00196"></a>00196 ++it)
+<a name="l00197"></a>00197 {
+<a name="l00198"></a>00198 <span class="keywordflow">if</span> (it->included)
+<a name="l00199"></a>00199 {
+<a name="l00200"></a>00200 <span class="comment">// copy-coordinates does not work because OutputIterator</span>
+<a name="l00201"></a>00201 <span class="comment">// does not model Point (??)</span>
+<a name="l00202"></a>00202 <span class="comment">//ggl::copy_coordinates(it->p, *out);</span>
+<a name="l00203"></a>00203 *out = it->p;
+<a name="l00204"></a>00204 out++;
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207 <span class="keywordflow">return</span> out;
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209
+<a name="l00210"></a>00210 };
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212 }} <span class="comment">// namespace strategy::simplify</span>
+<a name="l00213"></a>00213
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215 } <span class="comment">// namespace ggl</span>
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217 <span class="preprocessor">#endif // GGL_STRATEGY_AGNOSTIC_SIMPLIFY_DOUGLAS_PEUCKER_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__area_8hpp_source.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/sph__area_8hpp_source.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -48,11 +48,11 @@
<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_GEOMETRY_STRATEGIES_SPHERICAL_SPH_AREA_HPP</span>
-<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define GGL_GEOMETRY_STRATEGIES_SPHERICAL_SPH_AREA_HPP</span>
+<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="haversine_8hpp.html">ggl/strategies/spherical/haversine.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>
@@ -189,7 +189,7 @@
<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_GEOMETRY_STRATEGIES_SPHERICAL_SPH_AREA_HPP</span>
+<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%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -57,151 +57,150 @@
<a name="l00015"></a>00015 <span class="comment">// NOTE: maybe evaluate/rework this using new "compare" strategy</span>
<a name="l00016"></a>00016 <span class="comment">// - implement "compare" for latlong (e.g. return true if distance-difference < 90 deg, so 170 < -170 but 90 > -180)</span>
<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#include <<a class="code" href="haversine_8hpp.html">ggl/strategies/spherical/haversine.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 <span class="keyword">namespace </span>strategy
-<a name="l00023"></a>00023 {
-<a name="l00024"></a>00024 <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 latlong-points</span>
-<a name="l00027"></a><a class="code" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">00027</a> <span class="keyword">namespace </span>shift
-<a name="l00028"></a>00028 {
-<a name="l00029"></a>00029 <span class="keyword">template</span> <<span class="keyword">typename</span> D>
-<a name="l00030"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">00030</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a>
-<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><>
-<a name="l00035"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">00035</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a><<a class="code" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>>
-<a name="l00036"></a>00036 {
-<a name="l00037"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">00037</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">shift</a>() { <span class="keywordflow">return</span> <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>; }
-<a name="l00038"></a>00038 };
-<a name="l00039"></a>00039 <span class="keyword">template</span><>
-<a name="l00040"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">00040</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a><<a class="code" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a>>
-<a name="l00041"></a>00041 {
-<a name="l00042"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">00042</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">shift</a>() { <span class="keywordflow">return</span> 360.0; }
-<a name="l00043"></a>00043 };
-<a name="l00044"></a>00044
-<a name="l00045"></a>00045 }
-<a name="l00046"></a>00046
-<a name="l00061"></a>00061 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
-<a name="l00062"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">00062</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</a>
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064
-<a name="l00065"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">00065</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state</a>
-<a name="l00066"></a>00066 {
-<a name="l00067"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">00067</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<B>::type</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>;
-<a name="l00068"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">00068</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a>;
-<a name="l00069"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">00069</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a>;
-<a name="l00070"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">00070</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a>;
-<a name="l00071"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">00071</a> B& <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">mbr</a>;
-<a name="l00072"></a>00072
-<a name="l00073"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">00073</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">state</a>(B& b)
-<a name="l00074"></a>00074 : <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">mbr</a>(b)
-<a name="l00075"></a>00075 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a>(false)
-<a name="l00076"></a>00076 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::highest())
-<a name="l00077"></a>00077 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::highest())
-<a name="l00078"></a>00078 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::highest())
-<a name="l00079"></a>00079 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::lowest())
-<a name="l00080"></a>00080 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::lowest())
-<a name="l00081"></a>00081 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::lowest())
-<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> T>
-<a name="l00085"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">00085</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>& value, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>& min_value, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>& max_value)
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <span class="keywordflow">if</span> (value < min_value)
-<a name="l00088"></a>00088 {
-<a name="l00089"></a>00089 min_value = value;
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091 <span class="keywordflow">if</span> (value > max_value)
-<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093 max_value = value;
-<a name="l00094"></a>00094 }
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096
-<a name="l00097"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">00097</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">grow</a>(<span class="keyword">const</span> P& p)
-<a name="l00098"></a>00098 {
-<a name="l00099"></a>00099 <span class="comment">// For latitude, we can take the min/max</span>
-<a name="l00100"></a>00100 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(get<1>(p), <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a>);
+<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 <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="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
+<a name="l00027"></a>00027 {
+<a name="l00028"></a>00028 <span class="keyword">template</span> <<span class="keyword">typename</span> D>
+<a name="l00029"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">00029</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a>
+<a name="l00030"></a>00030 {
+<a name="l00031"></a>00031 };
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keyword">template</span><>
+<a name="l00034"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html">00034</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a><<a class="code" href="classggl_1_1radian.html" title="Unit of plan angles: radians.">radian</a>>
+<a name="l00035"></a>00035 {
+<a name="l00036"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">00036</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html#190d1b26ee176ef44202ae326af8d1b4">shift</a>() { <span class="keywordflow">return</span> <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>; }
+<a name="l00037"></a>00037 };
+<a name="l00038"></a>00038 <span class="keyword">template</span><>
+<a name="l00039"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html">00039</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shifted</a><<a class="code" href="classggl_1_1degree.html" title="Unit of plan angles: degrees.">degree</a>>
+<a name="l00040"></a>00040 {
+<a name="l00041"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">00041</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html#6dc89bfc493d2a8abca5e257729089c3">shift</a>() { <span class="keywordflow">return</span> 360.0; }
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045
+<a name="l00060"></a>00060 <span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
+<a name="l00061"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">00061</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html">grow_ll</a>
+<a name="l00062"></a>00062 {
+<a name="l00063"></a>00063
+<a name="l00064"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">00064</a> <span class="keyword">struct </span><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state</a>
+<a name="l00065"></a>00065 {
+<a name="l00066"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">00066</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<B>::type</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>;
+<a name="l00067"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">00067</a> <span class="keywordtype">bool</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a>;
+<a name="l00068"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">00068</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a>;
+<a name="l00069"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">00069</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a>;
+<a name="l00070"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">00070</a> B& <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">mbr</a>;
+<a name="l00071"></a>00071
+<a name="l00072"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">00072</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e7472309bf08955ee6e41f15f6124516">state</a>(B& b)
+<a name="l00073"></a>00073 : <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">mbr</a>(b)
+<a name="l00074"></a>00074 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a>(false)
+<a name="l00075"></a>00075 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::highest())
+<a name="l00076"></a>00076 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::highest())
+<a name="l00077"></a>00077 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::highest())
+<a name="l00078"></a>00078 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::lowest())
+<a name="l00079"></a>00079 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::lowest())
+<a name="l00080"></a>00080 , <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a>(boost::numeric::bounds<<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>>::lowest())
+<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>
+<a name="l00084"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">00084</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(<span class="keyword">const</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>& value, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>& min_value, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a>& max_value)
+<a name="l00085"></a>00085 {
+<a name="l00086"></a>00086 <span class="keywordflow">if</span> (value < min_value)
+<a name="l00087"></a>00087 {
+<a name="l00088"></a>00088 min_value = value;
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090 <span class="keywordflow">if</span> (value > max_value)
+<a name="l00091"></a>00091 {
+<a name="l00092"></a>00092 max_value = value;
+<a name="l00093"></a>00093 }
+<a name="l00094"></a>00094 }
+<a name="l00095"></a>00095
+<a name="l00096"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">00096</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">grow</a>(<span class="keyword">const</span> P& p)
+<a name="l00097"></a>00097 {
+<a name="l00098"></a>00098 <span class="comment">// For latitude, we can take the min/max</span>
+<a name="l00099"></a>00099 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(get<1>(p), <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a>);
+<a name="l00100"></a>00100
<a name="l00101"></a>00101
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <span class="comment">// For longitude, we do the same...</span>
-<a name="l00104"></a>00104 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(get<0>(p), <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>);
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="comment">// But we also add 360 (2pi) if it is negative</span>
-<a name="l00107"></a>00107 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> value = get<0>(p);
-<a name="l00108"></a>00108 <span class="keywordflow">while</span>(value < 0)
-<a name="l00109"></a>00109 {
-<a name="l00110"></a>00110 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a> = <span class="keyword">true</span>;
-<a name="l00111"></a>00111 value += <a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shift::shifted<typename coordinate_system<P>::type::units</a>>::shift();
-<a name="l00112"></a>00112 }
-<a name="l00113"></a>00113 <span class="keywordflow">while</span> (value > <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>)
-<a name="l00114"></a>00114 {
-<a name="l00115"></a>00115 value -= <a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shift::shifted<typename coordinate_system<P>::type::units</a>>::shift();
-<a name="l00116"></a>00116 }
-<a name="l00117"></a>00117 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(value, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a>);
-<a name="l00118"></a>00118 }
-<a name="l00119"></a>00119
-<a name="l00120"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#942d57c72565b6b3dcd03fe213c4ad98">00120</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#942d57c72565b6b3dcd03fe213c4ad98">~state</a>()
-<a name="l00121"></a>00121 <span class="comment">//void envelope(box<PB>& mbr)</span>
-<a name="l00122"></a>00122 {
-<a name="l00123"></a>00123 <span class="comment">// For latitude it is easy</span>
-<a name="l00124"></a>00124 set<min_corner, 1>(<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">mbr</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a>);
-<a name="l00125"></a>00125 set<max_corner, 1>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a>);
-<a name="l00126"></a>00126
-<a name="l00127"></a>00127 <span class="keywordflow">if</span> (! <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a>)
-<a name="l00128"></a>00128 {
-<a name="l00129"></a>00129 set<min_corner, 0>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>);
-<a name="l00130"></a>00130 set<max_corner, 0>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>);
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132 <span class="keywordflow">else</span>
-<a name="l00133"></a>00133 {
-<a name="l00134"></a>00134 <span class="comment">// Get both ranges</span>
-<a name="l00135"></a>00135 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> diff1 = <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a> - <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>;
-<a name="l00136"></a>00136 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> diff2 = <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a> - <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a>;
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="comment">//std::cout << "range 1: " << min_lon1 * math::r2d << ".." << max_lon1 * math::r2d << std::endl;</span>
-<a name="l00139"></a>00139 <span class="comment">//std::cout << "range 2: " << min_lon2 * math::r2d << ".." << max_lon2 * math::r2d << std::endl;</span>
-<a name="l00140"></a>00140
-<a name="l00141"></a>00141 <span class="keywordflow">if</span> (diff1 <= diff2)
-<a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 set<min_corner, 0>(mbr, min_lon1);
-<a name="l00144"></a>00144 set<max_corner, 0>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>);
-<a name="l00145"></a>00145 }
-<a name="l00146"></a>00146 <span class="keywordflow">else</span>
-<a name="l00147"></a>00147 {
-<a name="l00148"></a>00148 set<min_corner, 0>(mbr, min_lon2);
-<a name="l00149"></a>00149 set<max_corner, 0>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a>);
-<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><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#8f49bd3eba8c415f56e24d4085e2b1be">00155</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state_type</a>;
-<a name="l00156"></a>00156
-<a name="l00157"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">00157</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">operator()</a>(<span class="keyword">const</span> P& p, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state_type</a>& s)<span class="keyword"> const</span>
-<a name="l00158"></a>00158 <span class="keyword"> </span>{
-<a name="l00159"></a>00159 s.<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">grow</a>(p);
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161 };
-<a name="l00162"></a>00162 } <span class="comment">// namespace envelope</span>
-<a name="l00163"></a>00163 } <span class="comment">// namespace strategy</span>
+<a name="l00102"></a>00102 <span class="comment">// For longitude, we do the same...</span>
+<a name="l00103"></a>00103 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(get<0>(p), <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>);
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="comment">// But we also add 360 (2pi) if it is negative</span>
+<a name="l00106"></a>00106 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> value = get<0>(p);
+<a name="l00107"></a>00107 <span class="keywordflow">while</span>(value < 0)
+<a name="l00108"></a>00108 {
+<a name="l00109"></a>00109 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a> = <span class="keyword">true</span>;
+<a name="l00110"></a>00110 value += <a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shift::shifted<typename coordinate_system<P>::type::units</a>>::shift();
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 <span class="keywordflow">while</span> (value > <a class="code" href="namespaceggl_1_1math.html#48e76b75db9d3d5685245cfbfd1c821e">math::two_pi</a>)
+<a name="l00113"></a>00113 {
+<a name="l00114"></a>00114 value -= <a class="code" href="structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html">shift::shifted<typename coordinate_system<P>::type::units</a>>::shift();
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#889b7eeef1d373c2895b08a58b2eb386">take_minmax</a>(value, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a>);
+<a name="l00117"></a>00117 }
+<a name="l00118"></a>00118
+<a name="l00119"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#942d57c72565b6b3dcd03fe213c4ad98">00119</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#942d57c72565b6b3dcd03fe213c4ad98">~state</a>()
+<a name="l00120"></a>00120 <span class="comment">//void envelope(box<PB>& mbr)</span>
+<a name="l00121"></a>00121 {
+<a name="l00122"></a>00122 <span class="comment">// For latitude it is easy</span>
+<a name="l00123"></a>00123 set<min_corner, 1>(<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#ce5b18d34b88c63c3b35198370dd947e">mbr</a>, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#f29ab2f455444e3dc92d22ac62add570">min_lat</a>);
+<a name="l00124"></a>00124 set<max_corner, 1>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#2201a3f05376ad97399f34bf6d6043d4">max_lat</a>);
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126 <span class="keywordflow">if</span> (! <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#e1071544a91b9e47caf7a7af12c885cb">has_west</a>)
+<a name="l00127"></a>00127 {
+<a name="l00128"></a>00128 set<min_corner, 0>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>);
+<a name="l00129"></a>00129 set<max_corner, 0>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>);
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 <span class="keywordflow">else</span>
+<a name="l00132"></a>00132 {
+<a name="l00133"></a>00133 <span class="comment">// Get both ranges</span>
+<a name="l00134"></a>00134 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> diff1 = <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a> - <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#534528aad828ca28260ca496d1ca89a9">min_lon1</a>;
+<a name="l00135"></a>00135 <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#4cb442f681af66944c84e593cc485748">T</a> diff2 = <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a> - <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#94725f05c9b3cdaeea0098260f7babc8">min_lon2</a>;
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="comment">//std::cout << "range 1: " << min_lon1 * math::r2d << ".." << max_lon1 * math::r2d << std::endl;</span>
+<a name="l00138"></a>00138 <span class="comment">//std::cout << "range 2: " << min_lon2 * math::r2d << ".." << max_lon2 * math::r2d << std::endl;</span>
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keywordflow">if</span> (diff1 <= diff2)
+<a name="l00141"></a>00141 {
+<a name="l00142"></a>00142 set<min_corner, 0>(mbr, min_lon1);
+<a name="l00143"></a>00143 set<max_corner, 0>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#fe85bd912fea074a5d04e31b0e799880">max_lon1</a>);
+<a name="l00144"></a>00144 }
+<a name="l00145"></a>00145 <span class="keywordflow">else</span>
+<a name="l00146"></a>00146 {
+<a name="l00147"></a>00147 set<min_corner, 0>(mbr, min_lon2);
+<a name="l00148"></a>00148 set<max_corner, 0>(mbr, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#a47697f286fa8f5f0eb4e40df7dfd8e0">max_lon2</a>);
+<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
+<a name="l00154"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#8f49bd3eba8c415f56e24d4085e2b1be">00154</a> <span class="keyword">typedef</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state</a> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state_type</a>;
+<a name="l00155"></a>00155
+<a name="l00156"></a><a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">00156</a> <span class="keywordtype">void</span> <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll.html#0a66b9fd4e7caf701344b9412cf0df5b">operator()</a>(<span class="keyword">const</span> P& p, <a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html">state_type</a>& s)<span class="keyword"> const</span>
+<a name="l00157"></a>00157 <span class="keyword"> </span>{
+<a name="l00158"></a>00158 s.<a class="code" href="structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html#6fc324d20c8daa360438eadd15c4d2ec">grow</a>(p);
+<a name="l00159"></a>00159 }
+<a name="l00160"></a>00160 };
+<a name="l00161"></a>00161 } <span class="comment">// namespace envelope</span>
+<a name="l00162"></a>00162 } <span class="comment">// namespace strategy</span>
+<a name="l00163"></a>00163
<a name="l00164"></a>00164
-<a name="l00165"></a>00165
-<a name="l00166"></a>00166 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
-<a name="l00167"></a>00167 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
-<a name="l00168"></a>00168 <span class="keyword">struct </span>strategy_envelope<geographic_tag, geographic_tag, P, B>
-<a name="l00169"></a>00169 {
-<a name="l00170"></a>00170 <span class="keyword">typedef</span> strategy::envelope::grow_ll<P, B> <a class="code" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">type</a>;
-<a name="l00171"></a>00171 };
-<a name="l00172"></a>00172 <span class="preprocessor">#endif</span>
-<a name="l00173"></a>00173 <span class="preprocessor"></span>
-<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_GEOMETRY_STRATEGIES_SPHERICAL_SPH_ENVELOPE_HPP</span>
+<a name="l00165"></a>00165 <span class="preprocessor">#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS</span>
+<a name="l00166"></a>00166 <span class="preprocessor"></span><span class="keyword">template</span> <<span class="keyword">typename</span> P, <span class="keyword">typename</span> B>
+<a name="l00167"></a>00167 <span class="keyword">struct </span>strategy_envelope<geographic_tag, geographic_tag, P, B>
+<a name="l00168"></a>00168 {
+<a name="l00169"></a>00169 <span class="keyword">typedef</span> strategy::envelope::grow_ll<P, B> <a class="code" href="structggl_1_1strategy__envelope.html#3254d57340b4c3fc7ff081522627cbc2">type</a>;
+<a name="l00170"></a>00170 };
+<a name="l00171"></a>00171 <span class="preprocessor">#endif</span>
+<a name="l00172"></a>00172 <span class="preprocessor"></span>
+<a name="l00173"></a>00173 } <span class="comment">// namespace ggl</span>
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175 <span class="preprocessor">#endif // GGL_GEOMETRY_STRATEGIES_SPHERICAL_SPH_ENVELOPE_HPP</span>
</pre></div></div>
<hr size="1">
<table width="100%">
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -62,22 +62,24 @@
<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="sph__area_8hpp.html">ggl/strategies/spherical/sph_area.hpp</a>></span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="haversine_8hpp.html">ggl/strategies/spherical/haversine.hpp</a>></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="sph__envelope_8hpp.html">ggl/strategies/spherical/sph_envelope.hpp</a>></span>
-<a name="l00026"></a>00026
-<a name="l00027"></a>00027 <span class="preprocessor">#include <<a class="code" href="agn__convex__hull_8hpp.html">ggl/strategies/agnostic/agn_convex_hull.hpp</a>></span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="agn__simplify_8hpp.html">ggl/strategies/agnostic/agn_simplify.hpp</a>></span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include <<a class="code" href="agn__within_8hpp.html">ggl/strategies/agnostic/agn_within.hpp</a>></span>
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="preprocessor">#include <<a class="code" href="strategy__transform_8hpp.html">ggl/strategies/strategy_transform.hpp</a>></span>
+<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="matrix__transformers_8hpp.html">ggl/strategies/transform/matrix_transformers.hpp</a>></span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include <<a class="code" href="map__transformer_8hpp.html">ggl/strategies/transform/map_transformer.hpp</a>></span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include <<a class="code" href="inverse__transformer_8hpp.html">ggl/strategies/transform/inverse_transformer.hpp</a>></span>
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="preprocessor">#endif // GGL_STRATEGIES_HPP</span>
+<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="l00039"></a>00039
+<a name="l00040"></a>00040 <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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -127,7 +127,7 @@
<a name="l00096"></a>00096 <span class="comment">// Defensive check, dimensions are equal, selected by specialization</span>
<a name="l00097"></a>00097 assert_dimension_equal<P1, P2>();
<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <a class="code" href="namespaceggl.html#173003fecd63871d3a6aee07f4ba7011" title="Copies coordinates from source to destination point.">copy_coordinates</a>(p1, p2);
+<a name="l00099"></a>00099 <a class="code" href="namespaceggl.html#f8cee6dd577bebfd1dbbe4cc503304d4" title="Copies coordinates from source to destination point.">copy_coordinates</a>(p1, p2);
<a name="l00100"></a>00100 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00101"></a>00101 }
<a name="l00102"></a>00102 };
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1area__result.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -65,7 +65,7 @@
struct ggl::area_result< Geometry ></h3>
-<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00194">194</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#l00231">231</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="d6428313802f153cd99b803ecde23872"></a><!-- doxytag: member="ggl::area_result::point_type" ref="d6428313802f153cd99b803ecde23872" args="" -->
<div class="memitem">
@@ -82,7 +82,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00196">196</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#l00233">233</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
</div>
</div><p>
@@ -101,7 +101,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00201">201</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#l00238">238</a> of file <a class="el" href="algorithms_2area_8hpp_source.html">area.hpp</a>.</p>
</div>
</div><p>
@@ -120,7 +120,7 @@
<p>
-<p>Definition at line <a class="el" href="algorithms_2area_8hpp_source.html#l00202">202</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#l00239">239</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/structggl_1_1as__range__type-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -44,7 +44,7 @@
</div>
<div class="contents">
<h1>ggl::as_range_type< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type< Geometry ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a> typedef</td><td><a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type< Geometry ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">type</a> typedef</td><td><a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type< Geometry ></a></td><td></td></tr>
</table></div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1as__range__type.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -59,7 +59,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
dispatch::as_range_type<br class="typebreak">
< typename <a class="el" href="structggl_1_1tag.html">tag</a>< Geometry ><br class="typebreak">
-::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a>, Geometry >::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a></td></tr>
+::<a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">type</a>, <a class="el" href="structggl_1_1is__multi.html">is_multi</a>< Geometry ><br class="typebreak">
+::type::value, Geometry ><br class="typebreak">
+::<a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">type</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -69,16 +71,16 @@
Meta-function utility returning either type itself, or outer ring.
<p>
Utility to handle polygon's outer ring as a range
-<p>Definition at line <a class="el" href="as__range_8hpp_source.html#l00067">67</a> of file <a class="el" href="as__range_8hpp_source.html">as_range.hpp</a>.</p>
+<p>Definition at line <a class="el" href="as__range_8hpp_source.html#l00089">89</a> of file <a class="el" href="as__range_8hpp_source.html">as_range.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="0ca47e830e61d4f6c0b33c5e8eaa5c4e"></a><!-- doxytag: member="ggl::as_range_type::type" ref="0ca47e830e61d4f6c0b33c5e8eaa5c4e" args="" -->
+<a class="anchor" name="2d2dc7b2cf9bc92752f111975eb47ac8"></a><!-- doxytag: member="ggl::as_range_type::type" ref="2d2dc7b2cf9bc92752f111975eb47ac8" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template<typename Geometry > </div>
+template<typename Geometry> </div>
<table class="memname">
<tr>
- <td class="memname">typedef dispatch::as_range_type< typename <a class="el" href="structggl_1_1tag.html">tag</a><Geometry>::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a>, Geometry >::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a> <a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type</a>< Geometry >::<a class="el" href="structggl_1_1as__range__type.html#0ca47e830e61d4f6c0b33c5e8eaa5c4e">type</a> </td>
+ <td class="memname">typedef dispatch::as_range_type< typename <a class="el" href="structggl_1_1tag.html">tag</a><Geometry>::<a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">type</a>, <a class="el" href="structggl_1_1is__multi.html">is_multi</a><Geometry>::type::value, Geometry >::<a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">type</a> <a class="el" href="structggl_1_1as__range__type.html">ggl::as_range_type</a>< Geometry >::<a class="el" href="structggl_1_1as__range__type.html#2d2dc7b2cf9bc92752f111975eb47ac8">type</a> </td>
</tr>
</table>
</div>
@@ -86,7 +88,7 @@
<p>
-<p>Definition at line <a class="el" href="as__range_8hpp_source.html#l00073">73</a> of file <a class="el" href="as__range_8hpp_source.html">as_range.hpp</a>.</p>
+<p>Definition at line <a class="el" href="as__range_8hpp_source.html#l00096">96</a> of file <a class="el" href="as__range_8hpp_source.html">as_range.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -147,7 +147,7 @@
test1(p);
test2(p);
}
-} <span class="comment">//:\\</span>
+} <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>
@@ -203,7 +203,7 @@
example_point_2 p(1,2);
test3(p);
}
-} <span class="comment">//:\\</span>
+} <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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy-members.html 2009-10-21 05:23:22 EDT (Wed, 21 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::PointDistanceStrategy< Strategy > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy< Strategy ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html#902301c0010222a56dd61cf69d2ee893">BOOST_CONCEPT_USAGE</a>(PointDistanceStrategy)</td><td><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy< 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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_distance_strategy.html 2009-10-21 05:23:22 EDT (Wed, 21 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="structggl_1_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::PointDistanceStrategy< Strategy > Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::PointDistanceStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance.
+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>apply_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="structggl_1_1concept_1_1_point_distance_strategy.html#902301c0010222a56dd61cf69d2ee893">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Strategy><br>
+ struct ggl::concept::PointDistanceStrategy< Strategy ></h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance.
+<p>Definition at line <a class="el" href="distance__concept_8hpp_source.html#l00028">28</a> of file <a class="el" href="distance__concept_8hpp_source.html">distance_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="902301c0010222a56dd61cf69d2ee893"></a><!-- doxytag: member="ggl::concept::PointDistanceStrategy::BOOST_CONCEPT_USAGE" ref="902301c0010222a56dd61cf69d2ee893" args="(PointDistanceStrategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Strategy > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">ggl::concept::PointDistanceStrategy</a>< Strategy >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_point_distance_strategy.html">PointDistanceStrategy</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="distance__concept_8hpp_source.html#l00057">57</a> of file <a class="el" href="distance__concept_8hpp_source.html">distance_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_1_point_segment_distance_strategy-members.html 2009-10-21 05:23:22 EDT (Wed, 21 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::PointSegmentDistanceStrategy< Strategy > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy< Strategy ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html#91386bae305551b33feb8399bf3ea441">BOOST_CONCEPT_USAGE</a>(PointSegmentDistanceStrategy)</td><td><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy< 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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_point_segment_distance_strategy.html 2009-10-21 05:23:22 EDT (Wed, 21 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="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::PointSegmentDistanceStrategy< Strategy > Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::PointSegmentDistanceStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance.
+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>apply_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="structggl_1_1concept_1_1_point_segment_distance_strategy.html#91386bae305551b33feb8399bf3ea441">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Strategy><br>
+ struct ggl::concept::PointSegmentDistanceStrategy< Strategy ></h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for point-segment-distance.
+<p>Definition at line <a class="el" href="distance__concept_8hpp_source.html#l00069">69</a> of file <a class="el" href="distance__concept_8hpp_source.html">distance_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="91386bae305551b33feb8399bf3ea441"></a><!-- doxytag: member="ggl::concept::PointSegmentDistanceStrategy::BOOST_CONCEPT_USAGE" ref="91386bae305551b33feb8399bf3ea441" args="(PointSegmentDistanceStrategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Strategy > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">ggl::concept::PointSegmentDistanceStrategy</a>< Strategy >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_point_segment_distance_strategy.html">PointSegmentDistanceStrategy</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="distance__concept_8hpp_source.html#l00105">105</a> of file <a class="el" href="distance__concept_8hpp_source.html">distance_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_1_simplify_strategy-members.html 2009-10-21 05:23:22 EDT (Wed, 21 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::SimplifyStrategy< Strategy > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy< Strategy ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html#457fbf2fa1075f00c6d8090d47e1fc3d">BOOST_CONCEPT_USAGE</a>(SimplifyStrategy)</td><td><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy< 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>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1concept_1_1_simplify_strategy.html 2009-10-21 05:23:22 EDT (Wed, 21 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="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::concept::SimplifyStrategy< Strategy > Struct Template Reference<br>
+<small>
+[<a class="el" href="group__concepts.html">concept checking</a>]</small>
+</h1><!-- doxytag: class="ggl::concept::SimplifyStrategy" -->Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify.
+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>apply_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="structggl_1_1concept_1_1_simplify_strategy.html#457fbf2fa1075f00c6d8090d47e1fc3d">BOOST_CONCEPT_USAGE</a> (<a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</a>)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Strategy><br>
+ struct ggl::concept::SimplifyStrategy< Strategy ></h3>
+
+Checks <a class="el" href="namespaceggl_1_1strategy.html">strategy</a> for simplify.
+<p>Definition at line <a class="el" href="simplify__concept_8hpp_source.html#l00027">27</a> of file <a class="el" href="simplify__concept_8hpp_source.html">simplify_concept.hpp</a>.</p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="457fbf2fa1075f00c6d8090d47e1fc3d"></a><!-- doxytag: member="ggl::concept::SimplifyStrategy::BOOST_CONCEPT_USAGE" ref="457fbf2fa1075f00c6d8090d47e1fc3d" args="(SimplifyStrategy)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Strategy > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">ggl::concept::SimplifyStrategy</a>< Strategy >::BOOST_CONCEPT_USAGE </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structggl_1_1concept_1_1_simplify_strategy.html">SimplifyStrategy</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="simplify__concept_8hpp_source.html#l00054">54</a> of file <a class="el" href="simplify__concept_8hpp_source.html">simplify_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_1point__const__iterator-members.html 2009-10-21 05:23:22 EDT (Wed, 21 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::point_const_iterator< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1point__const__iterator.html">ggl::point_const_iterator< Geometry ></a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ncg</a> typedef</td><td><a class="el" href="structggl_1_1point__const__iterator.html">ggl::point_const_iterator< Geometry ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a> typedef</td><td><a class="el" href="structggl_1_1point__const__iterator.html">ggl::point_const_iterator< 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>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__const__iterator.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
+++ (empty file)
@@ -1,132 +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_1point__const__iterator.html">point_const_iterator</a>
- </div>
-</div>
-<div class="contents">
-<h1>ggl::point_const_iterator< Geometry > Struct Template Reference</h1><!-- doxytag: class="ggl::point_const_iterator" -->Meta-function which defines point-const-iterator 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::remove_const<br class="typebreak">
-< Geometry >::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ncg</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak">
-dispatch::point_const_iterator<br class="typebreak">
-< typename <a class="el" href="structggl_1_1tag.html">tag</a>< Geometry ><br class="typebreak">
-::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a>, <a class="el" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ncg</a> >::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Geometry><br>
- struct ggl::point_const_iterator< Geometry ></h3>
-
-Meta-function which defines point-const-iterator type.
-<p>Definition at line <a class="el" href="iterators_2point__const__iterator_8hpp_source.html#l00063">63</a> of file <a class="el" href="iterators_2point__const__iterator_8hpp_source.html">point_const_iterator.hpp</a>.</p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="57e35b1429bdc4d2100c488d5894d4df"></a><!-- doxytag: member="ggl::point_const_iterator::ncg" ref="57e35b1429bdc4d2100c488d5894d4df" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Geometry> </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef boost::remove_const<Geometry>::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a> <a class="el" href="structggl_1_1point__const__iterator.html">ggl::point_const_iterator</a>< Geometry >::<a class="el" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ncg</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="iterators_2point__const__iterator_8hpp_source.html#l00065">65</a> of file <a class="el" href="iterators_2point__const__iterator_8hpp_source.html">point_const_iterator.hpp</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c7e46433fc9d62ee9e7a4db10da7df50"></a><!-- doxytag: member="ggl::point_const_iterator::type" ref="c7e46433fc9d62ee9e7a4db10da7df50" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Geometry> </div>
- <table class="memname">
- <tr>
- <td class="memname">typedef dispatch::point_const_iterator< typename <a class="el" href="structggl_1_1tag.html">tag</a><Geometry>::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a>, <a class="el" href="structggl_1_1point__const__iterator.html#57e35b1429bdc4d2100c488d5894d4df">ncg</a>>::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a> <a class="el" href="structggl_1_1point__const__iterator.html">ggl::point_const_iterator</a>< Geometry >::<a class="el" href="structggl_1_1point__const__iterator.html#c7e46433fc9d62ee9e7a4db10da7df50">type</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Definition at line <a class="el" href="iterators_2point__const__iterator_8hpp_source.html#l00067">67</a> of file <a class="el" href="iterators_2point__const__iterator_8hpp_source.html">point_const_iterator.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_1point__order-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,71 @@
+<!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::point_order< Geometry > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1point__order.html">ggl::point_order< Geometry ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a> typedef</td><td><a class="el" href="structggl_1_1point__order.html">ggl::point_order< Geometry ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">value</a></td><td><a class="el" href="structggl_1_1point__order.html">ggl::point_order< Geometry ></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_1point__order.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,139 @@
+<!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_1point__order.html">point_order</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::point_order< Geometry > Struct Template Reference<br>
+<small>
+[<a class="el" href="group__core.html">core: meta-functions for geometry types</a>]</small>
+</h1><!-- doxytag: class="ggl::point_order" -->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.
+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::remove_const<br class="typebreak">
+< Geometry >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">value</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry><br>
+ struct ggl::point_order< Geometry ></h3>
+
+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.
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00086">86</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="6a3c9d8f3b050a4f040c4f244fce6fd4"></a><!-- doxytag: member="ggl::point_order::ncg" ref="6a3c9d8f3b050a4f040c4f244fce6fd4" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef boost::remove_const<Geometry>::type <a class="el" href="structggl_1_1point__order.html">ggl::point_order</a>< Geometry >::<a class="el" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00088">88</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="2ec9d56b715d2ecd6e6cb55434d40258"></a><!-- doxytag: member="ggl::point_order::value" ref="2ec9d56b715d2ecd6e6cb55434d40258" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="el" href="structggl_1_1point__order.html">ggl::point_order</a>< Geometry >::<a class="el" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">value</a><code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre class="fragment"> core_dispatch::point_order
+ <
+ <span class="keyword">typename</span> tag<Geometry>::type,
+ <a class="code" href="structggl_1_1point__order.html#6a3c9d8f3b050a4f040c4f244fce6fd4">ncg</a>
+ ><a class="code" href="structggl_1_1point__order.html#2ec9d56b715d2ecd6e6cb55434d40258">::value</a>
+</pre></div>
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00089">89</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.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_1point__type.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1point__type.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -72,7 +72,7 @@
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. <dl compact><dt><b>Examples: </b></dt><dd>
<p>
-<a class="el" href="02__linestring__example_8cpp-example.html#_a19">02_linestring_example.cpp</a>, and <a class="el" href="07__graph__route__example_8cpp-example.html#_a2">07_graph_route_example.cpp</a>.</dl>
+<a class="el" href="02__linestring__example_8cpp-example.html#_a18">02_linestring_example.cpp</a>, and <a class="el" href="07__graph__route__example_8cpp-example.html#_a2">07_graph_route_example.cpp</a>.</dl>
<p>Definition at line <a class="el" href="core_2point__type_8hpp_source.html#l00096">96</a> of file <a class="el" href="core_2point__type_8hpp_source.html">point_type.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="6e4f57cc434784e7155016375d202b45"></a><!-- doxytag: member="ggl::point_type::ncg" ref="6e4f57cc434784e7155016375d202b45" args="" -->
==============================================================================
--- 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-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -97,7 +97,7 @@
</table>
</dl>
-<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>
+<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>
<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#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#l00059">59</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#l00077">77</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>
@@ -158,7 +158,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#l00061">61</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#l00065">65</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>
@@ -196,7 +196,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#l00063">63</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#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#l00064">64</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#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#l00066">66</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#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#l00067">67</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#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#l00068">68</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#l00072">72</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>
@@ -310,7 +310,7 @@
<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>
+<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>
@@ -329,7 +329,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#l00071">71</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-21 05:23:22 EDT (Wed, 21 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#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#l00100">100</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#l00105">105</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#l00102">102</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#l00106">106</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>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1segment__iterator.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -296,7 +296,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00055">55</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00053">53</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
@@ -320,7 +320,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00068">68</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00066">66</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
@@ -343,7 +343,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00078">78</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00076">76</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
@@ -366,7 +366,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00083">83</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00081">81</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
@@ -390,7 +390,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00090">90</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00088">88</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
@@ -413,7 +413,7 @@
<p>
-<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00097">97</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
+<p>Definition at line <a class="el" href="segment__iterator_8hpp_source.html#l00095">95</a> of file <a class="el" href="segment__iterator_8hpp_source.html">segment_iterator.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -46,6 +46,7 @@
<h1>ggl::strategy::distance::pythagoras< P1, P2, CalculationType > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#da96ada6f45642ee8e773e660cf6fb1a">operator()</a>(P1 const &p1, P2 const &p2) const </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#4a6f6649a2e25a6c584c29a5c6a3bee0">point_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">return_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras< P1, P2, CalculationType ></a></td><td></td></tr>
</table></div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1pythagoras.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -64,6 +64,8 @@
::type, CalculationType ><br class="typebreak">
::type </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef P1 </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#4a6f6649a2e25a6c584c29a5c6a3bee0">point_type</a></td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a><br class="typebreak">
< <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#bc86abbd7440ed39ba7e78d40c304e6b">calculation_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html#0e3ccd19d8d1c63360ba93be700c39a4">return_type</a></td></tr>
@@ -108,6 +110,25 @@
</div>
</div><p>
+<a class="anchor" name="4a6f6649a2e25a6c584c29a5c6a3bee0"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::point_type" ref="4a6f6649a2e25a6c584c29a5c6a3bee0" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename P1 , typename P2 = P1, typename CalculationType = void> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef P1 <a class="el" href="structggl_1_1strategy_1_1distance_1_1pythagoras.html">ggl::strategy::distance::pythagoras</a>< P1, P2, 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="cart__distance_8hpp_source.html#l00093">93</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+
+</div>
+</div><p>
<a class="anchor" name="0e3ccd19d8d1c63360ba93be700c39a4"></a><!-- doxytag: member="ggl::strategy::distance::pythagoras::return_type" ref="0e3ccd19d8d1c63360ba93be700c39a4" args="" -->
<div class="memitem">
<div class="memproto">
@@ -123,7 +144,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00093">93</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00094">94</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
@@ -157,7 +178,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00096">96</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00097">97</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment-members.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -45,9 +45,9 @@
<div class="contents">
<h1>ggl::strategy::distance::xy_point_segment< P, Segment, Strategy > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">coordinate_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#2e1bc521c8c39e2dfcbf4724df4f8b58">distance_strategy_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#7bbdf22f4985080ce60b2efcbf67352b">operator()</a>(P const &p, Segment const &s) const </td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">point_strategy_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#cfb9d185bcc22815ec15d07389ad03b9">point_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">return_type</a> typedef</td><td><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment< P, Segment, Strategy ></a></td><td></td></tr>
</table></div>
<hr size="1">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1distance_1_1xy__point__segment.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -59,10 +59,10 @@
<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, Segment >::type </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#a1bf8289c8a5b0fc97ee2943476a69a7">coordinate_type</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Strategy </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#2e1bc521c8c39e2dfcbf4724df4f8b58">distance_strategy_type</a></td></tr>
-
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Strategy </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#bb6549905e99ca61b13cfc644c91f672">point_strategy_type</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef P </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#cfb9d185bcc22815ec15d07389ad03b9">point_type</a></td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a><br class="typebreak">
< <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_1distance_1_1xy__point__segment.html#a54175d4c138cd7319c8552f43824621">return_type</a></td></tr>
@@ -88,16 +88,16 @@
<li><a class="el" href="structggl_1_1cartesian__distance.html" title="Encapsulate the results of distance calculation.">cartesian_distance</a> operator(P,P) </li></ul>
</dd></dl>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00134">134</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00135">135</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="a1bf8289c8a5b0fc97ee2943476a69a7"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::coordinate_type" ref="a1bf8289c8a5b0fc97ee2943476a69a7" args="" -->
+<a class="anchor" name="cfb9d185bcc22815ec15d07389ad03b9"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::point_type" ref="cfb9d185bcc22815ec15d07389ad03b9" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename P , typename Segment , typename Strategy = pythagoras<P, typename point_type<Segment>::type>> </div>
<table class="memname">
<tr>
- <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><P, Segment>::type <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>< P, Segment, Strategy >::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
+ <td class="memname">typedef P <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>< P, Segment, Strategy >::<a class="el" href="structggl_1_1point__type.html">point_type</a> </td>
</tr>
</table>
</div>
@@ -105,18 +105,18 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00136">136</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00137">137</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="a54175d4c138cd7319c8552f43824621"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::return_type" ref="a54175d4c138cd7319c8552f43824621" args="" -->
+<a class="anchor" name="a1bf8289c8a5b0fc97ee2943476a69a7"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::coordinate_type" ref="a1bf8289c8a5b0fc97ee2943476a69a7" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename P , typename Segment , typename Strategy = pythagoras<P, typename point_type<Segment>::type>> </div>
<table class="memname">
<tr>
- <td class="memname">typedef <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a><<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>> <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>< P, Segment, Strategy >::<a class="el" href="structggl_1_1cartesian__distance.html">return_type</a> </td>
+ <td class="memname">typedef <a class="el" href="structggl_1_1select__coordinate__type.html">select_coordinate_type</a><P, Segment>::type <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>< P, Segment, Strategy >::<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a> </td>
</tr>
</table>
</div>
@@ -124,18 +124,18 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00137">137</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00138">138</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="2e1bc521c8c39e2dfcbf4724df4f8b58"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::distance_strategy_type" ref="2e1bc521c8c39e2dfcbf4724df4f8b58" args="" -->
+<a class="anchor" name="a54175d4c138cd7319c8552f43824621"></a><!-- doxytag: member="ggl::strategy::distance::xy_point_segment::return_type" ref="a54175d4c138cd7319c8552f43824621" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template<typename P , typename Segment , typename Strategy = pythagoras<P, typename point_type<Segment>::type>> </div>
<table class="memname">
<tr>
- <td class="memname">typedef Strategy <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>< P, Segment, Strategy >::<a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html#2e1bc521c8c39e2dfcbf4724df4f8b58">distance_strategy_type</a> </td>
+ <td class="memname">typedef <a class="el" href="structggl_1_1cartesian__distance.html">cartesian_distance</a><<a class="el" href="structggl_1_1coordinate__type.html">coordinate_type</a>> <a class="el" href="structggl_1_1strategy_1_1distance_1_1xy__point__segment.html">ggl::strategy::distance::xy_point_segment</a>< P, Segment, Strategy >::<a class="el" href="structggl_1_1cartesian__distance.html">return_type</a> </td>
</tr>
</table>
</div>
@@ -143,7 +143,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00138">138</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00139">139</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
@@ -162,7 +162,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00139">139</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00141">141</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
@@ -196,7 +196,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00142">142</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00144">144</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -65,7 +65,7 @@
<dl class="user" compact><dt><b>Algorithm:</b></dt><dd>The <a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">envelope</a> of latlong-points cannot be implemented as for xy-points. Suppose the <a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">envelope</a> of the Aleutian Islands must be calculated. The span from 170E to 170W, from -170 to 170. Of course the real <a class="el" href="namespaceggl_1_1strategy_1_1envelope.html">envelope</a> is not -170..170 but 170..-170. On the other hand, there might be geometries that indeed span from -170 to 170. If there are two points, it is not known. If there are points in between, we probably should take the shorter range. So we do that for the moment. We <a class="el" href="namespaceggl_1_1strategy_1_1envelope_1_1shift.html">shift</a> coordinates and do as if we live in a world with longitude coordinates from 0 - 360, where 0 is still at Greenwich. Longitude ranges are then calculated twice: one for real world, one for the shifted world. The s
hortest range is taken for the bounding <a class="el" href="classggl_1_1box.html" title="Class box: defines a box made of two describing points.">box</a>. This might have coordinates > 180 </dd></dl>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00062">62</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00061">61</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="8f49bd3eba8c415f56e24d4085e2b1be"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state_type" ref="8f49bd3eba8c415f56e24d4085e2b1be" args="" -->
<div class="memitem">
@@ -82,7 +82,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00155">155</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00154">154</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -116,7 +116,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00157">157</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00156">156</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1grow__ll_1_1state.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -85,7 +85,7 @@
struct ggl::strategy::envelope::grow_ll< P, B >::state</h3>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00065">65</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00064">64</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="4cb442f681af66944c84e593cc485748"></a><!-- doxytag: member="ggl::strategy::envelope::grow_ll::state::T" ref="4cb442f681af66944c84e593cc485748" args="" -->
<div class="memitem">
@@ -102,7 +102,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00067">67</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00066">66</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -127,7 +127,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00073">73</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00072">72</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -150,7 +150,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00120">120</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00119">119</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -192,7 +192,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00085">85</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00084">84</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -216,7 +216,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00097">97</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00096">96</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -236,7 +236,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00068">68</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00067">67</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -255,7 +255,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00069">69</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00068">68</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -274,7 +274,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00069">69</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00068">68</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -293,7 +293,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00070">70</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00069">69</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -312,7 +312,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00070">70</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00069">69</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -331,7 +331,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00070">70</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00069">69</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -350,7 +350,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00070">70</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00069">69</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
@@ -369,7 +369,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00071">71</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00070">70</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -53,7 +53,7 @@
struct ggl::strategy::envelope::shift::shifted< D ></h3>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00030">30</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00029">29</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01degree_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -58,7 +58,7 @@
struct ggl::strategy::envelope::shift::shifted< degree ></h3>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00040">40</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00039">39</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="6dc89bfc493d2a8abca5e257729089c3"></a><!-- doxytag: member="ggl::strategy::envelope::shift::shifted< degree >::shift" ref="6dc89bfc493d2a8abca5e257729089c3" args="()" -->
<div class="memitem">
@@ -77,7 +77,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00042">42</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00041">41</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1envelope_1_1shift_1_1shifted_3_01radian_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -58,7 +58,7 @@
struct ggl::strategy::envelope::shift::shifted< radian ></h3>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00035">35</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00034">34</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="190d1b26ee176ef44202ae326af8d1b4"></a><!-- doxytag: member="ggl::strategy::envelope::shift::shifted< radian >::shift" ref="190d1b26ee176ef44202ae326af8d1b4" args="()" -->
<div class="memitem">
@@ -77,7 +77,7 @@
<p>
-<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00037">37</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
+<p>Definition at line <a class="el" href="sph__envelope_8hpp_source.html#l00036">36</a> of file <a class="el" href="sph__envelope_8hpp_source.html">sph_envelope.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1inverse__transformer.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -79,7 +79,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="inverse__transformer_8hpp_source.html#l00028">28</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="inverse__transformer_8hpp_source.html#l00033">33</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="a5b03bab846c70cc412672c5b8a15a33"></a><!-- doxytag: member="ggl::strategy::transform::inverse_transformer::T" ref="a5b03bab846c70cc412672c5b8a15a33" args="" -->
<div class="memitem">
@@ -96,7 +96,7 @@
<p>
-<p>Definition at line <a class="el" href="inverse__transformer_8hpp_source.html#l00031">31</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="inverse__transformer_8hpp_source.html#l00036">36</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
</div>
</div><p>
@@ -123,7 +123,7 @@
<p>
-<p>Definition at line <a class="el" href="inverse__transformer_8hpp_source.html#l00034">34</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
+<p>Definition at line <a class="el" href="inverse__transformer_8hpp_source.html#l00039">39</a> of file <a class="el" href="inverse__transformer_8hpp_source.html">inverse_transformer.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1rotate__transformer.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -76,7 +76,7 @@
<dl class="see" compact><dt><b>See also:</b></dt><dd>http://www.devmaster.net/wiki/Transformation_matrices </dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The 3D version will not compile </dd></dl>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00341">341</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00346">346</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="a38f61b33b815f836459fa1cb7ba1011"></a><!-- doxytag: member="ggl::strategy::transform::rotate_transformer::rotate_transformer" ref="a38f61b33b815f836459fa1cb7ba1011" args="(double const &angle)" -->
<div class="memitem">
@@ -98,7 +98,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00343">343</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00348">348</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -70,7 +70,7 @@
</table>
</dl>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00245">245</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00250">250</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -64,7 +64,7 @@
struct ggl::strategy::transform::scale_transformer< P1, P2, 2, 2 ></h3>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00249">249</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00254">254</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="b6de86a8e58ced2952f1fa8674ddba9b"></a><!-- doxytag: member="ggl::strategy::transform::scale_transformer< P1, P2, 2, 2 >::coordinate_type" ref="b6de86a8e58ced2952f1fa8674ddba9b" args="" -->
<div class="memitem">
@@ -83,7 +83,7 @@
<p>Reimplemented from <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00251">251</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00256">256</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -123,7 +123,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00253">253</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00258">258</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1scale__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -64,7 +64,7 @@
struct ggl::strategy::transform::scale_transformer< P1, P2, 3, 3 ></h3>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00265">265</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00270">270</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="9e9ba88969a37c5754ca1c3e78cbc369"></a><!-- doxytag: member="ggl::strategy::transform::scale_transformer< P1, P2, 3, 3 >::coordinate_type" ref="9e9ba88969a37c5754ca1c3e78cbc369" args="" -->
<div class="memitem">
@@ -83,7 +83,7 @@
<p>Reimplemented from <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00267">267</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00272">272</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -123,7 +123,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00269">269</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00274">274</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -73,7 +73,7 @@
<p>
<a class="el" href="06__transformation__example_8cpp-example.html#_a1">06_transformation_example.cpp</a>.</dl>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00190">190</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00195">195</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
<hr size="1">
<table width="100%">
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_012_00_012_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -64,7 +64,7 @@
struct ggl::strategy::transform::translate_transformer< P1, P2, 2, 2 ></h3>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00194">194</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00199">199</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="89d70caf72012acdb7186ac75f3efa36"></a><!-- doxytag: member="ggl::strategy::transform::translate_transformer< P1, P2, 2, 2 >::coordinate_type" ref="89d70caf72012acdb7186ac75f3efa36" args="" -->
<div class="memitem">
@@ -83,7 +83,7 @@
<p>Reimplemented from <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00197">197</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00202">202</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -123,7 +123,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00201">201</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00206">206</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1translate__transformer_3_01_p1_00_01_p2_00_013_00_013_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -64,7 +64,7 @@
struct ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 ></h3>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00213">213</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00218">218</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="0c99fdac62697111b767ecf7c60a5b28"></a><!-- doxytag: member="ggl::strategy::transform::translate_transformer< P1, P2, 3, 3 >::coordinate_type" ref="0c99fdac62697111b767ecf7c60a5b28" args="" -->
<div class="memitem">
@@ -83,7 +83,7 @@
<p>Reimplemented from <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00215">215</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00220">220</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -123,7 +123,7 @@
<p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00217">217</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00222">222</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy_1_1transform_1_1ublas__transformer_3_01_p1_00_01_p2_00_013_00_012_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -68,7 +68,7 @@
struct ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 ></h3>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00098">98</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00103">103</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="d6b0c10cc71f3cd2d4dad47f5c94a9f2"></a><!-- doxytag: member="ggl::strategy::transform::ublas_transformer< P1, P2, 3, 2 >::coordinate_type" ref="d6b0c10cc71f3cd2d4dad47f5c94a9f2" args="" -->
<div class="memitem">
@@ -87,7 +87,7 @@
<p>Reimplemented from <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00101">101</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00106">106</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -108,7 +108,7 @@
<p>Reimplemented from <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00102">102</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00107">107</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -186,7 +186,7 @@
<p>Reimplemented from <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00104">104</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00109">109</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
@@ -211,7 +211,7 @@
<p>Reimplemented from <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>.</p>
-<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00114">114</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
+<p>Definition at line <a class="el" href="matrix__transformers_8hpp_source.html#l00119">119</a> of file <a class="el" href="matrix__transformers_8hpp_source.html">matrix_transformers.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1strategy__tag_3_01strategy_1_1distance_1_1pythagoras_3_01_p1_00_01_p2_01_4_01_4.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -59,7 +59,7 @@
struct ggl::strategy_tag< strategy::distance::pythagoras< P1, P2 > ></h3>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00230">230</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00232">232</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="c2105145e587929fce337ec44821b5a8"></a><!-- doxytag: member="ggl::strategy_tag< strategy::distance::pythagoras< P1, P2 > >::type" ref="c2105145e587929fce337ec44821b5a8" args="" -->
<div class="memitem">
@@ -76,7 +76,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00232">232</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00234">234</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/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 (original)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/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 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -59,7 +59,7 @@
struct ggl::strategy_tag< strategy::distance::xy_point_segment< Point, Segment, PPStrategy > ></h3>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00236">236</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00238">238</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="c06ed387f720d8a642e343b6d9b7f78c"></a><!-- doxytag: member="ggl::strategy_tag< strategy::distance::xy_point_segment< Point, Segment, PPStrategy > >::type" ref="c06ed387f720d8a642e343b6d9b7f78c" args="" -->
<div class="memitem">
@@ -76,7 +76,7 @@
<p>
-<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00238">238</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
+<p>Definition at line <a class="el" href="cart__distance_8hpp_source.html#l00240">240</a> of file <a class="el" href="cart__distance_8hpp_source.html">cart_distance.hpp</a>.</p>
</div>
</div><p>
==============================================================================
--- (empty file)
+++ sandbox/ggl/formal_review_request/libs/ggl/doc/doxygen_output/html/structggl_1_1traits_1_1point__order-members.html 2009-10-21 05:23:22 EDT (Wed, 21 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::traits::point_order< G > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order< G ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a></td><td><a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order< G ></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_1traits_1_1point__order.html 2009-10-21 05:23:22 EDT (Wed, 21 Oct 2009)
@@ -0,0 +1,123 @@
+<!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_1point__order.html">point_order</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::traits::point_order< G > Struct Template Reference<br>
+<small>
+[<a class="el" href="group__traits.html">traits: adapt geometries</a>]</small>
+</h1><!-- doxytag: class="ggl::traits::point_order" -->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.
+More...
+<p>
+
+<p>
+List of all members.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = clockwise</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename G><br>
+ struct ggl::traits::point_order< G ></h3>
+
+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.
+<p>
+<dl class="user" compact><dt><b>Geometries:</b></dt><dd><ul>
+<li>ring</li><li><a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a></li><li>multi <a class="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a> </li></ul>
+</dd></dl>
+<dl class="user" compact><dt><b>Specializations should provide:</b></dt><dd><ul>
+<li>typedef P type (where P should fulfil the Point <a class="el" href="namespaceggl_1_1concept.html">concept</a>) </li></ul>
+</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>G</em> </td><td>geometry </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00039">39</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.hpp</a>.</p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="e9e3962e6119b95889eaa2b810395037"></a><!-- doxytag: member="ggl::traits::point_order::value" ref="e9e3962e6119b95889eaa2b810395037" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename G > </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="namespaceggl.html#9a0f9a02ea40ca3ceab32afc4b08bf4d">order_selector</a> <a class="el" href="structggl_1_1traits_1_1point__order.html">ggl::traits::point_order</a>< G >::<a class="el" href="structggl_1_1traits_1_1point__order.html#e9e3962e6119b95889eaa2b810395037">value</a> = clockwise<code> [static]</code> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="point__order_8hpp_source.html#l00041">41</a> of file <a class="el" href="point__order_8hpp_source.html">point_order.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_1vertex__iterator-members.html 2009-10-21 05:23:22 EDT (Wed, 21 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::vertex_iterator< Geometry, IsConst > Member List</h1>This is the complete list of members for <a class="el" href="structggl_1_1vertex__iterator.html">ggl::vertex_iterator< Geometry, IsConst ></a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a> typedef</td><td><a class="el" href="structggl_1_1vertex__iterator.html">ggl::vertex_iterator< Geometry, IsConst ></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_1vertex__iterator.html 2009-10-21 05:23:22 EDT (Wed, 21 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_1vertex__iterator.html">vertex_iterator</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ggl::vertex_iterator< Geometry, IsConst > Struct Template Reference</h1><!-- doxytag: class="ggl::vertex_iterator" -->Meta-function which defines <a class="el" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator</a> 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 <br class="typebreak">
+dispatch::vertex_iterator<br class="typebreak">
+< typename <a class="el" href="structggl_1_1tag.html">tag</a>< Geometry ><br class="typebreak">
+::<a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a>, typename <br class="typebreak">
+boost::remove_const< Geometry ><br class="typebreak">
+::<a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a>, IsConst >::<a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h3>template<typename Geometry, bool IsConst><br>
+ struct ggl::vertex_iterator< Geometry, IsConst ></h3>
+
+Meta-function which defines <a class="el" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator</a> type.
+<p>
+The <a class="el" href="structggl_1_1vertex__iterator.html" title="Meta-function which defines vertex_iterator type.">vertex_iterator</a> meta-function enables approaching any geometry with the same type of iterator. It is used within the library in conjuction with <a class="el" href="structggl_1_1sections.html" title="Structure containing a collection of sections.">sections</a>. A <a class="el" href="structggl_1_1section.html" title="Structure containing section information.">section</a> defines a part of a geometry (<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="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>: outer ring or inner ring). The library, at that <a class="el" href="classggl_1_1point.html" title="Basic point class, having coordinates defined in a neutral way.">point</a>, does not need to know if it is a <a class
="el" href="classggl_1_1polygon.html" title="The polygon contains an outer ring and zero or more inner rings.">polygon</a>, multi-polygon or ring. Using this meta-function it still does not need to know that. <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>Geometry</em> </td><td>the geometry type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>is_const,:</em> </td><td>true if const iterator is defined, else false </td></tr>
+ </table>
+</dl>
+
+<p>Definition at line <a class="el" href="iterators_2vertex__iterator_8hpp_source.html#l00097">97</a> of file <a class="el" href="iterators_2vertex__iterator_8hpp_source.html">vertex_iterator.hpp</a>.</p>
+<hr><h2>Member Typedef Documentation</h2>
+<a class="anchor" name="5972cd0c976afccdc5a0a5400b998bdf"></a><!-- doxytag: member="ggl::vertex_iterator::type" ref="5972cd0c976afccdc5a0a5400b998bdf" args="" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Geometry, bool IsConst> </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef dispatch::vertex_iterator< typename <a class="el" href="structggl_1_1tag.html">tag</a><Geometry>::<a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a>, typename boost::remove_const<Geometry>::<a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a>, IsConst >::<a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a> <a class="el" href="structggl_1_1vertex__iterator.html">ggl::vertex_iterator</a>< Geometry, IsConst >::<a class="el" href="structggl_1_1vertex__iterator.html#5972cd0c976afccdc5a0a5400b998bdf">type</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="iterators_2vertex__iterator_8hpp_source.html#l00104">104</a> of file <a class="el" href="iterators_2vertex__iterator_8hpp_source.html">vertex_iterator.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>